E-commerce Orders API
Create, update, and complete orders so MailerLite can trigger purchase and abandoned-cart automations.
Get orders
If you want to get orders for the given shop, send this GET request
GET https://connect.mailerlite.com/api/ecommerce/shops/:shop_id/ordersGet a list of orders for the given shop.
Request parameters
| Parameter | Type | Required | Limitations |
|---|---|---|---|
| shop_id | integer | yes | Must provide valid shop id |
| limit | integer | no | Defaults to 100 |
| page | integer | no | Defaults to 1 |
Response
{
"data": [
{
"id": "31986843064993537",
"shop": {
"id": "31986843064993537",
"name": "shop name",
"url": "https://shop-url.com",
"currency": "USD",
"enabled": true,
"enable_popups": false,
"group": {
"id": "1",
"name": "dummy group",
"total": 20,
"open_rate": {
"float": 0,
"string": "0%"
},
"click_rate": {
"float": 0,
"string": "0%"
},
"created_at": "2021-08-06 10:17:45"
},
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
},
"customer": {
"id": "319868430643456756",
"email": "customer@email.com",
"accepts_marketing": true,
"subscriber": {
"id": "31986843064993537",
"email": "customer@email.com",
"status": "active",
"source": "api",
"sent": 0,
"opens_count": 0,
"clicks_count": 0,
"open_rate": 0,
"click_rate": 0,
"ip_address": null,
"subscribed_at": "2021-09-01 14:03:50",
"unsubscribed_at": null,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50",
"fields": {
"city": null,
"company": null,
"country": null,
"last_name": "Testerson",
"name": "Dummy",
"phone": null,
"state": null,
"z_i_p": null
},
"groups": [],
"opted_in_at": null,
"optin_ip": null
}
},
"cart": {
"id": "12564435675647",
"checkout_url": "https://url-to-cart-checkout.com",
"cart_total": 1234.99,
"items": [
{
"id": "45676855678345",
"product": {
"id": "31986843543567834",
"name": "Product name",
"price": 123.4,
"url": "https://shop-url.com/product-name",
"image": "https://shop-url.com/product-image.jpg",
"exclude_from_automations": false,
"categories": [
{
"id": "1234566457534276",
"name": "Category 1",
"exclude_from_automations": false,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
},
{
"id": "1234566457534278",
"name": "Category 2",
"exclude_from_automations": false,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
}
]
},
"variant": "product variant",
"quantity": 1,
"price": 123.4
}
]
},
"total": 123.4,
"status": "pending",
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
}
],
"links": {
"first": "https://connect.mailerlite.com/api/ecommerce/shops/:shop_id/orders?page=1",
"last": "https://connect.mailerlite.com/api/ecommerce/shops/:shop_id/orders?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://connect.mailerlite.com/api/ecommerce/shops/:shop_id/orders?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://connect.mailerlite.com/api/ecommerce/shops/:shop_id/orders",
"per_page": 100,
"to": 1,
"total": 1
}
}Create/update order
You can create or update an order for the given shop.
If you want to create an order for the given shop, send this POST request
POST https://connect.mailerlite.com/api/ecommerce/shops/:shop_id/ordersIf you want to update an order for the given shop, send this PUT request
PUT https://connect.mailerlite.com/api/ecommerce/shops/:shop_id/orders/:order_idRequest body
| Parameter | Type | Required | Limitations |
|---|---|---|---|
| customer | array | yes | The customer information. Check the respective ecommerce customer api documentation. |
| cart | array | yes | The order cart. Check the respective ecommerce cart api documentation. |
| status | string | no | The order's status. Allowed values: pending, complete. Defaults to pending. |
| total_price | float | no | The order's total price. Defaults to 0. |
{
"customer": {
"email": "customer@email.com",
"create_subscriber": true,
"accepts_marketing": true
},
"cart": {
"items": [
{
"ecommerce_product_id": "1236545467567",
"variant": "product variant",
"quantity": 1,
"price": 123.40
}
]
},
"status": "pending",
"total_price": 123.40
}Notes:
The customer will be created if a customer with the same email doesn't already exist in the platform.
You cannot update the cart or the customer of an order through the PUT endpoint. You'll have to use the respective Customer and Cart endpoints instead.
Response
If the order was created:
Response Code: 201 Created{
"data": {
"id": "31986843064993537",
"shop": {
"id": "31986843064993537",
"name": "shop name",
"url": "https://shop-url.com",
"currency": "USD",
"enabled": true,
"enable_popups": false,
"group": {
"id": "1",
"name": "dummy group",
"total": 20,
"open_rate": {
"float": 0,
"string": "0%"
},
"click_rate": {
"float": 0,
"string": "0%"
},
"created_at": "2021-08-06 10:17:45"
},
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
},
"customer": {
"id": "319868430643456756",
"email": "customer@email.com",
"accepts_marketing": true,
"subscriber": {
"id": "31986843064993537",
"email": "customer@email.com",
"status": "active",
"source": "api",
"sent": 0,
"opens_count": 0,
"clicks_count": 0,
"open_rate": 0,
"click_rate": 0,
"ip_address": null,
"subscribed_at": "2021-09-01 14:03:50",
"unsubscribed_at": null,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50",
"fields": {
"city": null,
"company": null,
"country": null,
"last_name": "Testerson",
"name": "Dummy",
"phone": null,
"state": null,
"z_i_p": null
},
"groups": [],
"opted_in_at": null,
"optin_ip": null
}
},
"cart": {
"id": "12564435675647",
"checkout_url": "https://url-to-cart-checkout.com",
"cart_total": 1234.99,
"items": [
{
"id": "45676855678345",
"product": {
"id": "31986843543567834",
"name": "Product name",
"price": 123.4,
"url": "https://shop-url.com/product-name",
"image": "https://shop-url.com/product-image.jpg",
"exclude_from_automations": false,
"categories": [
{
"id": "1234566457534276",
"name": "Category 1",
"exclude_from_automations": false,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
},
{
"id": "1234566457534278",
"name": "Category 2",
"exclude_from_automations": false,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
}
]
},
"variant": "product variant",
"quantity": 1,
"price": 123.4
}
]
},
"total": 123.4,
"status": "pending",
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
}
}Error
Response Code: 422 Unprocessable EntityThe error response will contain information about the invalid data.
{
"message": "The given data was invalid.",
"errors": {
"customer": ["The customer must be provided."]
}
}Fetch an order
If you want to fetch an order for the given shop, send this GET request
GET https://connect.mailerlite.com/api/ecommerce/shops/:shop_id/orders/:order_idRequest parameters
| Parameter | Type | Required | Limitations |
|---|---|---|---|
| order_id | integer | yes | Must provide valid order id |
| shop_id | integer | yes | Must provide valid shop id |
GET https://connect.mailerlite.com/api/ecommerce/shops/31986843064993537/orders/319868430643456756Response
If the shop and the order exist:
Response Code: 200 OK{
"data": {
"id": "31986843064993537",
"shop": {
"id": "31986843064993537",
"name": "shop name",
"url": "https://shop-url.com",
"currency": "USD",
"enabled": true,
"enable_popups": false,
"group": {
"id": "1",
"name": "dummy group",
"total": 20,
"open_rate": {
"float": 0,
"string": "0%"
},
"click_rate": {
"float": 0,
"string": "0%"
},
"created_at": "2021-08-06 10:17:45"
},
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
},
"customer": {
"id": "319868430643456756",
"email": "customer@email.com",
"accepts_marketing": true,
"subscriber": {
"id": "31986843064993537",
"email": "customer@email.com",
"status": "active",
"source": "api",
"sent": 0,
"opens_count": 0,
"clicks_count": 0,
"open_rate": 0,
"click_rate": 0,
"ip_address": null,
"subscribed_at": "2021-09-01 14:03:50",
"unsubscribed_at": null,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50",
"fields": {
"city": null,
"company": null,
"country": null,
"last_name": "Testerson",
"name": "Dummy",
"phone": null,
"state": null,
"z_i_p": null
},
"groups": [],
"opted_in_at": null,
"optin_ip": null
}
},
"cart": {
"id": "12564435675647",
"checkout_url": "https://url-to-cart-checkout.com",
"cart_total": 1234.99,
"items": [
{
"id": "45676855678345",
"product": {
"id": "31986843543567834",
"name": "Product name",
"price": 123.4,
"url": "https://shop-url.com/product-name",
"image": "https://shop-url.com/product-image.jpg",
"exclude_from_automations": false,
"categories": [
{
"id": "1234566457534276",
"name": "Category 1",
"exclude_from_automations": false,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
},
{
"id": "1234566457534278",
"name": "Category 2",
"exclude_from_automations": false,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
}
]
},
"variant": "product variant",
"quantity": 1,
"price": 123.4
}
]
},
"total": 123.4,
"status": "pending",
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
}
}Error
If the order or shop cannot be found:
Response Code: 404 Not FoundFetch total orders count
If you want to fetch total orders count for the given shop, send this GET request
GET https://connect.mailerlite.com/api/ecommerce/shops/:shop_id/orders?limit=0Request parameters
| Parameter | Type | Required | Limitations |
|---|---|---|---|
| shop_id | integer | yes | Must provide valid shop id |
| limit | integer | yes | Value must be 0 |
Response
Response Code: 200 OK{
"total": 123
}Delete an order
If you want to delete an order, send this DELETE request
DELETE https://connect.mailerlite.com/api/ecommerce/shops/:shop_id/orders/:order_idRequest parameters
| Parameter | Type | Required | Limitations |
|---|---|---|---|
| order_id | integer | yes | Must provide valid order id |
| shop_id | integer | yes | Must provide valid shop id |
Response
Response code: 200 OK{
"data": {
"id": "31986843064993537",
"shop": {
"id": "31986843064993537",
"name": "shop name",
"url": "https://shop-url.com",
"currency": "USD",
"enabled": true,
"enable_popups": false,
"group": {
"id": "1",
"name": "dummy group",
"total": 20,
"open_rate": {
"float": 0,
"string": "0%"
},
"click_rate": {
"float": 0,
"string": "0%"
},
"created_at": "2021-08-06 10:17:45"
},
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
},
"customer": {
"id": "319868430643456756",
"email": "customer@email.com",
"accepts_marketing": true,
"subscriber": {
"id": "31986843064993537",
"email": "customer@email.com",
"status": "active",
"source": "api",
"sent": 0,
"opens_count": 0,
"clicks_count": 0,
"open_rate": 0,
"click_rate": 0,
"ip_address": null,
"subscribed_at": "2021-09-01 14:03:50",
"unsubscribed_at": null,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50",
"fields": {
"city": null,
"company": null,
"country": null,
"last_name": "Testerson",
"name": "Dummy",
"phone": null,
"state": null,
"z_i_p": null
},
"groups": [],
"opted_in_at": null,
"optin_ip": null
}
},
"cart": {
"id": "12564435675647",
"checkout_url": "https://url-to-cart-checkout.com",
"cart_total": 1234.99,
"items": [
{
"id": "45676855678345",
"product": {
"id": "31986843543567834",
"name": "Product name",
"price": 123.4,
"url": "https://shop-url.com/product-name",
"image": "https://shop-url.com/product-image.jpg",
"exclude_from_automations": false,
"categories": [
{
"id": "1234566457534276",
"name": "Category 1",
"exclude_from_automations": false,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
},
{
"id": "1234566457534278",
"name": "Category 2",
"exclude_from_automations": false,
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
}
]
},
"variant": "product variant",
"quantity": 1,
"price": 123.4
}
]
},
"total": 123.4,
"status": "pending",
"created_at": "2021-09-01 14:03:50",
"updated_at": "2021-09-01 14:03:50"
}
}Notes:
Deleting an order will also delete the associated cart and cart items.
Error
Response code: 404 Not Found