curl --request POST \
--url https://stagingstores.xoxoday.com/chef/v1/oauth/api/placeOrder \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "plumProAPI.mutation.placeOrder",
"tag": "plumProAPI",
"variables": {
"data": {
"productId": "15365",
"quantity": 1,
"denomination": 20,
"email": "your.email@example.com",
"contact": "+1-4705000000",
"tag": "Rewarding",
"poNumber": "228291910",
"notifyReceiverEmail": 0,
"notifyAdminEmail": 0,
"shippingFirstName": "John",
"shippingLastName": "Doe",
"shippingContactNo": "+1-234567890",
"shippingCompany": "Acme Inc.",
"shippingAddress1": "123 Main St",
"shippingAddress2": "Suite 400",
"shippingCity": "New York",
"shippingCountry": "USA",
"shippingState": "NY",
"shippingPostcode": "10001"
}
}
}
'{
"data": {
"placeOrder": {
"status": 123,
"data": {
"orderId": 123,
"orderTotal": 123,
"currencyCode": "<string>",
"amountCharged": 123,
"orderStatus": "<string>",
"deliveryStatus": "<string>",
"quantity": 123,
"voucherDetails": [
{
"orderId": 123,
"productId": 123,
"productName": "<string>",
"currencyCode": "<string>",
"productStatus": "<string>",
"denomination": 123
}
]
}
}
}
}Place a merchandise order. A unique poNumber must be sent per order. Shipping details are required and passed as flat fields directly inside data.
Note: productId is a string for this endpoint.
Real URL: POST https://accounts.xoxoday.com/chef/v1/oauth/api
curl --request POST \
--url https://stagingstores.xoxoday.com/chef/v1/oauth/api/placeOrder \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "plumProAPI.mutation.placeOrder",
"tag": "plumProAPI",
"variables": {
"data": {
"productId": "15365",
"quantity": 1,
"denomination": 20,
"email": "your.email@example.com",
"contact": "+1-4705000000",
"tag": "Rewarding",
"poNumber": "228291910",
"notifyReceiverEmail": 0,
"notifyAdminEmail": 0,
"shippingFirstName": "John",
"shippingLastName": "Doe",
"shippingContactNo": "+1-234567890",
"shippingCompany": "Acme Inc.",
"shippingAddress1": "123 Main St",
"shippingAddress2": "Suite 400",
"shippingCity": "New York",
"shippingCountry": "USA",
"shippingState": "NY",
"shippingPostcode": "10001"
}
}
}
'{
"data": {
"placeOrder": {
"status": 123,
"data": {
"orderId": 123,
"orderTotal": 123,
"currencyCode": "<string>",
"amountCharged": 123,
"orderStatus": "<string>",
"deliveryStatus": "<string>",
"quantity": 123,
"voucherDetails": [
{
"orderId": 123,
"productId": 123,
"productName": "<string>",
"currencyCode": "<string>",
"productStatus": "<string>",
"denomination": 123
}
]
}
}
}
}Documentation Index
Fetch the complete documentation index at: https://help-plum.xoxoday.com/llms.txt
Use this file to discover all available pages before exploring further.
A unique reference ID needs to be sent for every unique order in the “poNumber” parameter We strongly recommend storing the request and response of every “PlaceOrderAPI” call
| Path | Type | Description |
|---|---|---|
| data | object | Root request wrapper. |
| data.productId | string | Product ID of the merchandise item. |
| data.quantity | number | Quantity of the merchandise item. |
| data.denomination | number | Denomination/price of the product. |
| data.email | string | Customer email for notifications. |
| data.contact | string | Customer phone number. |
| data.tag | string | Custom tag passed for tracking. |
| data.poNumber | string | Client-generated PO number (idempotency key). |
| data.notifyReceiverEmail | number | Whether the receiver gets an email (1 = yes). |
| data.notifyAdminEmail | number | Whether admin gets an email notification (1 = yes). |
| data.shippingFirstName | string | Shipping first name. |
| data.shippingLastName | string | Shipping last name. |
| data.shippingContactNo | string | Shipping contact number. |
| data.shippingCompany | string | Company name for shipping. |
| data.shippingAddress1 | string | Primary shipping address. |
| data.shippingAddress2 | string | Secondary shipping address. |
| data.shippingCity | string | Shipping city. |
| data.shippingCountry | string | Shipping country. |
| data.shippingState | string | Shipping state/province/region. |
| data.shippingPostcode | string | Postal/ZIP code for the shipping address. |
| Path | Type | Description |
|---|---|---|
| data | object | Root response object. |
| data.placeOrder | object | Container for order response. |
| data.placeOrder.status | number | Request status (1 = success). |
| data.placeOrder.data | object | Full order details. |
| data.placeOrder.data.orderId | number | Unique order ID. |
| data.placeOrder.data.orderTotal | number | Order total (rounded). |
| data.placeOrder.data.rawOrderTotal | number | Precise unrounded order amount. |
| data.placeOrder.data.orderDiscount | string | Discount amount (blank if none). |
| data.placeOrder.data.rawOrderDiscount | string | Unrounded discount (blank if none). |
| data.placeOrder.data.discountPercent | string | Discount percent applied. |
| data.placeOrder.data.currencyCode | string | Currency code used for pricing. |
| data.placeOrder.data.currencyValue | number | Currency conversion multiplier. |
| data.placeOrder.data.amountCharged | number | Final amount charged. |
| data.placeOrder.data.orderStatus | string | Order lifecycle status (complete). |
| data.placeOrder.data.deliveryStatus | string | Delivery status (pending). |
| data.placeOrder.data.tag | string | Tag passed from request. |
| data.placeOrder.data.quantity | number | Quantity ordered. |
| data.placeOrder.data.vouchers | array | Always empty for merchandise (no instant code delivery). |
| data.placeOrder.data.voucherDetails | array | Summary of merchandise items ordered. |
| data.placeOrder.data.voucherDetails[].orderId | number | Order ID. |
| data.placeOrder.data.voucherDetails[].productId | number | Merchandise product ID. |
| data.placeOrder.data.voucherDetails[].productName | string | Product name. |
| data.placeOrder.data.voucherDetails[].currencyCode | string | Currency code of the merchandise. |
| data.placeOrder.data.voucherDetails[].productStatus | string | Status of merchandise fulfillment. |
| data.placeOrder.data.voucherDetails[].denomination | number | Product denomination/price. |
Learn how to manage webhooks to receive order status updates for delayed product types.
Authorization: Bearer <access_token>
Merchandise order placed successfully.
Show child attributes