sms compliance
sms compliance
Send SMS to Zimbabwe: Complete Developer Guide (2025) | POTRAZ Compliance
Learn how to send SMS to Zimbabwe with this comprehensive guide. Covers POTRAZ compliance, alphanumeric sender ID registration (1-week approval), Econet/NetOne/Telecel requirements, and API examples for Twilio, Sinch & MessageBird.
Zimbabwe SMS Best Practices, Compliance, and Features
Zimbabwe SMS Market Overview: Network Operators & Regulations
| Locale name: | Zimbabwe |
|---|---|
| ISO code: | ZW |
| Region | Middle East & Africa |
| Mobile country code (MCC) | 648 |
| Dialing Code | +263 |
Market Conditions: Zimbabwe's mobile market is dominated by three operators with significantly different market shares as of Q2 2025: Econet Wireless (approximately 73%), NetOne (approximately 25%), and Telecel Zimbabwe (less than 2%, declining from prior quarters). SMS remains a crucial communication channel, particularly for business messaging and notifications, despite growing adoption of OTT messaging apps like WhatsApp. Android devices significantly outnumber iOS devices in the market, making SMS an essential channel for reaching the broader population.
Sources: POTRAZ Q2 2025 sector performance reports, ITU-T E.212 for MCC 648 verification
SMS Features & Capabilities in Zimbabwe
Zimbabwe supports basic SMS functionality with some limitations on two-way messaging and specific requirements for sender ID registration and compliance.
Does Zimbabwe Support Two-Way SMS Messaging?
Two-way SMS is not supported in Zimbabwe through major SMS providers. This means you cannot receive replies to your messages through standard SMS channels.
Are Concatenated Messages (Segmented SMS) Supported?
Support: Yes, concatenated messages are supported, though availability may vary by sender ID type. Message length rules: Standard 160 characters per message segment using GSM-7 encoding. Encoding considerations: Messages using GSM-7 encoding allow 160 characters, while UCS-2 encoding (for special characters) reduces this to 70 characters per segment.
Is MMS Supported in Zimbabwe?
MMS messages are not directly supported in Zimbabwe. Instead, your MMS content is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. This ensures compatibility across all devices while maintaining the ability to share rich media content.
Recipient Phone Number Compatibility
Is Number Portability Available?
Number portability is not available in Zimbabwe. This means mobile numbers remain tied to their original network operators, simplifying message routing and delivery.
Can I Send SMS to Landlines?
SMS to landline numbers is not supported in Zimbabwe. Attempts to send messages to landline numbers will result in a failed delivery and an error response (400 error code 21614 for Twilio API), with no charges applied to your account.
POTRAZ SMS Compliance & Regulatory Guidelines for Zimbabwe
SMS communications in Zimbabwe are regulated by the Postal and Telecommunications Regulatory Authority of Zimbabwe (POTRAZ), established in 2000 and operational since March 2001. All messaging must comply with local telecommunications laws and data protection regulations under the Postal and Telecommunications Act Chapter 12:05. Maintain transparency in your messaging practices and respect consumer privacy rights.
Source: POTRAZ official documentation, verified as of 2025
How to Obtain Consent and Opt-In for SMS Marketing in Zimbabwe
Obtain explicit consent before sending any marketing or promotional messages to Zimbabwe recipients. Best practices for obtaining and documenting consent include:
- Collect written or digital opt-in confirmation
- Maintain detailed records of consent acquisition
- Clearly state the purpose and frequency of messages during opt-in
- Provide transparent terms and conditions
- Include your identity and contact information
HELP/STOP and Other Commands
- Support standard opt-out keywords in all SMS campaigns: STOP, CANCEL, END, QUIT
- Provide customer support contact information in HELP messages
- Recognize commands in both English and Shona, Zimbabwe's primary languages
- Process responses to these commands immediately and free of charge
Do Not Call / Do Not Disturb Registries
Zimbabwe maintains a DND registry managed by POTRAZ. To ensure compliance:
- Regularly check and update your suppression lists against the DND registry
- Implement immediate opt-out processing
- Maintain internal do-not-contact lists
- Document all opt-out requests and their processing dates
- Proactively filter numbers against the DND registry before sending campaigns
When Should You Send SMS Messages?
While Zimbabwe doesn't have strict time restrictions for SMS messaging, follow these best practices:
- Send messages between 8:00 AM and 8:00 PM local time (CAT/UTC+2)
- Avoid messages during national holidays
- Limit emergency messages outside these hours to genuine urgent communications
SMS Sender ID Options for Zimbabwe: Alphanumeric vs Long Codes
Alphanumeric Sender ID Registration in Zimbabwe
Operator network capability: Supported and recommended for best deliverability Registration requirements: Pre-registration required, takes approximately 1 week Sender ID preservation: Yes, displayed as registered
Long Codes
Domestic vs. International:
- Domestic long codes not supported
- International long codes supported with some restrictions
Sender ID preservation: Yes, for international numbers Provisioning time: Immediate for international numbers Use cases: Transactional messages, alerts, and notifications
Short Codes
Support: Not currently supported in Zimbabwe Provisioning time: N/A Use cases: N/A
Restricted Content & Industries for SMS in Zimbabwe
The following content types and industries face restrictions:
- Gambling and betting services
- Adult content or explicit material
- Unauthorized financial services
- Political campaign messages without proper authorization
- Cryptocurrency and investment schemes
Content Filtering
Known carrier filtering rules:
- Messages containing certain keywords may be blocked
- URLs should be from approved domains
- Message content must not mislead or deceive
Tips to avoid blocking:
- Avoid excessive punctuation and special characters
- Use clear, straightforward language
- Include sender identification in message content
- Avoid URL shorteners where possible
Best Practices for Sending SMS to Zimbabwe
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear calls-to-action
- Personalize messages using recipient names or relevant details
- Maintain consistent branding across messages
Sending Frequency and Timing
- Limit marketing messages to 2–4 per month per recipient
- Space out messages to avoid overwhelming recipients
- Consider Zimbabwe's business hours (8:00 AM – 5:00 PM CAT)
- Be mindful of religious and national holidays
Localization
- Primary languages: English and Shona
- Consider bilingual messages for wider reach
- Use local date and time formats
- Respect cultural sensitivities in message content
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain centralized opt-out databases
- Confirm opt-out requests with a final confirmation message
- Regularly audit opt-out lists for accuracy
Testing and Monitoring
- Test messages across all major carriers (Econet, NetOne, Telecel)
- Monitor delivery rates by carrier
- Track engagement metrics and optimize accordingly
- Regularly test opt-out functionality
SMS API Integration Examples for Zimbabwe (Twilio, Sinch, MessageBird)
Twilio SMS API for Zimbabwe
Twilio provides a robust REST API for sending SMS messages to Zimbabwe. Authentication requires your Account SID and Auth Token. Learn more about Twilio SMS APIs.
import { Twilio } from 'twilio';
// Initialize Twilio client with authentication credentials
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
// Function to send SMS to Zimbabwe
async function sendSMSToZimbabwe(
to: string,
message: string,
alphanumericSenderId: string
) {
try {
// Ensure proper phone number formatting for Zimbabwe
const formattedNumber = to.startsWith('+263') ? to : `+263${to}`;
const response = await client.messages.create({
body: message,
from: alphanumericSenderId, // Must be pre-registered
to: formattedNumber,
// Optional parameters for delivery tracking
statusCallback: 'https://your-webhook-url.com/status'
});
console.log(`Message sent successfully! SID: ${response.sid}`);
return response;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}Sinch SMS API for Zimbabwe
Sinch offers a straightforward API for SMS delivery to Zimbabwe, requiring an API Token and Service Plan ID. View Sinch SMS documentation.
import axios from 'axios';
class SinchSMSService {
private readonly apiToken: string;
private readonly servicePlanId: string;
private readonly baseUrl: string;
constructor(apiToken: string, servicePlanId: string) {
this.apiToken = apiToken;
this.servicePlanId = servicePlanId;
this.baseUrl = `https://sms.api.sinch.com/xms/v1/${this.servicePlanId}`;
}
async sendSMS(to: string, message: string) {
try {
const response = await axios.post(
`${this.baseUrl}/batches`,
{
from: 'YourBrand', // Pre-registered alphanumeric sender ID
to: [to],
body: message
},
{
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${this.apiToken}`
}
}
);
return response.data;
} catch (error) {
console.error('Sinch SMS sending failed:', error);
throw error;
}
}
}MessageBird SMS API for Zimbabwe
MessageBird provides SMS capabilities for Zimbabwe through their REST API. Explore MessageBird SMS features.
import messagebird from 'messagebird';
class MessageBirdService {
private client: any;
constructor(apiKey: string) {
this.client = messagebird(apiKey);
}
sendSMS(to: string, message: string): Promise<any> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator: 'YourBrand', // Pre-registered sender ID
recipients: [to],
body: message,
type: 'sms'
}, (err: any, response: any) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}API Rate Limits and Throughput
Zimbabwe carriers implement various rate limits:
- Maximum of 100 messages per second per sender ID
- Daily volume limits vary by carrier
- Batch processing recommended for large campaigns
Strategies for managing high volume:
- Implement queuing systems (Redis/RabbitMQ)
- Use exponential backoff for retries
- Schedule campaigns across multiple time windows
Error Handling and Reporting
// Common error handling utility
interface SMSError {
code: string;
message: string;
timestamp: Date;
recipient: string;
}
class SMSErrorHandler {
static async handleError(error: SMSError): Promise<void> {
// Log error details
console.error(`SMS Error [${error.code}]: ${error.message}`);
// Implement retry logic for specific error codes
if (this.isRetryableError(error.code)) {
await this.queueForRetry(error);
}
// Store error for reporting
await this.storeError(error);
}
private static isRetryableError(code: string): boolean {
const retryableCodes = ['30001', '30002', '30003'];
return retryableCodes.includes(code);
}
}Recap and Additional Resources
Key Takeaways
-
Compliance Requirements:
- Pre-register alphanumeric sender IDs
- Maintain DND compliance
- Process opt-outs within 24 hours
-
Technical Considerations:
- Use proper phone number formatting (+263)
- Implement retry logic for failed messages
- Monitor delivery rates by carrier
-
Best Practices:
- Send during business hours (8:00 AM - 8:00 PM CAT)
- Keep messages under 160 characters
- Support both English and Shona languages
Next Steps
- Register with POTRAZ for SMS services
- Implement proper consent collection mechanisms
- Set up monitoring and reporting systems
Additional Resources
Contact Information:
- POTRAZ Support: +263-242-333032
- Address: 1008 Performance Close, Mt Pleasant Business Park, P.O. Box MP843, Mount Pleasant, Harare, Zimbabwe
Frequently Asked Questions
What is the Mobile Country Code (MCC) for Zimbabwe?
Zimbabwe's MCC is 648, as assigned by the International Telecommunication Union (ITU) under ITU-T Recommendation E.212. This code is used in combination with Mobile Network Codes (MNC) to uniquely identify mobile network operators in Zimbabwe.
Which mobile operators serve Zimbabwe in 2025?
As of Q2 2025, three operators serve Zimbabwe: Econet Wireless (approximately 73% market share), NetOne (approximately 25% market share), and Telecel Zimbabwe (less than 2% market share, experiencing subscriber decline from prior quarters).
Is two-way SMS supported in Zimbabwe?
No, two-way SMS is not currently supported in Zimbabwe through major SMS providers. Businesses can send messages to recipients but cannot receive replies through standard SMS channels.
How long does alphanumeric sender ID registration take in Zimbabwe?
Pre-registration for alphanumeric sender IDs takes approximately 1 week in Zimbabwe. Alphanumeric sender IDs are supported and recommended for best deliverability with operators.
What time zone does Zimbabwe use?
Zimbabwe uses Central Africa Time (CAT), which is UTC+2 year-round. Zimbabwe does not observe daylight saving time, so the UTC offset remains constant throughout the year.
Is number portability available in Zimbabwe?
No, number portability is not currently available in Zimbabwe. Mobile numbers remain tied to their original network operators, which simplifies message routing and delivery but prevents subscribers from switching carriers while keeping their numbers.
What is POTRAZ and what role does it play in SMS messaging?
POTRAZ (Postal and Telecommunications Regulatory Authority of Zimbabwe) is the regulatory body overseeing telecommunications in Zimbabwe. Established in 2000, POTRAZ manages the DND registry, issues licenses, enforces compliance with telecommunications laws, and sets industry standards.
Can I send SMS to landline numbers in Zimbabwe?
No, SMS to landline numbers is not supported in Zimbabwe. Attempts to send messages to landline numbers will result in failed delivery with an error response (typically error code 21614), and no charges will be applied to your account.
What are the character limits for SMS in Zimbabwe?
Zimbabwe supports standard 160 characters per SMS segment using GSM-7 encoding. Messages using UCS-2 encoding (for special characters, emojis, or non-Latin scripts) are limited to 70 characters per segment. Concatenated messages are supported.
What is the maximum SMS sending rate in Zimbabwe?
Zimbabwe carriers implement a maximum rate limit of 100 messages per second per sender ID. Daily volume limits vary by carrier. For large campaigns, implement queuing systems (Redis/RabbitMQ) and schedule sends across multiple time windows.
Are short codes available in Zimbabwe?
No, short codes are not currently supported in Zimbabwe. Businesses should use alphanumeric sender IDs (recommended) or international long codes for SMS messaging.
What content is restricted in Zimbabwe SMS messaging?
Restricted content includes: gambling and betting services, adult content or explicit material, unauthorized financial services, political campaign messages without proper authorization, and cryptocurrency/investment schemes. Messages must not mislead or deceive recipients.
Frequently Asked Questions
How to send SMS messages in Zimbabwe?
Use a reputable SMS API provider like Twilio, Sinch, or MessageBird. Ensure the recipient's number starts with +263, use a pre-registered alphanumeric sender ID, and comply with all regulations.
What is the cost of sending SMS in Zimbabwe?
The cost varies based on the SMS API provider and volume. However, failed messages to landlines (which are not supported) do not incur charges.
Why does two-way SMS not work in Zimbabwe?
Two-way SMS is not supported through major SMS providers, meaning businesses cannot receive replies via standard SMS channels.
When should I send marketing SMS messages in Zimbabwe?
Adhere to best practices by sending messages between 8:00 AM and 8:00 PM local time (CAT/UTC+2), avoiding national holidays, and respecting consumer preferences.
Can I send SMS to landlines in Zimbabwe?
No, SMS to landline numbers is not supported. Attempts to send to landlines will result in delivery failure with a 400 error code 21614 (for Twilio) and no charge.
What is the character limit for SMS in Zimbabwe?
Standard SMS messages support 160 characters using GSM-7 encoding. Using UCS-2 for special characters reduces the limit to 70 characters per segment.
How to register an alphanumeric sender ID in Zimbabwe?
Alphanumeric sender IDs require pre-registration, which typically takes about one week. Consult the POTRAZ website or your SMS provider for details on the registration process.
What are the compliance requirements for sending SMS in Zimbabwe?
Comply with POTRAZ regulations, secure explicit consent before sending marketing messages, respect DND registry entries, and process opt-outs promptly within 24 hours.
What is the process for DND compliance in Zimbabwe?
Regularly check and update suppression lists against the POTRAZ-managed DND registry, implement immediate opt-out mechanisms, and proactively filter numbers before sending campaigns.
How to handle SMS delivery errors in Zimbabwe?
Implement error handling and retry logic. Utilize queuing systems for high volumes and use exponential backoff for retries. Consider common error codes and carrier-specific issues.
Why are some of my SMS messages being blocked in Zimbabwe?
Carriers may block messages containing certain keywords, URLs from unapproved domains, or misleading content. Use clear language, avoid excessive special characters, and identify the sender clearly.
What are the best practices for SMS marketing in Zimbabwe?
Keep messages concise, include clear calls-to-action, personalize content when possible, send 2-4 marketing messages per recipient monthly, and support both English and Shona languages.
How to use Twilio for sending SMS to Zimbabwe?
Initialize the Twilio client with your Account SID and Auth Token. Format the recipient number with +263, specify your pre-registered alphanumeric sender ID, and include optional delivery tracking parameters.
What are the SMS API rate limits in Zimbabwe?
Carriers typically limit to 100 messages per second per sender ID. Daily volume limits vary by carrier. For high volumes, use queuing systems and schedule campaigns across multiple time windows.