Order Callback - Building The Response
The response you return from your order callback handler should include an order number, details about the order which was placed (if any) and / or error details about subscription items which failed to be ordered. The HTTP status should indicate the result.
Success Response - HTTP Status 201
Return a response similar to the following when all subscription items were handled successfully and an e-commerce order was successfully placed. See here for detailed documentation of the order details schema.
{
"orderNumber": "ABC-091293923",
"orderDetails": {
"customerId": "1234",
"customerEmail": "[email protected]",
"platformCustomerId": "1234",
"platformOrderId": "091293923",
"orderNumber": "ABC-091293923",
"salesOrderToken": "89adsfjkl129834kljsad98fuoi123uj489u23894",
"orderStatus": "placed",
"orderState": "open",
"orderDateTime": "2021-04-01T17:43:00Z",
"currency": "USD",
"shippingTotal": "7.2000",
"taxTotal": "4.0000",
"total": "51.2000",
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
...
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
...
},
"items": [
{
"platformOrderItemId": "735641231234",
"productSku": "RUBY-RED",
"productName": "Ruby Red Black Tea",
"shortDescription": "Ruby Red Black Tea - 2 oz.",
"qty": "4",
"requiresShipping": true,
"unitPrice": "10.0000",
"shippingTotal": "7.2000",
"taxTotal": "4.0000",
"lineTotal": "51.2000",
"subscriptionId": "413245234",
}
]
},
"errorItems": []
}
Partial Success Response - HTTP Status 202
Return a response similar to the following when some subscription items were handled successfully, some items failed and an e-commerce order was successfully placed. See here for detailed documentation of the order details schema.
{
"orderNumber": "ABC-091293923",
"orderDetails": {
"customerId": "1234",
"customerEmail": "[email protected]",
"platformCustomerId": "1234",
"platformOrderId": "091293923",
"orderNumber": "ABC-091293923",
"salesOrderToken": "89adsfjkl129834kljsad98fuoi123uj489u23894",
"orderStatus": "placed",
"orderState": "open",
"orderDateTime": "2021-04-01T17:43:00Z",
"currency": "USD",
"shippingTotal": "7.2000",
"taxTotal": "4.0000",
"total": "51.2000",
"billingAddress": {
"firstName": "Jane",
"lastName": "Doe",
...
},
"shippingAddress": {
"firstName": "Jane",
"lastName": "Doe",
...
},
"items": [
{
"platformOrderItemId": "735641231234",
"productSku": "RUBY-RED",
"productName": "Ruby Red Black Tea",
"shortDescription": "Ruby Red Black Tea - 2 oz.",
"qty": "4",
"requiresShipping": true,
"unitPrice": "10.0000",
"shippingTotal": "7.2000",
"taxTotal": "4.0000",
"lineTotal": "51.2000",
"subscriptionId": "413245234",
}
]
},
"itemErrors": [
{
"subscriptionId": "62343421",
"errorMessage": "Product out of stock"
}
]
}
All Items Failed Response - HTTP Status 409
Return a response similar to the following when all subscription items failed and no order was placed.
{
"orderNumber": null,
"orderDetails": null,
"itemErrors": [
{
"subscriptionId": "413245234",
"errorMessage": "Invalid product SKU"
},
{
"subscriptionId": "62343421",
"errorMessage": "Product out of stock"
}
]
}