Skip to main content
POST
/
placeOrder
Place Order 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

Request Parameter

PathTypeDescription
dataobjectRoot request wrapper.
data.productIdstringProduct ID of the merchandise item.
data.quantitynumberQuantity of the merchandise item.
data.denominationnumberDenomination/price of the product.
data.emailstringCustomer email for notifications.
data.contactstringCustomer phone number.
data.tagstringCustom tag passed for tracking.
data.poNumberstringClient-generated PO number (idempotency key).
data.notifyReceiverEmailnumberWhether the receiver gets an email (1 = yes).
data.notifyAdminEmailnumberWhether admin gets an email notification (1 = yes).
data.shippingFirstNamestringShipping first name.
data.shippingLastNamestringShipping last name.
data.shippingContactNostringShipping contact number.
data.shippingCompanystringCompany name for shipping.
data.shippingAddress1stringPrimary shipping address.
data.shippingAddress2stringSecondary shipping address.
data.shippingCitystringShipping city.
data.shippingCountrystringShipping country.
data.shippingStatestringShipping state/province/region.
data.shippingPostcodestringPostal/ZIP code for the shipping address.

Response Parameter

PathTypeDescription
dataobjectRoot response object.
data.placeOrderobjectContainer for order response.
data.placeOrder.statusnumberRequest status (1 = success).
data.placeOrder.dataobjectFull order details.
data.placeOrder.data.orderIdnumberUnique order ID.
data.placeOrder.data.orderTotalnumberOrder total (rounded).
data.placeOrder.data.rawOrderTotalnumberPrecise unrounded order amount.
data.placeOrder.data.orderDiscountstringDiscount amount (blank if none).
data.placeOrder.data.rawOrderDiscountstringUnrounded discount (blank if none).
data.placeOrder.data.discountPercentstringDiscount percent applied.
data.placeOrder.data.currencyCodestringCurrency code used for pricing.
data.placeOrder.data.currencyValuenumberCurrency conversion multiplier.
data.placeOrder.data.amountChargednumberFinal amount charged.
data.placeOrder.data.orderStatusstringOrder lifecycle status (complete).
data.placeOrder.data.deliveryStatusstringDelivery status (pending).
data.placeOrder.data.tagstringTag passed from request.
data.placeOrder.data.quantitynumberQuantity ordered.
data.placeOrder.data.vouchersarrayAlways empty for merchandise (no instant code delivery).
data.placeOrder.data.voucherDetailsarraySummary of merchandise items ordered.
data.placeOrder.data.voucherDetails[].orderIdnumberOrder ID.
data.placeOrder.data.voucherDetails[].productIdnumberMerchandise product ID.
data.placeOrder.data.voucherDetails[].productNamestringProduct name.
data.placeOrder.data.voucherDetails[].currencyCodestringCurrency code of the merchandise.
data.placeOrder.data.voucherDetails[].productStatusstringStatus of merchandise fulfillment.
data.placeOrder.data.voucherDetails[].denominationnumberProduct denomination/price.

Implementation Notes

  1. To avoid facing an error while placing an order, please pass the valid productID and denomination
  2. The maximum order quantity allowed for the majority of the products is 10 unless mentioned otherwise in the “orderQuantityLimit” parameter in the GetVouchersAPI
  3. Certain brands require a phone number to process the order. You can refer to the “isPhoneNumberMandatory” parameter in the GetVouchersAPI to identify the products with this mandate
  4. Should you wish to notify the recipient via email, please pass “1” in the “notifyReceiverEmail” parameter
  5. We recommend you store the “poNumber” that you pass in the request and the “orderID” you receive in the response
  6. Should you get a 5xx error from the PlaceOrderAPI, please call GetOrderDetails and confirm if an order exists using the poNumber. If there’s no order against the poNumber, you can go ahead and place another order
Learn how to manage webhooks to receive order status updates for delayed product types.

Authorizations

Authorization
string
header
required

Authorization: Bearer <access_token>

Body

application/json
query
enum<string>
default:plumProAPI.mutation.placeOrder
required
Available options:
plumProAPI.mutation.placeOrder
tag
enum<string>
default:plumProAPI
required
Available options:
plumProAPI
variables
object
required

Response

Merchandise order placed successfully.

data
object