Wczytywanie

Smake

API

druk (DTG) i realizacja

Drukowanie i wysyłanie produktów przez zwykłe uruchomienie API

  • Zamów z naszego katalogu produktów – ceny bezpośrednio od producenta.
  • Bez pośrednictwa.
  • Konkurencyjne ceny hurtowe od 1 sztuki.
  • Prosty i korzystny cenowo proces z użyciem API – pełna integracja.
  • Bezpośrednio po zakończeniu integracji można rozpoczynać i czerpać korzysci ze wszystkich funkcji, takich jak wysyłka białych etykiet, kontrola zlecenia i wysyłki.

Pierwsze kroki dla programisty

Od zaprojektowania produktu przez śledzenie zlecenia aż po produkcję – zapewniamy kompleksowe rozwiązania.

Wczytaj zdjęcia

Wczytaj podgląd produktu

Wczytywanie zdjęcia podglądu gotowego produktu. Służy to pozycjonowaniu moywów na Twoim produkcie.

Wczytaj motywy

Wczytywanie wszystkich plików do druku jako PNG / JPG.

Dokumentacja - Wczytaj zdjęcia

Dla programisty

Wczytywanie danych obrazu bezpośrednio jako plik binarny. W odpowiedzi otrzymasz bezpośrednio produkt medialny z wymaganymi ID i dalszymi informacjami.

Przykład żądania

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

raw content
                            
Przykład odpowiedzi

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

Zaprojektuj produkt

Wyszukaj produkt

Aby zaprojektować produkt, w pierwszej kolejności potrzebujesz wariant produktu. Wyszukać możesz go z puli produktów.

Dokumentacja - Wyszukaj produkt
Stwórz produkt

Dodawanie żądanego widoku produktu, media-ID podglądu produktu i media ID żądanych motywów.

Dokumentacja - Stwórz produkt

Dla programisty

ID zaprojektowanego wariantu produktu będzie wymagane w kolejnym kroku w celu złożenia zamówienia.

Przykład żądania

POST /variants/1/design
                            

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

    }
}
                            
Przykład odpowiedzi

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

Utwórz zamówienie

Produkty

Dodawanie ID zaprojektowanego wariantu produktu w żądanej ilości.

Dokumentacja - Produkty
Adres do wysyłki

Dodawanie adresu do wysyłki. O ile nie podano inaczej, jest używany również jako adres rozliczeniowy.

Dokumentacja - Utwórz zamówienie

Dla programisty

Atrybuty adresu do wysyłki trzeba uzupełnić w całości. Są wymagane między innymi do określenia kosztów wysyłki.

Przykład żądania

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"
    }
}
                            
Przykład odpowiedzi

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

Określ koszty wysyłki

Koszty wysyłki określają zapisani przewoźnicy na podstawie rozmiaru, wagi i adresu wysyłki.

Dokumentacja - Określ koszty wysyłki

Dla programisty

Atrybut „handle” sposobu dostawy będzie wymagany w następnym kroku zamówienia.

Przykład żądania

GET /checkouts/1/shipping-rates
                            
Przykład odpowiedzi

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

Ustaw sposób dostawy

Ustawianie żądanego sposobu dostawy na podstawie określonych wcześniej możliwości dostawy.

Dokumentacja - Ustaw sposób dostawy

Dla programisty

Aktualizacja atrybutu „shipping.handle” żądanym atrybutem „handle” z poprzedniego kroku.

Przykład żądania

PUT /checkouts/1
                            

{
    "shipping": {
        "handle": "pickup"
    }
}
                            
Przykład odpowiedzi

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

Zakończ zamówienie

Sposób płatności

Aktualnie dostępnym sposobem płatności jest tylko przelew na rachunek.

Dokumentacja - Zakończ zamówienie

Dla programisty

Aktualizacja atrybutu „payment.handle” z „invoice”. Łączną kwotę do zapłaty okresla się na podstawie cen produktów i ceny wysyłki.

Przykład żądania

POST /checkouts/1/complete
                            

{
    "payment": {
      "handle": "invoice",
      "amount": 150.0
    }
}
                            
Przykład odpowiedzi

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