ERPNext / Frappe

Send every ERPNext SMS — notifications, OTPs, manual messages — through Mobile Sasa with no code and no app install. ERPNext's built-in SMS Settings speaks plain HTTP, and so do we.

How it works

ERPNext ships with a generic SMS gateway form at Settings → SMS Settings. You give it a URL, tell it which parameter carries the message and which carries the recipient, and add any static parameters the gateway needs. Every SMS feature in ERPNext — notifications, SMS Center, OTP login — then routes through that gateway.

Mobile Sasa exposes a GET endpoint shaped exactly for this form. Filled in once, your ERPNext site sends through your Mobile Sasa account with your registered sender ID, at your account's rate.

The endpoint

GEThttps://api.mobilesasa.com/v1/send/messageget

Query parameters: senderID, message, phone, api_token. Phone numbers may be local (0712345678) or international (254712345678) — both are accepted.

Configure SMS Settings

Open Settings → SMS Settings and enter:

SMS Settings values
SMS Gateway URL:     https://api.mobilesasa.com/v1/send/messageget
Message Parameter:   message
Receiver Parameter:  phone
Use POST:            unticked (leave as GET)

Static Parameters (add two rows):
  Parameter          Value
  ---------          -----
  senderID           YOUR_SENDER_ID     (e.g. MOBILESASA)
  api_token          YOUR_API_TOKEN

YOUR_SENDER_ID is any sender ID approved on your account — the portal lists yours under Sender IDs. YOUR_API_TOKEN is an API token from Settings → API Tokens in the portal; create one scoped to Send messages only — that is all this integration needs. See Authentication & tokens.

Test it

In ERPNext open the SMS Center (or any customer with a mobile number and use Send SMS). A successful send answers:

Response
{
  "status": true,
  "responseCode": "0200",
  "message": "Message sent successfully",
  "messageId": "..."
}

Delivery reports for every message sent this way are visible in the portal under Messages, and queryable via the DLR endpoint.

Troubleshooting

  • “You are not assigned to this sender ID” — the senderID value must exactly match a sender approved on the same account the token belongs to.
  • No SMS arrives, no error in ERPNext— ERPNext treats any HTTP 200 as sent. Check the portal's Messages page: if the message is there, it was accepted and the issue is delivery-side; if it is not, re-check the static parameters (a typo in api_token answers 401, which ERPNext surfaces in the error log).
  • Balance — sends are billed per SMS part at your account rate. Top up from the portal; the balance endpoint answers programmatically.

Coming soon

A dedicated mobilesasa_integration Frappe app — one-click configuration, OTP flows, delivery-report writeback and balance in your workspace — is in the works. The SMS Settings route above needs none of it to start sending today.