lädt

Smake

API

für Druck (DTG) & Fulfillment

Drucken und Versenden von Produkten mit einem einfachen API-Aufruf

  • Bestelle aus unserem gesamten Produktkatalog - Preise direkt vom Produzenten.
  • Kein Zwischenhandel.
  • Wettbewerbsfähige Großhandelspreise ab 1 Stück.
  • Einfacher und kostengünstiger Prozess über unsere API - Vollständig integriert.
  • Nach der Integration kannst du direkt loslegen und von allen Funktionen wie White-Lable-Versand, Auftrags- und Versandkontrolle profitieren.

Erste Schritte für Entwickler

Von der Erstellung von Produkten über die Verfolgung von Aufträgen bis hin zur Produktion - wir haben für dich alles im Griff.

Bilder hochladen

Produkt-Vorschau hochladen

Lade das Vorschaubild deines fertigen Produktes hoch. Dieses dient zur Positionierung der Motive auf deinem Produkt.

Motive hochladen

Lade alle Druckdateien als PNG / JPG hoch.

Dokumentation - Bilder hochladen

Für den Entwickler

Lade die Bilddaten direkt als Binärdatei hoch. Im Response erhält du direkt das Media-Objekt mit den benötigten IDs und weiteren Informationen zurück.

Beispiel Request

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

raw content
                            
Beispiel Response

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

Produkt designen

Produkt heraussuchen

Um dein Produkt zu designen, benötigst du als erstes eine Produkt-Variante. Diese kannst du dir über den Produkt-Pool heraussuchen.

Dokumentation - Produkt heraussuchen
Produkt gestalten

Füge nun der gewünschten Produkt-Ansicht, die Media-ID der Produktvorschau und die Media-IDs der gewünschten Motive hinzu.

Dokumentation - Produkt gestalten

Für den Entwickler

Die ID der designten Produkt-Variante wird im nächsten Schritt für die Bestellung benötigt.

Beispiel Request

POST /variants/1/design
                            

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

    }
}
                            
Beispiel Response

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

Bestellung erstellen

Produkte

Füge die IDs der designten Produkt-Variante mit der gewünschten Menge hinzu.

Dokumentation - Produkte
Versand-Adresse

Füge die Versand-Adresse hinzu. Diese wird - sofern nicht anders angegeben - auch als Rechnungsadresse verwendet.

Dokumentation - Bestellung erstellen

Für den Entwickler

Die Attribute der Versand-Adresse müssen vollständig ausgefüllt sein. Diese werden unteranderem für die Ermittlung der Versandkosten benötigt.

Beispiel Request

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"
    }
}
                            
Beispiel Response

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

Versandkosten ermitteln

Die Versandkosten werden anhand von Größe, Gewicht und Lieferadresse bei den hinterlegten Versand-Dienstleistern ermittelt.

Dokumentation - Versandkosten ermitteln

Für den Entwickler

Das "handle" der Liefermethode wird im nächsten Schritt der Bestellung benötigt.

Beispiel Request

GET /checkouts/1/shipping-rates
                            
Beispiel Response

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

Liefermethode setzen

Setze die gewünschte Liefermethode anhand der zuvor ermittelten Liefermöglichkeiten.

Dokumentation - Liefermethode setzen

Für den Entwickler

Aktualisiere das Attribut "shipping.handle" mit dem gewünschten "handle" aus dem letzten Schritt.

Beispiel Request

PUT /checkouts/1
                            

{
    "shipping": {
        "handle": "pickup"
    }
}
                            
Beispiel Response

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

Bestellung abschließen

Zahlungsmethode

Aktuell steht als Zahlungsmethode nur Rechnung zur Verfügung.

Dokumentation - Bestellung abschließen

Für den Entwickler

Aktualisiere das Attribut "payment.handle" mit "invoice". Der Gesamtbetrag wird aus den Produktpreisen und dem Preis für die Lieferung ermittelt.

Beispiel Request

POST /checkouts/1/complete
                            

{
    "payment": {
      "handle": "invoice",
      "amount": 150.0
    }
}
                            
Beispiel Response

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