Skip to main content
When you provide a post_back_url in your send request, Zixflow sends an HTTP POST request to that URL whenever the message status changes (e.g., delivered, failed, read, etc). The same payload format is used for all four channels: SMS, RCS, WhatsApp, and Email.

Postback Payload Format

The request body sent to your post_back_url is a JSON object with the following fields:
FieldTypeDescription
workspace_idstringYour Zixflow workspace ID.
typestringType of notification. For delivery updates this is "delivery_status".
message_idnumberUnique identifier for the message in Zixflow.
request_idstringThe request/correlation ID (e.g., UUID) for the original send request.
channelstringChannel that sent the message: "sms", "rcs", "whatsapp", or "email".
recipientstringRecipient identifier (phone number for SMS/RCS/WhatsApp, email address for Email).
statusstringCurrent delivery status (e.g., "delivered", "failed", "read", "clicked", etc.).
remarkstringOptional remark or error/details associated with the status.
status_atstringISO 8601 timestamp when the status was recorded (e.g., "2026-01-28T17:17:59.254174911Z").
post_back_datastringThe optional value you sent in post_back_data when sending the message. Use this to correlate the notification with your own records.

Example Payload

{
  "workspace_id": "69614209f51dfafb2231a6fe",
  "type": "delivery_status",
  "message_id": 604132581490819100,
  "request_id": "65ca1d21-8854-4d39-a0bd-64f1cd7b8db1",
  "channel": "whatsapp",
  "recipient": "919090909090",
  "status": "delivered",
  "remark": "",
  "status_at": "2026-01-28T17:17:59.254174911Z",
  "post_back_data": "somedata"
}

Using post_back_data

If you pass post_back_data in your send request (e.g., an order ID, ticket ID, or internal reference), that same value is included in the postback as post_back_data. Use it to match the notification to the message in your system without storing Zixflow message_id or request_id.

Channel applicability

This postback format is common across all four channels:
  • SMS — send message/template with post_back_url (and optional post_back_data)
  • RCS — send message/template with post_back_url (and optional post_back_data)
  • WhatsApp — send message/template with post_back_url (and optional post_back_data)
  • Email — send message/template with post_back_url (and optional post_back_data)
Ensure your post_back_url endpoint accepts POST requests with a JSON body and responds with a success status (e.g., 2xx) so Zixflow can treat the delivery as acknowledged.

Where post_back_url is used

You can pass post_back_url (and optional post_back_data) on these Zixflow AI send endpoints: Each of those pages documents the post_back_url and post_back_data request fields and links back here for the payload format.