MCP is live.Set upAsk the community
OmniDimension
WhatsApp

Get a message

One message with its timeline: the delivery and read steps, oldest first. Poll it after a send to learn whether the message was delivered and read. Also shows what the send cost once it is charged.

Set up WhatsApp first. Connect a WhatsApp number in the dashboard or with Connect numbers. Included on every paid plan. See plans.

GET/whatsapp/messages/
Path parameters
message_idrequired
curl -X GET 'https://backend.omnidim.io/api/v1/whatsapp/messages/{message_id}' \
  -H 'Authorization: Bearer YOUR_API_KEY'
Example response
synthetic
{
  "id": 0,
  "conversation_id": "string",
  "wa_message_id": "string",
  "sender": "customer",
  "type": "string",
  "text": "string",
  "caption": "string",
  "profile_name": "string",
  "sent_by_workflow": "string",
  "timestamp": "string",
  "status": "pending",
  "reply_to": {
    "wa_message_id": "string",
    "preview": "string",
    "sender": "customer"
  },
  "reactions": [
    {
      "emoji": "string",
      "sender": "customer",
      "timestamp": "string"
    }
  ],
  "media": {
    "mime": "string",
    "filename": "string",
    "size": 0,
    "fetch_status": "done"
  },
  "voice": {
    "duration_seconds": 0,
    "transcript": "string"
  },
  "location": {
    "lat": 0,
    "lng": 0,
    "name": "string",
    "address": "string",
    "map_url": "string"
  },
  "contacts": [
    {
      "name": "string",
      "phones": [
        "string"
      ]
    }
  ],
  "interactive": {
    "title": "string"
  },
  "template": {
    "id": 0,
    "name": "string"
  },
  "failure": {
    "code": "string",
    "reason": "string",
    "retryable": false
  },
  "charged": {
    "amount": 0,
    "currency": "string"
  },
  "timeline": [
    {
      "status": "received",
      "at": "string"
    }
  ]
}

Authorization

BearerAuth
headerAuthorizationBearer <token>

Bearer token authentication. Obtain your API key from the OmniDimension dashboard.

Path Parameters

message_id*integer

Id of a message, from listWhatsappMessages or a send response.

Response body

application/json

Response Body

The message.

application/json
id?integer
conversation_id?string
wa_message_id?string

The message's id at WhatsApp, when there is one.

sender?string
Value in"customer""agent""person"
type?string

The message type: text, image, video, audio, document, template, reaction, interactive, location, contacts, call or other.

text?string
caption?string
profile_name?string
sent_by_workflow?string

The workflow that sent it, when a workflow did.

timestamp?string
status?WhatsappMessageStatus

received is an inbound customer message. The rest are outbound, in order: pending, sent, delivered, read, or failed.

Value in"pending""sent""delivered""read""received""failed"
reply_to?

The message this one quotes, when it quotes one.

reactions?
media?

Media details, when the message carries a file. It holds no download link.

voice?

Voice note details, when the message is one.

location?
contacts?
interactive?
template?

The template this message sent, when it is a template message.

failure?

Why a send failed, present only when status is failed.

charged?

What this send cost, when it has been charged.

timeline?

The delivery steps of this message, oldest first.