bezig met laden

Smake

API

voor printen (DTG) & verzending

Printen en verzenden van producten door middel van een eenvoudige API-oproep

  • Bestel uit onze complete productcatalogus, prijs direct van de producent
  • Geen tussenhandel
  • Concurrerende groothandelsprijzen vanaf 1 stuk.
  • Onze API's maken het proces eenvoudig en goedkoop, volledig geïntegreerd
  • Na de integratie kunt u direct beginnen en gebruik maken van al onze functies waaronder White-Lable-verzending en bestel- en verzendingscontrole.

Eerste stappen voor ontwikkelaars

Van het maken van producten via het volgen van bestellingen tot aan de productie hebben wij alles voor u onder controle.

Afbeeldingen uploaden

Productvoorbeeld uploaden

Upload de voorbeeldafbeelding van jouw product. Hiermee worden de patronen op jouw product gepositioneerd.

Patronen uploaden

Upload alle printbestanden als PNG / JPG.

Documentatie - Afbeeldingen uploaden

Voor de ontwikkelaar

Upload de afbeeldingsgegevens direct als binair bestand. Je ontvangt direct het meta-object met de noodzakelijke ID's en nadere informatie.

Voorbeeld verzoek

POST /media
Content-Type: image/jpeg
Content-Length: 42840
                            

raw content
                            
Voorbeeld reactie

{
    "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"
}
                            

Product ontwerpen

Product uitzoeken

Als eerste heb je een productvariant nodig om jouw product te ontwerpen. Je kunt er direct een uit de productverzameling halen.

Documentatie - Product uitzoeken
Het product vormgeven

Voeg nu de gewenste productweergave, het media-ID van het productvoorbeeld en de media-ID's van de gewenste patronen toe.

Documentatie - Het product vormgeven

Voor de ontwikkelaar

Het ID van de ontworpen productvariant is nodig voor de volgende stap van de bestelling.

Voorbeeld verzoek

POST /variants/1/design
                            

{
    "views": {
        "front": {
            "composite_media_id": 1,
            "customizations": [
                {
                    "type": "dtg",
                    "production_media_id": 2,
                    "dimension": {
                        "width": 100.55,
                        "height": 200.66
                    }
                },
                ...
            ]
        }

    }
}
                            
Voorbeeld reactie

{
    "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"
}
                            

Bestelling klaarmaken

Producten

Voeg de ID's van de ontworpen productvariant met de gewenste hoeveelheid toe.

Documentatie - Producten
Verzendadres

Voeg het verzendadres toe. Indien niet anders aangegeven, wordt dit ook als factuuradres gebruikt.

Documentatie - Bestelling klaarmaken

Voor de ontwikkelaar

Het verzendadres moet volledig ingevuld zijn. Dit is onder andere nodig voor het bepalen van de verzendkosten.

Voorbeeld verzoek

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"
    }
}
                            
Voorbeeld reactie

{
    "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": []
}
                            

Verzendkosten bepalen.

De verzendkosten worden op basis van grootte, gewicht en leveradres bij de aangegeven verzendbedrijven bepaald.

Documentatie - Verzendkosten bepalen.

Voor de ontwikkelaar

De "handle" van de leveringsmethode is nodig bij de volgende stap.

Voorbeeld verzoek

GET /checkouts/1/shipping-rates
                            
Voorbeeld reactie

{
    "data": [
        {
            "is_test": true,
            "handle": "pickup",
            "title": "Abholung",
            "price": 22
        }
    ],
    ...
}
                            

Leveringsmethode bepalen

Bepaal de gewenste leveringsmethode op basis van de eerder vastgestelde leveringsmogelijkheden.

Documentatie - Leveringsmethode bepalen

Voor de ontwikkelaar

Werk het attribuut "shipping handle" bij met de gewenste "handle" uit de laatste stap.

Voorbeeld verzoek

PUT /checkouts/1
                            

{
    "shipping": {
        "handle": "pickup"
    }
}
                            
Voorbeeld reactie

{
    ...
    "shipping_line": {
        "title": "Pickup",
        "price": 22.06,
        "total": 26.25,
        "tax": 4.19
    },
    ...
}
                            

Bestelling afsluiten

Betalingsmethode

Momenteel is alleen de optie facturering mogelijk.

Documentatie - Bestelling afsluiten

Voor de ontwikkelaar

Werk het attribuut "payment.handle" met "invoice" bij. Het totale bedrag wordt vastgesteld op basis van de productprijzen en en de leveringsprijs.

Voorbeeld verzoek

POST /checkouts/1/complete
                            

{
    "payment": {
      "handle": "invoice",
      "amount": 150.0
    }
}
                            
Voorbeeld reactie

{
    "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": [
        ...
    ]
}