BulkSMS API Documentation
Integrate SMS, WhatsApp, Voice OTP, and Network APIs into your application in minutes. Highly reliable SDKs and low-latency REST API.
Authentication
BulkSMS API authenticates your requests using secret API keys sent in the request headers. All API requests must be performed over secure HTTPS connection.
Required Headers
curl -X GET https://api.smsala.com/v1/account \
-H "Authorization: Bearer YOUR_API_KEY"SMS API
Send short text messages and verification alerts (2FA/OTP) directly to any mobile network in Brazil through Tier-1 routes.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| to | string | Yes | Recipient phone number in international format (E.164), e.g., +971501234567. |
| from | string | Yes | Sender ID displayed to the recipient. Up to 11 alphanumeric characters. |
| text | string | Yes | The message body text. Maximum 160 characters per standard segment. |
curl -X POST https://api.smsala.com/v1/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+971501234567",
"from": "YourBrand",
"text": "Your OTP code is 123456"
}'WhatsApp API
Send conversational messages using Meta's Official WhatsApp Business API. Populate pre-approved message templates with variables for contextual utility.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| to | string | Yes | Recipient phone number in international format (E.164), e.g., +971501234567. |
| template | string | Yes | Name of the pre-approved WhatsApp template in Meta's Business Suite. |
| language | string | Yes | Language locale code of the template (e.g., 'en', 'pt_BR'). |
| params | string[] | No | Ordered array of string values to populate dynamic placeholders in your template. |
curl -X POST https://api.smsala.com/v1/whatsapp/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+971501234567",
"template": "otp_verification",
"language": "en",
"params": ["123456"]
}'Verify API (OTP)
Securely generate and check multi-factor verification codes (OTP). The Verify API manages token generation, lifetimes, state validation, and fallback logic automatically.
1. Request OTP Code
| Field | Type | Required | Description |
|---|---|---|---|
| to | string | Yes | Recipient phone number in international format (E.164), e.g., +971501234567. |
| channel | string | Yes | Delivery channel: 'sms' or 'whatsapp'. |
| codeLength | number | No | OTP code character length. Allowed values: 4 or 6. Default: 6. |
2. Check OTP Code
| Field | Type | Required | Description |
|---|---|---|---|
| to | string | Yes | Recipient phone number in international format (E.164), e.g., +971501234567. |
| code | string | Yes | The numeric verification code input by the end user. |
# 1. Send OTP
curl -X POST https://api.smsala.com/v1/verify/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+971501234567",
"channel": "sms",
"codeLength": 6
}'
# 2. Check OTP
curl -X POST https://api.smsala.com/v1/verify/check \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+971501234567",
"code": "482910"
}'Network APIs
Audit real-time carrier telemetry data. Prevent cellular-identity hijacking and Pix transaction fraud by querying recent SIM card modifications (SIM Swap).
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| to | string | Yes | Mobile phone number in international format (E.164) to audit. |
| maxAgeHours | number | No | Time window threshold in hours to check for a SIM Swap history. Default: 24. |
curl -X POST https://api.smsala.com/v1/network/sim-swap \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+971501234567",
"maxAgeHours": 24
}'