From zero to first dispatch in the queue: create the template, enable the channels you need, and call POST /v1/templates/send. Management (templates:*) and send (per-channel scopes) are different permission families.
In short
- A template does not need all seven channels, enable only what you use.
- On send,
channels must be a subset of enabled channels.
- 202 response = queued. Delivery → each channel’s webhooks. Meta approval →
template.* webhooks.
Context: Introduction. Scopes: API Key scopes. Official WhatsApp: Official Meta templates.
Before you start
- Management:
templates:create (create), templates:read (list)
- Send: scope for each channel used (
sms:send, email:send, whatsapp:send, …)
- WhatsApp: active instance. Email: verified domain. Push: app. Voice: ACTIVE number
- Auth:
Authorization: Bearer sk_live_... or x-api-key
- Base URL:
https://api.notifique.dev
1. Create template
1A, Via dashboard
- Templates → New template
- Enable channels (SMS, email, WhatsApp, …)
- Write content with
{{variables}} and save
For official WhatsApp: after create, use Sync or Publish to Meta on the official instance, full guide.
1B, Via API
Scope: templates:create.
Expected response: 200 with enabledChannels (e.g. ["email","sms"]).
Other channel payloads: Variables and CRUD.
2. Send by template
Scopes in this example: sms:send, email:send.
Expected response: 202
Only IDs for channels that generated sends appear. Per channel: messageIds (WhatsApp), smsIds, emailIds, telegramIds, rcsIds, pushIds, voiceCallIds.
WhatsApp in the same template
Include whatsapp in channels and instanceId (if no workspace default):
Official line: template must be linked/approved on Meta (WHATSAPP_OFFICIAL, APPROVED). See Official Meta templates.
3. Track results
Next steps