Impression et expédition de produits sur un simple appel d'API
- Commandez sur l'ensemble de notre catalogue de produits - prix directement négociés avec le fabricant.
- Aucun intermédiaire.
- Prix de gros compétitifs dès la première pièce.
- Processus simple et rentable via notre API entièrement intégrée.
- Après l'intégration, vous pouvez commencer tout de suite et bénéficier de toutes les fonctionnalités telles que l'expédition White Label, le contrôle des commandes et des expéditions.
Premiers pas pour les développeurs
Télécharger les photos
Télécharger un aperçu de produit
Téléchargez l'aperçu de votre produit fini. Cette opération permet de positionner les motifs sur votre produit.
Télécharger des motifs
Téléchargez tous les fichiers d'impression au format PNG / JPG.
Documentation - Télécharger les photosPour les développeurs
Téléchargez les données d'image directement sous forme de fichier binaire. Dans la réponse, vous obtenez directement l'objet média avec les ID requis et d'autres informations.
Exemple de demande
POST /media
Content-Type: image/jpeg
Content-Length: 42840
raw content
Exemple de réponse
{
"id": 1,
"is_test": true,
"file_name": "39b8196929f742e7bccab01a643b6524.jpeg",
"size": 42840,
"mime_type": "image/jpeg",
"download_url": "https://api.smake.io/v2/media/1/download",
"created_at": "2017-09-28T08:40:44+00:00",
"updated_at": "2017-09-28T08:40:44+00:00"
}
Concevoir un produit
Choisir un produit
Pour concevoir votre produit, vous devez d'abord avoir un modèle de produit. Vous pouvez le choisir dans le pool de produits.
Documentation - Choisir un produitCréer un produit
Ajoutez désormais la vue de produit souhaitée, l'ID de média de l'aperçu du produit et les ID de média des motifs souhaités.
Documentation - Créer un produitPour les développeurs
L'ID du modèle de produit conçu est nécessaire à l'étape suivante de la commande.
Exemple de demande
POST /variants/1/design
{
"views": {
"front": {
"composite_media_id": 1,
"customizations": [
{
"type": "dtg",
"production_media_id": 2,
"dimension": {
"width": 100.55,
"height": 200.66
}
},
...
]
}
}
}
Exemple de réponse
{
"id": 2,
"is_test": true,
"total": 259.98,
"price": 218.47,
"tax": 41.51,
"tax_rate": 19,
"code": null,
"attributes": [
{
"name": "color",
"value": "LightYellow"
},
{
"name": "size",
"value": "XL"
}
],
"media_id": 1094,
"views": {
...
"front": {
"composite_media_id": 1,
"customizations": [
{
"type": "dtg",
"production_media_id": 2,
"preview_media_id": 3,
"dimension": {
"width": 100.55,
"height": 200.66
}
},
]
},
...
},
"created_at": "2017-09-28T14:48:05+00:00",
"updated_at": "2017-09-28T14:48:05+00:00"
}
Créer une commande
Produits
Ajoutez les ID du modèle de produit conçu avec la quantité souhaitée.
Documentation - ProduitsAdresse d'expédition
Ajoutez l'adresse d'expédition. Celle-ci est - sauf indication contraire - également utilisée comme adresse de facturation.
Documentation - Créer une commandePour les développeurs
Les attributs de l'adresse d'expédition doivent être renseignés au complet. Ceux-ci sont nécessaires, entre autres, pour déterminer les frais d'expédition.
Exemple de demande
POST /checkouts
{
"email": "customer@example.com",
"items": [
{
"variant_id": 1,
"quantity": 1
}
],
"shipping_address": {
"first_name": "John",
"last_name": "Doe",
"street1": "123 Main St",
"zip": "12345",
"city": "Anytown",
"country_code": "DE",
"province_code": "NW",
"phone": "12345 67890",
"email": "shipping@example.com"
}
}
Exemple de réponse
{
"id": 1,
"is_test": true,
"external_identifier": null,
"project_name": null,
"state": "incompleted",
"customer_locale": "en",
"currency": "EUR",
"total": 123.75,
"subtotal": 103.99,
"total_tax": 19.76,
"total_items_price": 123.75,
"shipping_line": [],
"created_at": "2017-09-29T09:14:11+00:00",
"updated_at": "2017-09-29T09:14:11+00:00",
"cancelled_at": null,
"items": [
{
"id": 75,
"quantity": 1,
"total": 123.75,
"price": 103.99,
"total_tax": 19.76,
"tax_rate": 19,
"variant": {
"id": 2,
...
},
"created_at": "2017-09-29T09:14:11+00:00",
"updated_at": "2017-09-29T09:14:11+00:00",
"cancelled_at": null
}
],
"customer": {
"id": 98,
...
},
"shipping_address": {
"id": 190,
...
},
"billing_address": {
"id": 191,
...
},
"whitelabel_address": null,
"transactions": [],
"fulfillments": [],
"id_tags": []
}
Déterminer les frais d'expédition
Les frais d'expédition sont déterminés en fonction de la taille, du poids et de l'adresse de livraison auprès des prestataires de services d'expédition mandatés.
Documentation - Déterminer les frais d'expéditionPour les développeurs
L'attribut « handle » du mode de livraison est nécessaire à l'étape suivante de la commande.
Exemple de demande
GET /checkouts/1/shipping-rates
Exemple de réponse
{
"data": [
{
"is_test": true,
"handle": "pickup",
"title": "Abholung",
"price": 22
}
],
...
}
Définir un mode de livraison
Définissez le mode de livraison souhaité en fonction des options de livraison déterminées précédemment.
Documentation - Définir un mode de livraisonPour les développeurs
Mettez à jour l'attribut « shipping.handle » avec l'attribut « handle » souhaité à partir de la dernière étape.
Exemple de demande
PUT /checkouts/1
{
"shipping": {
"handle": "pickup"
}
}
Exemple de réponse
{
...
"shipping_line": {
"title": "Pickup",
"price": 22.06,
"total": 26.25,
"tax": 4.19
},
...
}
Clôturer la commande
Mode de paiement
Actuellement, le seul mode de paiement disponible est le paiement sur facture.
Documentation - Clôturer la commandePour les développeurs
Mettez à jour l'attribut « payment.handle » avec l'attribut « invoice ». Le montant total est déterminé à partir des prix des produits et du prix de la livraison.
Exemple de demande
POST /checkouts/1/complete
{
"payment": {
"handle": "invoice",
"amount": 150.0
}
}
Exemple de réponse
{
"id": 1,
"is_test": true,
"external_identifier": null,
"project_name": "et",
"state": "delivered",
"customer_locale": "en",
"currency": "EUR",
"total": 87.76,
"subtotal": 86.63,
"total_tax": 1.13,
"total_items_price": 82.98,
"shipping_line": {
"title": "Pickup",
"price": 4.47,
"total": 4.78,
"tax": 0.31
},
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:11:03+00:00",
"cancelled_at": null,
"items": [
{
"id": 1,
"quantity": 4,
"total": 82.98,
"price": 20.54,
"total_tax": 0.82,
"tax_rate": 1,
"variant": {
"id": 27,
...
},
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:10:59+00:00",
"cancelled_at": null
}
],
"customer": {
"id": 40,
...
},
"shipping_address": {
"id": 45,
...
},
"billing_address": {
"id": 44,
...
},
"whitelabel_address": null,
"transactions": [
...
],
"fulfillments": [
...
],
"id_tags": [
...
]
}