Latest Legacy

Message Status Callbacks

The recommended way to keep track of the status of your outbound messages is to set up a server endpoint to receive status update events in real time.

Once you’ve configured this endpoint, specify its url and HTTP method in the Send Message API request. Plivo will call this endpoint with the latest message details as and when the message status changes.


These message attributes are passed to the status update URL with every status change event. They’re passed as form data if the method configured is POST, and as query parameters if it’s GET.


The unique ID for the message.


Phone number of the recipient.


The sender ID used as the source address for the message.


The type of message.

Allowed values: sms, mms, whatsapp


Status of the message.

Allows values: queued, sent, failed, delivered, undelivered, read (WhatsApp only)


WhatsApp-only attribute.

Unix timestamp when the current ongoing conversation expires.


WhatsApp-only attribute

Describes how the WhatsApp conversation was initiated.

Allowed values: utility, authentication, marketing, service

utility, authentication, and marketing conversations are initiated when a business sends a message to users using a template fromthe respective category.

service conversations are initiated when a user sends a message to the business.


WhatsApp-only attribute.

Represents a unique identifier ID for a conversation to which the message belongs. Can be null for inbound messages.


Number of units into which a long SMS message was split.


The charge applicable per outbound SMS unit.


Total charge for sending the SMS (TotalRate * number of Units)


Mobile Country Code of the To number.


Mobile Network Code of the To number. (See here for more details)


The Plivo error code that identifies the reason for the message delivery failure. This parameter is only defined for “failed” or “undelivered” messages.

ParentMessageUUIDreserved for future use

Same as the MessageUUID. This parameter is reserved for future use, and should be ignored for now.

PartInforeserved for future use

This parameter is reserved for future use, and should be ignored for now.


Use this attribute to track the sequence in which callbacks for this SMS were generated by the Plivo system.


The timestamp at which the SMS was initiated. Format: YYYY-mm-dd HH:MM:SS.SSSSSS


The timestamp at which the SMS was queued. Format: YYYY-mm-dd HH:MM:SS.SSSSSS


The timestamp at which the SMS was submitted to the downstream carrier for delivery. Format: YYYY-mm-dd HH:MM:SS.SSSSSS


The timestamp at which the delivery report for this SMS was received from the downstream carrier. Format: YYYY-mm-dd HH:MM:SS.SSSSSS

requester_ip The IP address from which the message request originated. We recommend you monitor this field to identify possible account misuse and authentication credential takeovers.

The SMS Powerpack UUID used for the message. This will be empty if a Powerpack was not used.