GET/v1/messaging/messages/{messageId}

Authorization

Bearer token

Authorizationrequiredheader

Send your API key as Bearer YOUR_API_KEY.

Requires whatsapp.send to read WhatsApp messages. A key with whatsapp.full_access can also read them. WhatsApp must be turned on for your organization.

Path parameters

messageIdrequiredstring

The message ID returned by Send a message, starting with msg_.

Response

application/json200 OK

Example identifiers below are illustrative.

data is the message object, with the content the recipient received. Messages are kept for 30 days; after that this endpoint returns 404.

The message object

idstring

Message ID, starting with msg_.

channelstring

whatsapp. The channel the message was sent on; it decides the channel-specific fields.

statusstring

See Message statuses.

One of"sending""accepted""sent""delivered""read""failed""uncertain"

senderstring

Phone number the message was sent from, in E.164 format.

sender_namestring or null

The number's display name approved by WhatsApp, when there is one.

recipientstring

Recipient phone number, in E.164 format.

categorystring or null

The template's category when the message was sent.

One of"marketing""utility""authentication"

templateobject or null

The template sent: id, name, language (such as en_US), and version, which increases when the template's content or category changes.

is_billableboolean

Whether the message counts toward your plan's included messages or is paid from your wallet beyond them.

coststring

What Nexiom Connect charged for the message, as a decimal string such as "0.1000". "0.0000" for included messages and messages not charged. Never includes Meta's fees.

cost_currencystring

ISO 4217 currency of cost, such as DZD.

failure_codestring or null

For a failed message: meta_ followed by WhatsApp's error code, such as meta_131026, or meta_error. See failure codes.

failure_reasonstring or null

For a failed message: WhatsApp's explanation.

created_atstring

When the message was created.

accepted_atstring or null

When WhatsApp accepted the message.

sent_atstring or null

When WhatsApp sent it to the recipient's phone.

delivered_atstring or null

When it reached the recipient's phone. null if WhatsApp skipped straight to read.

read_atstring or null

When the recipient opened it. Only for recipients who share read receipts.

failed_atstring or null

When the message failed.

contentobject or null

The message as the recipient received it.

content.headerarray or null

The header as text segments, or null when the template has no text header.

content.bodyarray or null

The body as text segments.

content.footerstring or null

The footer text.

content.buttonsstring[]

The button labels, in order.

Timestamps are ISO 8601 strings in UTC. Each segment of content.header and content.body is either template text, with variable set to null, or a variable, with variable set to its key and text set to the value sent:

JSON
[
  { "text": "Hi ", "variable": null },
  { "text": "Amina", "variable": "1" }
]

Join the segments' text to get the full text. Meta's own message ID and your API credentials are never returned.

Nexiom Connect
Open dashboard