Campaigns

Give a send a campaign_name and it is grouped into a campaign with its own delivery report.

List campaigns

GET/api/v1/campaigns

Get a delivery report

GET/api/v1/campaigns/:id
Response200
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/cancel
Shell
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

StatusMeaning
SCHEDULEDWaiting for its send time. Credit is reserved.
QUEUEDAccepted, waiting for workers.
PROCESSINGBeing sent.
COMPLETEDEverything settled, nothing failed.
PARTIALLY_COMPLETEDSettled, with some failures.
CANCELLEDYou cancelled it.