Personalized bulk

A different message for every recipient in one request — statements, balances, due dates, anything per-person.

POSThttps://api.mobilesasa.com/v1/send/bulk-personalized

Parameters

FieldTypeRequiredDescription
senderIDstringYesAn approved sender ID on your account.
messageBodyarrayYesArray of { phone, message } objects — each recipient with their own text.
curl -X POST https://api.mobilesasa.com/v1/send/bulk-personalized \
  -H "Authorization: Bearer $MOBILESASA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "senderID": "MOBILESASA",
    "messageBody": [
      {
        "phone": "0712000001",
        "message": "Dear Amina, your loan instalment of KES 5,400 is due on 15 Aug."
      },
      {
        "phone": "0733000002",
        "message": "Dear Peter, your loan instalment of KES 12,100 is due on 15 Aug."
      },
      {
        "phone": "0700000003",
        "message": "Dear Grace, your loan instalment of KES 3,250 is due on 15 Aug."
      }
    ]
  }'

Response

json
{
  "status": true,
  "responseCode": "0200",
  "message": "Accepted for delivery"
}

Notes

  • Billing is per part per message — a long message for one recipient doesn't affect what the others cost.
  • Render the personalisation yourself (your data lives in your system). Pull names/amounts from your database, build the array, send once.
  • Invalid phones in the array are skipped; the rest deliver. The daily duplicate rule applies per recipient.
  • For per-message tracking IDs, loop v2 single sends instead — bulk-personalized doesn't return per-row IDs.