SMS integration workflow
1. Complete the first workflow
Section titled “1. Complete the first workflow”Read the SMS overview to choose an operation. Then follow your first SMS: obtain a key, submit a message, retain its identifier and retrieve its status.
Your application remains responsible for recipient selection and consent management. Creating a contact does not replace that consent.
2. Prepare content and credits
Section titled “2. Prepare content and credits”Check the sender name before submitting. Understand segment counting, then read credits and contacts for the operations your integration needs.
3. Choose a sending mode
Section titled “3. Choose a sending mode”Scroll horizontally if needed. Keyboard: Tab, then the left and right arrow keys.
| Need | Guide | Creation permission |
|---|---|---|
| One recipient now | Immediate sending | sms.send |
| One recipient at a future time | Scheduling | sms.schedule |
| Multiple recipients sharing a text and future time | Batches | sms.schedule |
4. Record and track each operation
Section titled “4. Record and track each operation”Save the idempotency key before the network request and public identifiers when you receive the response. Use delivery.read to retrieve outcomes. Provider acceptance is not delivery.
Combine statuses, idempotency and retries and errors to distinguish definite rejection, processing and an unknown outcome.
Integration recipes show how to connect these steps in your application.
5. Check before going live
Section titled “5. Check before going live”- Verify the key’s organization, activation and permissions.
- Preserve the initial body and idempotency key during retries.
- Handle insufficient credits even after a favorable balance read.
- Handle batch pagination and the possibility of changing statuses.
- Do not resend an SMS to repair or verify its delivery receipt.
- Prepare logs without secrets and your support workflow.
The API reference describes exact operations and schemas. The contract includes no customer webhooks or dedicated OTP endpoint.