This is the documentation for 2022-02-01.
Orders
An order is created when the checkout process is complete.
See: Expanding Objects
#List
Returns a collection of created orders.
#Filtering
You can filter your results as follows:
#List orders for specified id(s)
-
/orders?filter[id]=1
-
/orders?filter[id]=1,2,3
#List orders for specified state
-
/orders?filter[state]=cancelled
-
/orders?filter[state]=completed
#List orders for specified external identifier
-
/orders?filter[external_identifier]=organic
#List orders for specified external reference
-
/orders?filter[external_reference]=143000
#List orders with an ID greater than the specified ID
-
/orders?filter[since_id]=1
-
/orders?filter[since_id]=2
#List orders for a given date, only resources created after the provided date will be returned
-
/orders?filter[created_at_min]=2017-09-27
#List orders for a given date, only resources created before the provided date will be returned
-
/orders?filter[created_at_max]=2017-11-15
#List orders for a given date, only resources updated after the provided date will be returned
-
/orders?filter[updated_at_min]=2017-09-27
#List orders for a given date, only resources updated before the provided date will be returned
-
/orders?filter[updated_at_max]=2017-09-27
See: Pagination, Filtering
#Expanding objects
#Expand order type
You can show order type details here.
-
/orders?expand=order_type
#Expand ID Tags for order item
You can show ID Tag details for order items here.
-
/orders?expand=items.id_tags
#Expand the variant details for order items
You can show the content of the variant for an order item.
-
/orders?expand=items.variant
#Expand variants customization resource
You can show the content customizations' resource of a variant for an order item.
-
/orders?expand=items.variant.views.customizations.resource
#Expand disposition order resource
You can show the content disposition order resource for an order.
-
/orders?expand=disposition_order
#Expand production orders resource
You can show the content production orders resource of the disposition order for an order.
-
/orders?expand=disposition_order.production_orders
#Expand production resource
You can show the content production resource for all production order for the disposition order for an order.
-
/orders?expand=disposition_order.production_orders.production
#Example
Request
GET /orders HTTP/1.1
Response
{
"data": [
{
"id": 1,
"order_type": 1,
"is_test": true,
"external_identifier": null,
"external_reference": "et",
"cost_centre": "lorem 12345",
"state": "completed",
"failure_message": null,
"customer_locale": "en",
"currency": "EUR",
"total": 57.20,
"subtotal": 52.00,
"total_tax": 5.20,
"total_items_price": 52.80,
"shipping_total": 4.40,
"discount_total": 0,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:11:03+00:00",
"ordered_at": "2017-09-27T10:11:03+00:00",
"cancelled_at": null,
"items": [
{
"id": 1,
"is_test": true,
"quantity": 4,
"total": 52.80,
"price": 12.00,
"total_tax": 4.80,
"tax_rate": 10,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:11:03+00:00",
"cancelled_at": null,
"variant": 27,
"id_tags": [
1
]
}
],
"disposition_order": 54,
"customer": {
"id": 40,
"is_test": true,
"email": "[email protected]",
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:11:03+00:00",
},
"shipping_address": {
"id": 45,
"is_test": true,
"company": "MyCompany",
"first_name": "John",
"last_name": "John",
"city": "Anytown",
"street1": "123 Main St",
"street2": null,
"zip": "12345",
"phone": "12345 67890",
"email": "[email protected]",
"province_code": "NW",
"country_code": "DE",
"vat_in": null,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:10:59+00:00"
},
"billing_address": {
"id": 44,
"is_test": true,
"company": "MyCompany",
"first_name": "John",
"last_name": "Doe",
"city": "Anytown",
"street1": "123 Main St",
"street2": null,
"zip": "12345",
"phone": "12345 67890",
"email": "[email protected]",
"province_code": "NW",
"country_code": "DE",
"vat_in": null,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:10:59+00:00"
},
"whitelabel_address": null,
"payments": [
{
"payment_method": {
"id": 1,
"name": "Rechnung",
"handle": "invoice",
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:10:59+00:00"
}
}
],
"shipments": [
{
"id": 1,
"is_test": true,
"shipping_method": {
"is_test": true,
"order_id": 1,
"handle": "pickup",
"title": "Pickup",
"price": 0
},
"tracking_number": "2229446017085",
"media": [],
"order": 1,
"created_at": "2021-02-24T11:04:46+01:00",
"updated_at": "2021-02-25T11:35:50+01:00"
}
],
},
{
"id": 2,
"order_type": 1,
"is_test": true,
"external_identifier": null,
"external_reference": "dicta",
"coste_centre": "ipsum 8765",
"state": "prepared",
"failure_message": null,
"customer_locale": "en",
"currency": "EUR",
"total": 28.60,
"subtotal": 26.00,
"total_tax": 2.60,
"total_items_price": 22.00,
"shipping_total": 6.60,
"discount_total": 0,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:11:03+00:00",
"ordered_at": "2017-09-27T10:11:03+00:00",
"cancelled_at": null,
"items": [
{
"id": 1,
"is_test": true,
"quantity": 4,
"total": 22.00,
"price": 20.00,
"total_tax": 2.00,
"tax_rate": 10,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:11:03+00:00",
"cancelled_at": null,
"variant": 53,
"id_tags": [
2
]
}
],
"disposition_order": 54,
"customer": {
"id": 40,
"is_test": true,
"email": "[email protected]",
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:11:03+00:00",
},
"shipping_address": {
"id": 47,
"is_test": true,
"company": "MyComapny",
"first_name": "John",
"last_name": "Doe",
"city": "Anytown",
"street1": "123 Main St",
"street2": null,
"zip": "12345",
"phone": "12345 67890",
"email": "[email protected]",
"province_code": "BW",
"country_code": "DE",
"vat_in": null,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:10:59+00:00"
},
"billing_address": {
"id": 46,
"is_test": true,
"company": "MyCompany",
"first_name": "John",
"last_name": "Doe",
"city": "Anytown",
"street1": "123 Main St",
"street2": null,
"zip": "12345",
"phone": "12345 67890",
"email": "[email protected]",
"province_code": "BY",
"country_code": "DE",
"vat_in": null,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:10:59+00:00"
},
"whitelabel_address": null,
"payments": [
{
"payment_method": {
"id": 1,
"name": "Rechnung",
"handle": "invoice",
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:10:59+00:00"
}
}
],
"shipments": [
{
"id": 1,
"is_test": true,
"shipping_method": {
"is_test": true,
"order_id": 2,
"handle": "pickup",
"title": "Pickup",
"price": 0
},
"tracking_number": "2229446017086",
"media": [],
"order": 2,
"created_at": "2021-02-24T11:04:46+01:00",
"updated_at": "2021-02-25T11:35:50+01:00"
}
],
},
...
],
"links": {
"first": "https://api.smake.io/v2/orders?page=1",
"last": null,
"prev": null,
"next": "https://api.smake.io/v2/orders?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://api.smake.io/v2/orders",
"per_page": 25,
"to": 25
}
}
#Example with expanded relationships
Request
GET /orders?expand=items.id_tags HTTP/1.1
Response
{
"data": [
{
"id": 1,
"order_type": 1,
"is_test": false,
"external_identifier": null,
"external_reference": null,
"cost_centre": null,
"state": "prepared",
"failure_message": null,
"customer_locale": "de",
"currency": "EUR",
"total": 544.61,
"subtotal": 493.72,
"total_tax": 6.04,
"total_items_price": 561.91,
"shipping_total": -17.3,
"discount_total": 0,
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:54+00:00",
"cancelled_at": null,
"ordered_at": "2022-04-28T14:34:08+00:00",
"items": [
{
"id": 1,
"is_test": 0,
"quantity": 1,
"total": 107.34,
"price": 100.32,
"total_tax": 7.02,
"tax_rate": 7,
"variant": 433,
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00",
"cancelled_at": null,
"id_tags": [
{
"id": 1,
"is_test": 0,
"order": 1,
"order_item": 1,
"state": "ordered",
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00"
}
]
}
],
"disposition_order": 54,
"customer": {
"id": 5,
"is_test": 0,
"email": "[email protected]",
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00"
},
"shipping_address": {
"id": 4,
"is_test": 0,
"company": "Wehner PLC",
"first_name": "Weldon",
"last_name": "Ryan",
"city": "Effertzview",
"street1": "31637 Edgar Ridge",
"street2": null,
"zip": "07528-3753",
"phone": "1-608-531-5941",
"email": "[email protected]",
"province_code": null,
"country_code": "DE",
"vat_in": null,
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00"
},
"billing_address": {
"id": 3,
"is_test": 0,
"company": "Haley-Reichel",
"first_name": "Kylie",
"last_name": "Murray",
"city": "New Holliefort",
"street1": "339 Merl Manors Apt. 224",
"street2": "4650 Xavier Views",
"zip": "79300",
"phone": null,
"email": null,
"province_code": null,
"country_code": "DE",
"vat_in": null,
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00"
},
"whitelabel_address": null,
"payments": [
{
"payment_method": {
"id": 1,
"name": "Invoice",
"handle": "invoice",
"created_at": "2022-04-28T14:31:05+00:00",
"updated_at": "2022-04-28T14:31:05+00:00"
}
}
],
"shipments": [
{
"id": 1,
"is_test": 0,
"shipping_method": {
"is_test": 0,
"order_id": 1,
"handle": "pickup",
"title": "ea",
"price": 0
},
"tracking_number": null,
"media": [],
"order": 1,
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00"
}
]
},
{
"id": 2,
"order_type": 1,
"is_test": false,
"external_identifier": null,
"external_reference": null,
"cost_centre": null,
"state": "preparing",
"failure_message": null,
"customer_locale": "de",
"currency": "EUR",
"total": 533.7,
"subtotal": 477.36,
"total_tax": 3.82,
"total_items_price": 537.96,
"shipping_total": -4.26,
"discount_total": 0,
"created_at": "2022-04-28T14:34:09+00:00",
"updated_at": "2022-04-28T14:34:57+00:00",
"cancelled_at": null,
"ordered_at": "2022-04-28T14:34:09+00:00",
"items": [
{
"id": 2,
"is_test": 0,
"quantity": 1,
"total": 65.81,
"price": 61.5,
"total_tax": 4.31,
"tax_rate": 7,
"variant": 434,
"created_at": "2022-04-28T14:34:09+00:00",
"updated_at": "2022-04-28T14:34:09+00:00",
"cancelled_at": null,
"id_tags": [
{
"id": 2,
"is_test": 0,
"order": 2,
"order_item": 2,
"state": "ordered",
"created_at": "2022-04-28T14:34:09+00:00",
"updated_at": "2022-04-28T14:34:09+00:00"
}
]
}
],
"disposition_order": 54,
"customer": {
"id": 6,
"is_test": 0,
"email": "[email protected]",
"created_at": "2022-04-28T14:34:09+00:00",
"updated_at": "2022-04-28T14:34:09+00:00"
},
"shipping_address": {
"id": 6,
"is_test": 0,
"company": null,
"first_name": "Vicenta",
"last_name": "Cummings",
"city": "Port Pearl",
"street1": "836 Marquise Hollow",
"street2": "459 Seamus Ports Suite 859",
"zip": "60964",
"phone": null,
"email": null,
"province_code": null,
"country_code": "DE",
"vat_in": null,
"created_at": "2022-04-28T14:34:09+00:00",
"updated_at": "2022-04-28T14:34:09+00:00"
},
"billing_address": {
"id": 5,
"is_test": 0,
"company": null,
"first_name": "Jermaine",
"last_name": "Hyatt",
"city": "South Vallie",
"street1": "922 Doyle Mountain",
"street2": null,
"zip": "74842",
"phone": "(314) 526-7118",
"email": "[email protected]",
"province_code": null,
"country_code": "DE",
"vat_in": null,
"created_at": "2022-04-28T14:34:09+00:00",
"updated_at": "2022-04-28T14:34:09+00:00"
},
"whitelabel_address": null,
"payments": [
{
"payment_method": {
"id": 1,
"name": "Invoice",
"handle": "invoice",
"created_at": "2022-04-28T14:31:05+00:00",
"updated_at": "2022-04-28T14:31:05+00:00"
}
}
],
"shipments": [
{
"id": 2,
"is_test": 0,
"shipping_method": {
"is_test": 0,
"order_id": 2,
"handle": "pickup",
"title": "ea",
"price": 0
},
"tracking_number": null,
"media": [],
"order": 2,
"created_at": "2022-04-28T14:34:09+00:00",
"updated_at": "2022-04-28T14:34:09+00:00"
}
]
}
],
"links": {
"first": "https://api.smake.io/v2/apps/1/orders?expand=items.id_tags&per_page=2&page=1",
"last": null,
"prev": null,
"next": "https://api.smake.io/v2/apps/1/orders?expand=items.id_tags&per_page=2&page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://api.smake.io/v2/apps/1/orders",
"per_page": 2,
"to": 2
}
}
#Get
Returns the order with id
= x.
#Expanding objects
#Expand order type
You can show order type details here.
-
/orders/1?expand=order_type
#Expand ID Tags for order item
You can show ID Tag details for order items here.
-
/orders/1?expand=items.id_tags
#Expand the variant details for order items
You can show the content of the variant for an order item.
-
/orders/1?expand=items.variant
#Expand variants customization resource
You can show the content customizations' resource of a variant for an order item.
-
/orders/1?expand=items.variant.views.customizations.resource
#Expand disposition order resource
You can show the content of the disposition order for an order.
-
/orders/1?expand=disposition_order
#Expand production orders resource
You can show the content of the production orders for the disposition order.
-
/orders/1?expand=disposition_order.production_orders
#Expand production resource
You can show the production details of a production order for the disposition order.
-
/orders/1?expand=disposition_order.production_orders.production
#Example
Request
GET /orders/1 HTTP/1.1
Response
{
"id": 1,
"order_type": 1,
"is_test": true,
"external_identifier": null,
"external_reference": "et",
"cost_centre": "lorem 12345",
"state": "completed",
"failure_message": null,
"customer_locale": "en",
"currency": "EUR",
"total": 57.20,
"subtotal": 52.00,
"total_tax": 5.20,
"total_items_price": 52.80,
"shipping_total": 4.40,
"discount_total": 0,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:11:03+00:00",
"ordered_at": "2017-09-27T10:11:03+00:00",
"cancelled_at": null,
"items": [
{
"id": 1,
"is_test": true,
"quantity": 4,
"total": 52.80,
"price": 12.00,
"total_tax": 4.80,
"tax_rate": 10,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:11:03+00:00",
"cancelled_at": null,
"variant": 27,
"id_tags": [
1
]
}
],
"disposition_order": 54,
"customer": {
"id": 40,
"is_test": true,
"email": "[email protected]",
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:11:03+00:00",
},
"shipping_address": {
"id": 45,
"is_test": true,
"company": "MyCompany",
"first_name": "John",
"last_name": "John",
"city": "Anytown",
"street1": "123 Main St",
"street2": null,
"zip": "12345",
"phone": "12345 67890",
"email": "[email protected]",
"province_code": "NW",
"country_code": "DE",
"vat_in": null,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:10:59+00:00"
},
"billing_address": {
"id": 44,
"is_test": true,
"company": "MyCompany",
"first_name": "John",
"last_name": "Doe",
"city": "Anytown",
"street1": "123 Main St",
"street2": null,
"zip": "12345",
"phone": "12345 67890",
"email": "[email protected]",
"province_code": "NW",
"country_code": "DE",
"vat_in": null,
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:10:59+00:00"
},
"whitelabel_address": null,
"payments": [
{
"payment_method": {
"id": 1,
"name": "Rechnung",
"handle": "invoice",
"created_at": "2017-09-27T10:10:59+00:00",
"updated_at": "2017-09-27T10:10:59+00:00"
}
}
],
"shipments": [
{
"id": 1,
"is_test": true,
"shipping_method": {
"is_test": true,
"order_id": 1,
"handle": "pickup",
"title": "Pickup",
"price": 0
},
"tracking_number": "2229446017085",
"media": [],
"order": 1,
"created_at": "2021-02-24T11:04:46+01:00",
"updated_at": "2021-02-25T11:35:50+01:00"
}
],
},
#Example with expanded relationships
Request
GET /orders?expand=items.id_tags HTTP/1.1
Response
{
"id": 1,
"order_type": 1,
"is_test": false,
"external_identifier": null,
"external_reference": null,
"cost_centre": null,
"state": "prepared",
"failure_message": null,
"customer_locale": "de",
"currency": "EUR",
"total": 544.61,
"subtotal": 493.72,
"total_tax": 6.04,
"total_items_price": 561.91,
"shipping_total": -17.3,
"discount_total": 0,
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:54+00:00",
"cancelled_at": null,
"ordered_at": "2022-04-28T14:34:08+00:00",
"items": [
{
"id": 1,
"is_test": 0,
"quantity": 1,
"total": 107.34,
"price": 100.32,
"total_tax": 7.02,
"tax_rate": 7,
"variant": 433,
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00",
"cancelled_at": null,
"id_tags": [
{
"id": 1,
"is_test": 0,
"order": 1,
"order_item": 1,
"state": "ordered",
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00"
}
]
}
],
"customer": {
"id": 5,
"is_test": 0,
"email": "[email protected]",
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00"
},
"shipping_address": {
"id": 4,
"is_test": 0,
"company": "Wehner PLC",
"first_name": "Weldon",
"last_name": "Ryan",
"city": "Effertzview",
"street1": "31637 Edgar Ridge",
"street2": null,
"zip": "07528-3753",
"phone": "1-608-531-5941",
"email": "[email protected]",
"province_code": null,
"country_code": "DE",
"vat_in": null,
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00"
},
"billing_address": {
"id": 3,
"is_test": 0,
"company": "Haley-Reichel",
"first_name": "Kylie",
"last_name": "Murray",
"city": "New Holliefort",
"street1": "339 Merl Manors Apt. 224",
"street2": "4650 Xavier Views",
"zip": "79300",
"phone": null,
"email": null,
"province_code": null,
"country_code": "DE",
"vat_in": null,
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00"
},
"whitelabel_address": null,
"payments": [
{
"payment_method": {
"id": 1,
"name": "Invoice",
"handle": "invoice",
"created_at": "2022-04-28T14:31:05+00:00",
"updated_at": "2022-04-28T14:31:05+00:00"
}
}
],
"shipments": [
{
"id": 1,
"is_test": 0,
"shipping_method": {
"is_test": 0,
"order_id": 1,
"handle": "pickup",
"title": "ea",
"price": 0
},
"tracking_number": null,
"media": [],
"order": 1,
"created_at": "2022-04-28T14:34:08+00:00",
"updated_at": "2022-04-28T14:34:08+00:00"
}
]
}
#Post
#Background processing
When you create an order, this happens asynchronously. You can use Polling or Webhooks for status updates.
In this endpoint, a new product variant is created implicitly for every order item. There is always a reference on the requested data in the variant object.
You can also use all the design features from the design variant endpoint within the variant object within an order item. See Design Variant.
Therefore, you will already receive the new order id
in the header for later reference.
The current state of the asynchronous process is represented due the following states:
State | Meaning |
---|---|
draft |
The initial state of a new order. |
checking |
Order is processed automatically in background. For example images will be generated or downloaded or the variant will be designed. |
failed |
Something went wrong during the checking process. The reason can be found in the failure_message attribute. For example, an image could not be downloaded. |
preparing |
The order is processed manually by the producer. For example, digitalization tasks are in process. |
prepared |
The manual process is finished and the production process is running. |
cancelled |
The order is cancelled manually. |
completed |
The production process is completed. The order will be delivered to the customer. |
#Attributes
Field | Type | Description | Required |
---|---|---|---|
customer | object | Customer address. Customer object | yes |
items | array | Order items. An array of order item. Order item object | yes |
order_type | object | Order type. If not specified the default order type is used. Order type object | |
number | string | External number may be used to reference an order from another external system. We do not check for uniqueness! | |
external_identifier | string | External identifier may be used to reference an order from another external system. We do not check for uniqueness! | |
external_reference | string | External reference may be use to specifies where an order originally came from. We do not check for uniqueness! | |
cost_centre | string | Your cost center | |
shipping_address | object | Shipping address. Address object | yes |
billing_address | object | Billing address. If you do not specify this address, it corresponds to the shipping address. Address object | |
whitelabel_address | object | White label / Sender address. Address object | |
payments | array | Payment. An array with information about one Payment object | yes |
shipments | array | Shipment. An array with information about one Shipment object | yes |
#Customer object
Field | Type | Description | Required |
---|---|---|---|
string | E-Mail-Address | yes |
#Order item object
Field | Type | Description | Required |
---|---|---|---|
variant | object | Variant. Variant object | yes |
quantity | integer | The quantity of the variants to be ordered. | yes |
#Variant object
Field | Type | Description | Required |
---|---|---|---|
type | string | The variant designing type. Current available type is basic . |
yes |
id | integer | The id of the variant to be ordered. | yes, if origin.external_identifier or origin.sku is not specified |
origin | object | Origin. Origin object | yes, if variant.id is not specified |
views | array | You can add designs to a variant within the order process by filling in the views object. All features of the variant design endpoint can be used here. Variant design | |
adopt_design_from_variant | object | You can adopt the designs from another variant. Note that the variants must belong to the same product. |
#Origin object
Field | Type | Description | Required |
---|---|---|---|
external_identifier | string | The external identifier of the variant to be ordered. | yes, if variants id or origin.sku is not specified |
sku | string | The SKU (stock keeping unit) of the variant to be ordered. | yes, if variants id or origin.external_identifier is not specified |
#Adobt design from variant object
With the use of this object you can adopt the design from another variant of the same product.
Field | Type | Description | Required |
---|---|---|---|
id | integer | The id from the variant which contains the customizations you want to adopt. | yes |
#Order type object
Field | Type | Description | Required |
---|---|---|---|
handle | string | The handle of the order type. For a list of available order types, please ask your producer. | yes |
#Address object
Field | Type | Description | Required |
---|---|---|---|
company | string | Company | |
first_name | string | First name | yes |
last_name | string | Last name | yes |
street1 | string | First street line. Limited to 35 characters | yes |
street2 | string | Second street line. Limited to 35 characters | |
zip | string | Zip code | yes |
city | string | City | yes |
country_code | ISO 3166-1-alpha-2 code (ISO 2 country code) | Example: 'US' or 'DE'. All accepted values can be found on the Official ISO website. | yes |
province_code | string | Requires a one or three-digit code. Example: 'AL' (Alabama) or 'QLD' (Queensland) | Only for shipments to the United States, Canada, Australia and Israel. |
phone | string | So that, for example, the parcel service can call the address/dispatcher of the parcel in case of problems with shipping. | yes |
string | Contact person's e-mail address, RFC3696/5321 compliant. | yes | |
vat_in | string | Sales tax |
#Payment object
Field | Type | Description | Required |
---|---|---|---|
payment_method.handle | string | The handle of the payment method to be used to pay for the order. For a list of available payment methods, see payment-methods. | yes |
#Shipment object
Field | Type | Description | Required |
---|---|---|---|
shipping_method.handle | string | The handle used to deliver the order. For a list of available shipping methods, see shipping-methods. | yes |
tracking_number | string | The tracking number of the service provider | |
media | array | Media. An array of Shipment Media Objects |
#Shipment media object
Field | Type | Description | Required |
---|---|---|---|
url | string | File URL where the file can be downloaded | The field is required when none of id are present. |
id | integer | Media id that was previously uploaded under media | The field is required when none of url are present. |
collection_name | string | The collection to which the file should be assigned | yes |
The following collection names and file formats are currently supported:
Collection name | File format |
---|---|
shipping-label | image/png, application/pdf |
packing-slip | application/pdf |
commercial-invoice | application/pdf |
#Example
Request
POST /orders HTTP/1.1
{
"customer": {
"email": "[email protected]"
},
"items": [
{
"variant": {
"type": "basic",
"id": 25
},
"quantity": 3
}
],
"shipping_address": {
"first_name": "Max",
"last_name": "Mustermann",
"street1": "Am Wassermann 361",
"zip": "508291",
"city": "Köln",
"country_code": "DE",
"phone": "+49 123 456 789",
"email": "[email protected]"
},
"shipments": [
{
"shipping_method": {
"handle": "shipping-method-handle"
}
}
],
"payments": [
{
"payment_method": {
"handle": "payment-method-handle"
}
}
]
}
Response
HTTP/1.1 202 Accepted
Location https://api.smake.io/jobs/1
X-Identifier: 137
The X-Identifier
is the new generated order id for later reference.
#Cancel
You can cancel an already placed order by executing the following request.
Depending on the cancellation setting it may be that an order can no longer be canceled. In this case an API exception is thrown.
#Example
Request
PUT /orders/1/cancel HTTP/1.1
Response
{
"id": 71,
"order_type": 1,
"is_test": false,
"external_identifier": null,
"external_reference": null,
"cost_centre": null,
"state": "cancelled",
"failure_message": null,
"customer_locale": "en",
"currency": "EUR",
"total": 0,
"subtotal": 0,
"total_tax": 0,
"total_items_price": 0,
"shipping_total": 0,
"discount_total": 0,
"created_at": "2022-05-02T08:29:06+00:00",
"updated_at": "2022-05-02T08:29:23+00:00",
"cancelled_at": "2022-05-02T08:29:23+00:00",
"ordered_at": "2022-05-02T08:29:06+00:00",
"items": [],
"customer": {
"id": 67,
"is_test": 0,
"email": "[email protected]",
"created_at": "2022-05-02T07:36:07+00:00",
"updated_at": "2022-05-02T07:36:07+00:00"
},
"shipping_address": {
"id": 129,
"is_test": 0,
"company": null,
"first_name": "Max",
"last_name": "Mustermann",
"city": "Köln1",
"street1": "Am Wassermann 361",
"street2": null,
"zip": "508291",
"phone": "0",
"email": "[email protected]",
"province_code": null,
"country_code": "DE",
"vat_in": null,
"created_at": "2022-05-02T08:29:06+00:00",
"updated_at": "2022-05-02T08:29:06+00:00"
},
"billing_address": {
"id": 130,
"is_test": 0,
"company": null,
"first_name": "Max",
"last_name": "Mustermann",
"city": "Köln1",
"street1": "Am Wassermann 361",
"street2": null,
"zip": "508291",
"phone": "0",
"email": "[email protected]",
"province_code": null,
"country_code": "DE",
"vat_in": null,
"created_at": "2022-05-02T08:29:06+00:00",
"updated_at": "2022-05-02T08:29:06+00:00"
},
"whitelabel_address": null,
"payments": [
{
"payment_method": {
"id": 1,
"name": "Invoice",
"handle": "invoice",
"created_at": "2022-04-28T14:31:05+00:00",
"updated_at": "2022-04-28T14:31:05+00:00"
}
}
],
"shipments": [
{
"id": 73,
"is_test": 0,
"shipping_method": {
"is_test": 0,
"order_id": 71,
"handle": "dolorem",
"title": "neque",
"price": 4.8
},
"tracking_number": null,
"media": [],
"order": 71,
"created_at": "2022-05-02T08:29:06+00:00",
"updated_at": "2022-05-02T08:29:23+00:00"
}
]
}
#Further post order examples
#Create order with designing a variant with media ids
Request
POST /orders HTTP/1.1
{
"customer": {
"email": "[email protected]"
},
"items": [
{
"variant": {
"type": "basic",
"id": 25,
"views": [
{
"handle": "front",
"media": [
{
"id": 1233,
"collection_name": "mockup"
}
],
"customizations": [
{
"resource_type": "logo",
"width": 200,
"height": 200,
"resource": {
"production_method": {
"handle": "dtg"
},
"media": [
{
"id": 1234,
"collection_name": "production-file"
}
]
}
}
]
}
]
},
"quantity": 3
}
],
"shipping_address": {
"first_name": "Max",
"last_name": "Mustermann",
"street1": "Am Wassermann 361",
"zip": "508291",
"city": "Köln",
"country_code": "DE",
"phone": "+49 123 456 789",
"email": "[email protected]"
},
"shipments": [
{
"shipping_method": {
"handle": "shipping-method-handle"
}
}
],
"payments": [
{
"payment_method": {
"handle": "payment-method-handle"
}
}
]
}
#Create order with own shipping documents
Request
POST /orders HTTP/1.1
{
"customer": {
"email": "[email protected]"
},
"items": [
{
"variant": {
"type": "basic",
"id": 25
},
"quantity": 3
}
],
"shipping_address": {
"first_name": "Max",
"last_name": "Mustermann",
"street1": "Am Wassermann 361",
"zip": "508291",
"city": "Köln",
"country_code": "DE",
"phone": "+49 123 456 789",
"email": "[email protected]"
},
"shipments": [
{
"shipping_method": {
"handle": "shipping-method-handle"
},
"tracking_number": "my external tracking number",
"media":[
{
"url": "https://smake-public.s3.eu-west-1.amazonaws.com/testfiles/logo.png",
"collection_name": "shipping-label"
},
{
"id": 1,
"collection_name": "commercial-invoice"
},
{
"url": "https://smake-public.s3.eu-west-1.amazonaws.com/testfiles/packaging-slip.pdf",
"collection_name": "packing-slip"
}
]
}
],
"payments": [
{
"payment_method": {
"handle": "payment-method-handle"
}
}
]
}