Session Message Failed

Session Message Failed — current payload, usage and account requirements.

eventType: sessionMessageFailed. A session-message attempt failed. HTTP acceptance of the original send is separate from this delivery result.

Use this documented event only when it is registered by your workspace's event-types API and the relevant product/channel is available on your account. Registration alone is not a delivery guarantee; verify an actual permitted event reaches your enabled subscription. Acknowledge promptly with a successful 2xx; process idempotently and allow duplicate/out-of-order delivery. Do not assume a universal event UUID, fixed retry schedule or signing scheme. See webhook setup and recovery.

Example

{
  "eventType": "sessionMessageFailed",
  "id": "<wati-message-id>",
  "conversationId": "<conversation-id>",
  "ticketId": "<ticket-id>",
  "localMessageId": "<caller-local-message-id>",
  "type": "session",
  "statusString": "Failed",
  "text": "Example session message",
  "timestamp": "1793318400",
  "failedCode": "<provider-failure-code>",
  "failedDetail": "Message could not be delivered."
}

The example is illustrative, not an exhaustive list of fields or possible outcomes. Null/absent values must be handled.

FieldType / meaning
idWATI message identifier; keep distinct from localMessageId and the provider ID.
localMessageIdCaller correlation when available; not a universal request-idempotency guarantee.
whatsappMessageIdProvider message identifier when available; may be absent on an early failure.
conversationId / ticketIdRelated conversation/ticket identifiers when present.
typesession.
statusStringFailed.
timestampUnix seconds as a string, assigned when the failure notification is mapped; not necessarily the original send time.
failedCode / failedDetailFailure code/detail strings from the provider/service; do not assume one fixed enumeration.
operatorEmail / assigneeIdOptional sender/assignment metadata.
channelId / channelPhoneNumberOptional channel metadata when emitted.