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://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.

Was this page helpful?