What is SMS on Notifique?
It’s the channel to send short text (9 to 160 characters) straight to the recipient’s phone. You send from the dashboard or API; the platform handles queue, retries, and status for each message. You can:- Send verification codes (OTP) and one-time passwords
- Remind about appointments, deliveries, and deadlines
- Reach customers without WhatsApp or without an app installed
- Schedule sends for a future date and time
- Query history and status for each SMS
- Receive customer replies (MO) and track them via webhook
Unlike WhatsApp, SMS does not use an instance (paired number). You only need an API Key with the right scope and recipients in international format (e.g.
5511999999999, no +).When to use it?
It works very well for verification codes, urgent reminders, and customers without WhatsApp. For long text with images, prefer email. Mass campaigns are possible, but SMS uses more credits, weigh cost first.How it works in practice
- Create an API Key with
sms:send(andsms:read/sms:cancelif querying or canceling) - Send to one or many numbers with
POST /v1/sms/messages(up to 500 per call) - The platform queues, sends, and updates status; your backend gets notifications if you set up webhooks
Each API Key belongs to one workspace. On v1 do not send
x-workspace-id. If that header is present, the API returns 400 (WORKSPACE_HEADER_NOT_ALLOWED).Message lifecycle
After send, an SMS moves through statuses likeQUEUED (in queue), SENT (at the carrier), DELIVERED (confirmed on the phone), or FAILED (invalid number, block, etc.). Scheduled sends start as SCHEDULED; cancellations become CANCELLED.
API cancellation works while status is QUEUED or SCHEDULED.
What you can do
- Send to 1 to 500 international numbers per call
- Schedule with
schedule.sendAt - Query history or a send by id
- Cancel queued or scheduled sends
- Read inbound SMS (MO) with
sms:read - Idempotency with
Idempotency-Keyheader to avoid duplicates - Track clicks on short links (
sms.clickedwebhook) - Pick the send type with
options.speed— see below
Send types (options.speed)
SMS is the only channel where you pick the carrier route. In the dashboard (SMS → New SMS → Send type), the labels are SMS Full, SMS Standard, and SMS Slow — in the API, use options.speed.
options.speed bills as standard. Invalid value → 400 (options.speed must be full, standard, slow).
Own number (from)
With from (id or E.164 of an active workspace number with SMS enabled), the message is sent from the line you purchased — recipients see your number, not the shared sender. Price is dynamic per destination country — see smsOwnNumber.rates[] in Pricing API. options.speed does not apply.
Full guide: SMS with your own number.
speed is not priority
Billing details: Billing and pay-as-you-go. API examples: SMS reference → Send SMS (playground: Full, Slow, own number).
Field and error details: API reference on the SMS tab.
Localization and variables
localization(mode:off|manual|ai, optionalsourceLocale) andi18ntranslate text per recipient based on contact language.- Root
variablessubstitute{{name}}placeholders in text (type: text). - For
type: template, usepayload.templateIdandpayload.variables. - The 202 response may include
data.localizationand, when some numbers are skipped,data.smsSkippedRecipients.
After your first send
- Track delivery and failure via webhooks (
sms.sent,sms.delivered,sms.failed) - Process replies with
sms.receivedandsms.replied, guide: Inbound messages - Test in Sandbox with
sk_test_...before production
Next steps
- Quick Start: first send via API
- API Key scopes: permissions
- Webhook events: what hits your URL
- Start here: general platform integration

