Implementing Webhooks

Rewards APIs now support sending real-time callbacks to your pre-registered webhook URL for order delivery status updates.

Event Supported

Currently, only the Order Delivery Status event is sent via webhook. The delivery status can be found in the deliveryStatus field of the webhook payload.

Important

  1. Whitelist Xoxoday’s callback IP – To ensure uninterrupted delivery of webhook notifications, whitelist:
    52.76.120.90
  2. Retry Policy – If a webhook POST fails, our system will retry up to three times. If all attempts fail, the webhook will be automatically disabled. You can re-enable it via the dashboard.

Webhook Payload Example

{  
  "id": \<Number(20)>,  
  "data": {  
    "orderId": \<Number(11)>,  
    "poNumber": \<String(100)>,  
    "orderDate": \<String(19)>,  
    "deliveryStatus": "\<delivered|canceled>"  
  },  
  "createdAt": \<String(19)>  
}

Legend: <DataType(size)>

Payload Field Reference

Parameter NameTypeDescription
idInteger(20)Unique Webhook ID for identifying the callback event
orderIdInteger(11)Unique Xoxo Order ID generated when an order is placed via the Plum API
poNumberString(100)Purchase Order number provided by the client at the time of placing the order
orderDateString(19)Date and time when the order was placed
deliveryStatusString(9)Order delivery status – can be delivered or canceled
createdAtString(19)Date and time when the callback was sent

What’s Next

Securing Webhooks