Message Status
Track the delivery lifecycle of your outbound messages. WaConnect automatically updates message statuses via WhatsApp webhooks.
Status Lifecycle
Every outbound message progresses through the following statuses:
pending
→
sent
→
delivered
→
read
or
failed
| Status | Meaning |
|---|---|
pending | Message accepted by WaConnect, awaiting Meta API response |
sent | Message accepted by WhatsApp servers |
delivered | Message delivered to the recipient's device |
read | Recipient opened and read the message |
failed | Message could not be delivered (see error details) |
Get Message Status
GET
/api/status/message/:messageId
Retrieve the complete tracking history for a specific message.
GET /api/status/message/wamid.HBgLMTU1NTEyMzQ1NjcVAgASGCA0 HTTP/1.1
Host: app.waconnect.me
X-API-Key: wba_YOUR_API_KEY_HEREHTTP
Response
{
"success": true,
"data": {
"waMessageId": "wamid.HBgLMTU1NTEyMzQ1NjcVAgASGCA0",
"to": "15551234567",
"status": "read",
"timestamp": "2026-04-11T10:35:00.000Z",
"conversation": {
"id": "123456789012345",
"origin": {
"type": "business_initiated"
}
},
"pricing": {
"billable": true,
"pricingModel": "CBP",
"category": "business_initiated"
},
"statusHistory": [
{ "status": "sent", "timestamp": "2026-04-11T10:30:00.000Z" },
{ "status": "delivered", "timestamp": "2026-04-11T10:30:05.000Z" },
{ "status": "read", "timestamp": "2026-04-11T10:35:00.000Z" }
]
}
}JSON
List All Tracked Messages
GET
/api/status
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | number | 50 | Maximum records to return |
offset | number | 0 | Number of records to skip |
status | string | — | Filter by status (sent, delivered, read, failed) |
type | string | — | Filter by message type (text, image, etc.) |
Get Tracking Statistics
GET
/api/status/statistics
Returns aggregate counts of messages grouped by status and type.
Get Conversation Analytics New
GET
/api/status/analytics/conversations
Returns conversation metrics including total conversations, billable conversations, and breakdown by category (marketing, utility, authentication, service).
| Parameter | Type | Default | Description |
|---|---|---|---|
start | string | 30 days ago | Start date (YYYY-MM-DD) |
end | string | today | End date (YYYY-MM-DD) |
granularity | string | DAILY | Grouping granularity (DAILY or MONTHLY) |
C# Example
// Check status of a specific message
var msgId = "wamid.HBgLMTU1NTEyMzQ1NjcVAgASGCA0";
var response = await client.GetAsync(
$"https://app.waconnect.me/api/status/message/{msgId}");
var json = await response.Content.ReadAsStringAsync();
var doc = JsonDocument.Parse(json);
var status = doc.RootElement
.GetProperty("data")
.GetProperty("status").GetString();
Console.WriteLine($"Message status: {status}");
// Output: "Message status: read"C#