Campaigns
Give a send a campaign_name and it is grouped into a campaign with its own delivery report.
List campaigns
GET
/api/v1/campaignsGet a delivery report
GET
/api/v1/campaigns/:idResponse200
JSON
{
"success": true,
"data": {
"campaign_id": "cmu9x2k4a0001abcd",
"name": "September fee reminder",
"status": "PARTIALLY_COMPLETED",
"sender": "SCHOOL",
"total": 2450,
"delivered": 2390,
"failed": 60,
"pending": 0,
"delivery_rate": 97.55,
"cost": "147.00",
"currency": "GHS"
}
}Cancel what has not gone out
POST
/api/v1/campaigns/:id/cancelShell
curl -X POST https://api.jkasms.com/api/v1/campaigns/cmu9x2k4a0001abcd/cancel \
-H "Authorization: Bearer $JKASMS_SECRET_KEY" \
-H "X-JKASMS-Org-Id: $JKASMS_ORG_ID"Response200
JSON
{
"success": true,
"data": {
"cancelled": 1800,
"already_sent": 650,
"refunded": "108.00",
"currency": "GHS",
"message": "1800 message(s) cancelled. 650 had already been sent and cannot be recalled."
}
}Cancelling stops only messages still queued. Anything a network has already accepted is on its way and cannot be recalled — those stay charged. The response reports both numbers so you know exactly what you stopped.
Statuses
| Status | Meaning |
|---|---|
SCHEDULED | Waiting for its send time. Credit is reserved. |
QUEUED | Accepted, waiting for workers. |
PROCESSING | Being sent. |
COMPLETED | Everything settled, nothing failed. |
PARTIALLY_COMPLETED | Settled, with some failures. |
CANCELLED | You cancelled it. |