API request builder.
Fill in typed fields and watch a correct BroadNet SMS request assemble live — POST /sms/sendSms with a Bearer token and a JSON body, plus copy-paste snippets in cURL, Node, Python and the TypeScript SDK. The legacy HTTP API is here too, for existing SMPP-era integrations. It builds the request; it never sends.
The API access token from your BroadNet account. Keep it in an environment variable (BROADNET_TOKEN), never in source code.
The approved sender ID shown to the recipient.
Digits with the country code and no leading +, e.g. 447700900123.
32 characters in the message body
The REST API authenticates every call with an Authorization: Bearer header carrying your account's access token. Credentials never go in the URL or the JSON body. New integrations should use this API.
{
"senderId": "BroadNet",
"destinationNumber": "447700900123",
"message": "Your verification code is 482913",
"messageType": "TEXT"
}curl -X POST https://api.broadnet.me/sms/sendSms \ -H "Authorization: Bearer $BROADNET_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "senderId": "BroadNet", "destinationNumber": "447700900123", "message": "Your verification code is 482913", "messageType": "TEXT"}'HTTP/1.1 200 OK
2603121407537573731A successful send returns HTTP 200 with the message ID as the response body. A missing or invalid token is rejected by the API gateway with 401 and a JSON body of two fields, error and message; other API errors return an ExceptionResponse (status, error, message, errorCode, requestUri). The ID shown is illustrative.
Everything runs in your browser. No request leaves this page and no credential is transmitted. Copy a snippet and run it with your own token against the production API.
The short answer
What does the request builder do?
It turns a form into a correct BroadNet SMS API request. Fill in the sender ID, recipient, message and encoding, and the tool assembles POST /sms/sendSms with an Authorization: Bearer header and a JSON body, alongside ready-to-run cURL, Node, Python and TypeScript SDK snippets. Nothing is sent: it produces the exact request you would run yourself.
How a send works
POST a JSON body with four required fields — senderId, destinationNumber, message and messageType (TEXT for GSM-7, UNICODE for everything else) — to /sms/sendSms, with your token in the Authorization: Bearer header. A 200 response carries the message ID. The official TypeScript SDK (@broadnet/cpaas-sdk) wraps the same call; from any other language, call the REST API directly or generate a client from the OpenAPI 3.1 spec.
POST /sms/sendSms body fields
| Parameter | Required | Description |
|---|---|---|
| senderId | Yes | The approved sender ID shown to the recipient. |
| destinationNumber | Yes | Recipient number: digits with the country code, no +. |
| message | Yes | The message body. |
| messageType | Yes | TEXT (GSM-7) or UNICODE (Arabic, emoji, other scripts). |
| campaignName | No | A label that groups sends in your reports. |
| templateId | No | Registered template ID, where local rules require one. |
GET /websmpp/websms parameters (legacy)
| Parameter | Required | Description |
|---|---|---|
| user | Yes | Legacy API username (accesskey can replace user + pass). |
| pass | Yes | Legacy API password. |
| sid | Yes | Sender ID shown to the recipient. |
| mno | Yes | Recipient number with the country code, no +. |
| type | Yes | Encoding: 1 English/GSM-7, 2 Unicode, 3 English + special characters, 4 Arabic. |
| text | Yes | Message body, URL-encoded. |
| schtime | No | Scheduled delivery time (yyyyMMddHHmm). |
| gmt | No | Time-zone offset for the scheduled time. |
Frequently asked questions
Does this tool send a message?
No. The builder assembles the request entirely in your browser and displays it. Nothing is transmitted and no credential leaves the page. Copy a snippet and run it yourself with your own token.
Which API should I use?
New integrations should use the REST API: POST /sms/sendSms with an Authorization: Bearer token and a JSON body. The legacy HTTP API (GET /websmpp/websms, with credentials as query parameters) is kept for existing SMPP-era integrations.
How do I authenticate?
Send your account's access token in an Authorization: Bearer header on every REST call. The builder shows the $BROADNET_TOKEN environment variable as a placeholder — keep the real token out of source code.
What is the difference between TEXT and UNICODE?
TEXT uses the GSM-7 alphabet: 160 characters in a single SMS, 153 per part when concatenated. UNICODE covers Arabic, emoji and other scripts: 70 characters in a single SMS, 67 per part. POST /sms/identify returns the right messageType and segment count for any message.
Is there an SDK?
Yes — one official SDK, for TypeScript / Node.js: @broadnet/cpaas-sdk (npm install @broadnet/cpaas-sdk axios). From any other language, call the REST API directly as the snippets show, or generate a client from the OpenAPI 3.1 spec.
What response should I expect?
A successful POST /sms/sendSms returns HTTP 200 with the message ID as the body. A missing or invalid Bearer token gets a 401 from the API gateway with a JSON body of error and message; other errors return an ExceptionResponse with status, error, message, errorCode and requestUri.
Ready to send for real?
Get your access token, drop a generated snippet into your codebase, and send test messages to your own verified number before you go live.