Skip to main content

Service 01 / SMS Marketing

SMS Marketing
with status on every message.

Upload a list of numbers, write a message with variables, then send it now or schedule it. Every message carries its own status, and every batch keeps a record.

Campaign flow

From a list of numbers to ready-to-send.

  1. 01

    Import

    Upload TXT, CSV, or XLSX, then map the number and name columns.

  2. 02

    Compose

    Write the message, add variables, check the estimated segment count.

  3. 03

    Schedule

    Send right away or pick your own start time.

  4. 04

    Monitor

    Track status per recipient, failed messages, and delivery results.

Checks before sending

Three things bulk senders often miss.

Segments, duplicates, and media. The composer estimates message length, the importer cleans up number formats, and media is checked before a batch reaches the queue.

Segments
SMS is billed per segment. GSM-7 fits 160 characters, Unicode 70. Long messages are split according to gateway rules.
Duplicates
When you create a batch through the API, numbers must be unique within a request. That prevents sending twice to the same number.
Media
RCS takes one optional file, MMS requires one. The URL must be HTTPS, and the file is downloaded before the batch is created.

Batch status

One status, one meaning.

Batch status follows the API contract. The dashboard and your integration read the same values, so what you see in the dashboard matches what the API returns.

draft
The batch exists but has not been queued yet.
importing
The recipient list is still being processed.
pending
The batch is waiting for its turn to send.
running
Messages are being sent or handled by the gateway.
completed
Every message has finished processing.
failed
The batch stopped because something needs your attention.
cancelled
The batch was stopped before it finished.

Send through the API

Every batch needs an Idempotency-Key.

Send a unique key with the request. If the connection drops, retry with the same key so the batch is not created twice. The initial response includes a batch_id you can use to track status.

Create an SMS batch
curl -s -X POST "$NOTIF_API_URL/api/v1/sms" \  -H "Authorization: Bearer $NOTIF_TOKEN" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: promo-november-001" \  -d '{    "name": "November Promo",    "recipients": ["081234567890", "081234567891"],    "type": "SMS",    "message": "Special promo today. Use code NOTIF20."  }'

Usage limits

Limits you can check before sending.

Scroll the table sideways to see the other columns.

SMS batch creation limits through the API
ItemValueNotes
Recipients per API batch1 to 1,000Numbers must be unique within a request.
Message length5,000 charactersApplies to SMS, RCS, and MMS.
RCS media1 file, 25 MBImage, video, or document. HTTPS URL up to 2,048 characters.
MMS media1 file, 25 MBImage, audio, or document. MMS requires media.
Rate limit120 / minuteCounted per token and per account. A 429 response includes Retry-After.
ID formatULIDUsed for the batch and every message.

Questions

Before you hit send.

What does an SMS over 160 characters cost?

It is billed per segment. The composer shows the estimated GSM-7 or Unicode segment count before you send. The actual count and cost follow the gateway that processes the message.

Are duplicate numbers sent twice?

When you create a batch through the API, numbers must be unique within a request. That prevents double sends. When importing a file, review the recipient summary before the batch runs.

Can a campaign be scheduled?

Yes. In the composer, choose a start time instead of sending now. The batch waits for its schedule before processing.

Are RCS and MMS supported?

Yes. RCS takes one optional media file, MMS requires one. Media is downloaded and stored before the batch is created.

Can I track message status through the API?

Yes. Use GET /api/v1/sms to list batches and GET /api/v1/sms/batches/{id} for message details. Each message has a status and an attempt count.

Other services

Set up your first campaign.

Open the SMS workspace, upload your recipient list, check the segment estimate, then run the batch.