Campaign Report
Returns delivery counters, success / read / reply / click rates, button-click breakdown, cost summary, and failure breakdown for one campaign. Numbers are read-time aggregates over Chat + CampaignContact — they reflect the latest delivery receipts received from Meta.
GET/v2.0/campaigns/{campaignId}/report
Path Parameters
Path
| Parameter | Type | Description |
|---|---|---|
| campaignId | string | Campaign id returned by POST /v2.0/campaigns |
Example
curl -X GET https://api.sendiee.com/v2.0/campaigns/664a.../report \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"success": true,
"data": {
"campaign": {
"campaignId": "664a...",
"name": "Diwali sale 2026",
"status": "completed",
"templateName": "diwali_sale_2026",
"scheduleType": "scheduled",
"scheduledAt": "2026-04-29T04:00:00.000Z",
"timezone": "Asia/Kolkata",
"startedAt": "2026-04-29T04:00:08.000Z",
"completedAt": "2026-04-29T04:18:42.000Z",
"createdAt": "2026-04-28T18:55:00.000Z"
},
"totals": {
"totalContacts": 1234,
"sent": 1200,
"delivered": 1180,
"read": 950,
"failed": 30,
"skipped": 4,
"pending": 0,
"processing": 0
},
"rates": {
"delivery": 98,
"read": 80,
"reply": 6,
"click": 11,
"success": 97
},
"engagement": {
"replies": 78,
"totalReplyMessages": 92,
"buttonClicks": 132,
"buttonClickBreakdown": [
{
"buttonText": "Shop now",
"count": 90,
"percentage": 70
}
]
},
"cost": {
"currency": "INR",
"totalCost": 1234.56,
"byCategory": [
{
"key": "marketing",
"count": 1200,
"cost": 1234.56
}
],
"byCountry": [
{
"key": "IN",
"count": 1200,
"cost": 1234.56
}
]
},
"failure": [
{
"errorCode": "131026",
"count": 18,
"sampleMessage": "Recipient unable to receive message"
}
]
}
}