Cargando

Smake

API

para impresión (DTG) y cumplimiento

Impresión y envío de productos con una simple llamada a la API

  • Pedido de todo nuestro catálogo de productos: precios directamente desde el fabricante.
  • Sin intermediarios.
  • Precios al por mayor competitivos a partir de una unidad.
  • Proceso simple y económico a través de nuestra API: totalmente integrado.
  • Tras la integración podrás empezar de inmediato y disfrutar de todas las funciones, como el envío de etiqueta blanca y el control de encargos y envíos.

Primeros pasos para desarrolladores

Desde la creación de productos, pasando por el seguimiento de encargos, hasta la producción: lo tenemos todo bajo control para ti.

Subir imágenes

Subir vista previa del producto

Sube la imagen de vista previa de tu producto terminado. Esto sirve para posicionar los motivos en tu producto.

Subir motivos

Subir todos los archivos de impresión como [PNG / JPG.

Documentación - Subir imágenes

Para el desarrollador

Sube los datos de la imagen directamente como un archivo binario. En la respuesta recibirás directamente el objeto de medios con los ID necesarios y más información.

Ejemplo de solicitud

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

raw content
                            
Ejemplo de respuesta

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

Diseñar producto

Seleccionar producto

Para diseñar tu producto, primero necesitas una variante de producto. Puedes seleccionarla a través de la bolsa de productos.

Documentación - Seleccionar producto
Diseñar producto

Añade ahora la vista del producto deseada, el ID de medio de la vista previa del producto y los ID de medio de los motivos deseados.

Documentación - Diseñar producto

Para el desarrollador

El ID de la variante de producto diseñada será necesario en el siguiente paso del pedido.

Ejemplo de solicitud

POST /variants/1/design
                            

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

    }
}
                            
Ejemplo de respuesta

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

Crear pedido

Productos

Añade los ID de las variantes de producto diseñadas con la cantidad deseada.

Documentación - Productos
Dirección de envío

Añade la dirección de envío. Esta también se utilizará como dirección de facturación (a menos que se indique lo contrario).

Documentación - Crear pedido

Para el desarrollador

Los atributos de la dirección de envío deben rellenarse completamente. Estos son necesarios, entre otros, para calcular los gastos de envío.

Ejemplo de solicitud

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"
    }
}
                            
Ejemplo de respuesta

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

Calcular los gastos de envío

Los gastos de envío se calculan en base al tamaño, peso y dirección de entrega a los proveedores de servicios de envío guardados.

Documentación - Calcular los gastos de envío

Para el desarrollador

El «handle» del método de la entrega será necesario en el siguiente paso del pedido.

Ejemplo de solicitud

GET /checkouts/1/shipping-rates
                            
Ejemplo de respuesta

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

Fijar método de entrega

Fija el método de entrega deseado en función de las opciones de entrega determinadas previamente.

Documentación - Fijar método de entrega

Para el desarrollador

Actualiza el atributo «shipping.handle» con el «handle» deseado a partir del último paso.

Ejemplo de solicitud

PUT /checkouts/1
                            

{
    "shipping": {
        "handle": "pickup"
    }
}
                            
Ejemplo de respuesta

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

Finalizar pedido

Método de pago

Actualmente solo está disponible la factura como método de pago.

Documentación - Finalizar pedido

Para el desarrollador

Actualiza el atributo «payment.handle» con «invoice». El importe total se calcula a partir de los precios de los productos y del precio de la entrega.

Ejemplo de solicitud

POST /checkouts/1/complete
                            

{
    "payment": {
      "handle": "invoice",
      "amount": 150.0
    }
}
                            
Ejemplo de respuesta

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