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.

Attributes

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.

MessageUUID

The unique ID for the message.

To

Phone number of the recipient.

From

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

Type

The type of message.

Allowed values: sms, mms, whatsapp

Status

Status of the message.

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

ConversationExpirationTimestamp

WhatsApp-only attribute.

Unix timestamp when the current ongoing conversation expires.

ConversationOrigin

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.

ConversationID

WhatsApp-only attribute.

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

Units

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

TotalRate

The charge applicable per outbound SMS unit.

TotalAmount

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

MCC

Mobile Country Code of the To number.

MNC

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

ErrorCode

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.

Sequence

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

MessageTime

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

QueuedTime

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

SentTime

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

DeliveryReportTime

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.
PowerpackUUID

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