SMS Overview
Introduction to CloudVNO's Programmable SMS API — capabilities, concepts, and getting started.
What is Programmable SMS?
CloudVNO's Programmable SMS API lets you send and receive SMS messages programmatically in 150+ countries. Use it for transactional alerts, two-way conversations, marketing campaigns, appointment reminders, and more.
Core Concepts
Phone Numbers
To send SMS, you need a CloudVNO phone number. Numbers can be:
- Long codes — Standard 10-digit numbers (US: +1XXXXXXXXXX). Best for conversational P2P messaging.
- Short codes — 5-6 digit numbers (US only). Best for A2P campaigns at high volume.
- Toll-free numbers — Best for mid-volume A2P with higher throughput than long codes.
Message SID
Every message has a unique SID (e.g., SM1a2b3c4d5e6f...). Use it to look up message status, handle callbacks, and debug.
Message Status Lifecycle
queued → sent → delivered
└→ undelivered (carrier rejection)
└→ failed (before leaving CloudVNO)
Status updates are delivered via webhooks.
Encoding
- GSM-7: Standard SMS encoding, supports 160 characters per segment
- Unicode (UCS-2): Required for emoji and non-Latin characters, limits to 70 characters per segment
- Concatenated SMS: Long messages are split and reassembled automatically
A2P vs P2P Messaging
| A2P (Application-to-Person) | P2P (Person-to-Person) | |
|---|---|---|
| Use case | Marketing, notifications, alerts | Conversational, 2-way support |
| Number type | Short code, toll-free, 10DLC long code | Long code |
| Throughput | High (100-500 MPS) | Low (1 MPS per number) |
| Registration | 10DLC required for US long codes | None |
Compliance
Before sending in the US, ensure you:
- Register your brand and campaign for A2P 10DLC (required since 2021)
- Include opt-out instructions in marketing messages ("Reply STOP to unsubscribe")
- Honor opt-outs immediately — CloudVNO auto-manages opt-outs for you
- Follow TCPA guidelines for time-of-day restrictions