Character Limits
GSM-7 Encoding (Standard Characters)
| Message Length | Segments | Characters per Segment |
|---|---|---|
| 1-160 characters | 1 | 160 |
| 161-1600 characters | Multiple | 153 (7 chars for header) |
Unicode Encoding (Special Characters)
| Message Length | Segments | Characters per Segment |
|---|---|---|
| 1-70 characters | 1 | 70 |
| 71+ characters | Multiple | 67 (3 chars for header) |
Automatic Encoding
Enable automatic encoding to replace Unicode characters with GSM-7 equivalents:- Navigate to Messaging > Settings > Other Settings
- Enable Auto-replace
SMS Concatenation
Long messages are automatically split and reassembled.How It Works
- Plivo splits message into segments
- Concatenation header added to each segment
- Carrier reassembles at delivery
- Recipient sees single message
Billing
Each segment is billed separately. A 200-character message = 2 segments = 2x SMS cost.Send SMS
Single Message
Bulk Messages
Send to multiple recipients in one request:< character.
Receive SMS
Configure Inbound URL
- Create an application with a
message_url - Assign a Plivo number to the application
- Plivo POSTs inbound messages to your URL
Message Delivery Flow
| Stage | Description |
|---|---|
| Received | Plivo receives from carrier (charged) |
| Delivered | Successfully posted to your message_url |
| Undelivered | Failed to deliver to your URL |
message_url is not configured, messages remain in “received” status.
Source Number Requirements
US and Canada
- Must use Plivo number as source
- Non-Plivo numbers not permitted (telecom regulations)
International
- Dynamic sender IDs may be used
- Delivery not guaranteed for non-Plivo numbers
- Check country coverage for sender ID support
Geo Permissions
Control which countries can receive your SMS.Default Enabled Countries
- United States
- United Kingdom
- India
Configure Geo Permissions
- Navigate to Messaging > Settings > Geo Permissions
- Enable/disable countries as needed
- Set messages-per-hour fraud thresholds
Subaccount Permissions
By default, subaccounts inherit main account settings. Override for subaccount:- Go to Geo Permissions
- Select subaccount from dropdown
- Customize settings
- Subaccount shows “Overridden” tag
- Select overridden subaccount
- Click Remove Override
Error Code 450
Messages to disabled countries fail with error 450: “destination country barred.”SMS Pumping Protection
SMS pumping is fraud where attackers flood OTP fields with fake requests to premium numbers.Protection Features
Enabled by default for all accounts:- Automated traffic analysis
- Suspicious pattern detection
- Alerts for unusual activity
Prevention Best Practices
- Enable Geo Permissions
- Set rate limits on OTP endpoints
- Implement CAPTCHA on forms
- Monitor traffic patterns
- Use Plivo’s fraud detection tools
Access Message Content
Message content is stored for 7 days.View in Console
- Navigate to Messaging > Logs
- Search by timeframe or UUID
- View message details
Authorize Content Access
Allow Plivo support to view content for debugging:- Helps identify spam filter triggers
- Assists with delivery issues
- Enables content policy review
Insufficient Balance
When balance is insufficient:- Messages fail with error code 900
- API requests fail for 2 minutes with “Insufficient Credit”
- Queued messages continue to fail until recharged
Carrier Surcharges
Toll-Free Surcharges (US)
| Carrier | Surcharge per Segment |
|---|---|
| Verizon | $0.0025 |
| T-Mobile | Varies |
| AT&T | Varies |
Number Lookup API
Get information about phone numbers:- Local and E.164 formatting
- Carrier information
- Caller ID name (CNAM)