messageStatus field contains one of:
Event name:
messageStatusChanged\
Required token scopes:
Create scenariosManage scenarios on behalf of user
Subscribe
Send the body below to Import Subscription. You only need to change:url(required) - Located underdata.actions[0].params.url. Replace{{yourWebhookURL}}with the destination URL that should receive the events.asStatus- Keep"active"to enable the subscription immediately, or"inactive"to save it as an inactive revision.
Import body
A
201 response returns your new subscription - save its _id to manage it later. You can also add an optional authorUid root field (a Texter user UID) to attribute the subscription to a specific user.Payload
When the event fires, your URL receives an HTTPPOST with eventName: "messageStatusChanged" and the following eventData:
Chat
The chat associated with the message. See the Chat object for all fields.
number
The new status - see the status codes table above.
string | null
Error message - only present when status is
4 or 5, otherwise null.number
When the status changed (Unix epoch milliseconds).
string[]
Unique IDs assigned to the message(s) by the external provider.
Example payload
How to identify the message
Because this event is triggered by the external provider (e.g. Meta/WhatsApp), the payload does not contain the internalmessage._id. Instead, it provides the externalId. To find the specific message in your system:
- Take the
_idfrom thechatobject in the payload. - Call Get Messages of a Chat.
- Find the message whose
channelInfo.idmatches one of the values in theexternalIdarray.