Angola SMS Best Practices, Compliance, and Features
Angola SMS Market Overview
Locale name: | Angola |
---|---|
ISO code: | AO |
Region | Middle East & Africa |
Mobile country code (MCC) | 631 |
Dialing Code | +244 |
Market Conditions: Angola has a growing mobile market with increasing SMS usage for both consumer and business communications. The country faces some challenges with gray routes and unauthorized SMS traffic, with approximately 34% of A2P SMS traffic using unauthorized channels. Major mobile operators include Movicel and Unitel. While OTT messaging apps are gaining popularity in urban areas, SMS remains crucial for reaching the broader population, especially in rural regions where data connectivity may be limited.
Key SMS Features and Capabilities in Angola
Angola supports basic SMS functionality with concatenated messaging capabilities, though two-way SMS is not currently supported through major providers.
Two-way SMS Support
Two-way SMS is not supported in Angola through standard API providers.
No additional requirements are specified as the feature is unavailable.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is fully supported in Angola.
Message length rules: Standard SMS length limits apply - 160 characters for GSM-7 encoding, 70 characters for Unicode.
Encoding considerations: Both GSM-7 and UCS-2 (Unicode) encodings are supported, with messages automatically split into segments based on the encoding used.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link.
For optimal delivery, it's recommended to use SMS with URL links rather than attempting direct MMS sending.
Recipient Phone Number Compatibility
Number Portability
Number portability status is not explicitly specified in available documentation.
Carriers handle routing based on original network assignments.
Sending SMS to Landlines
SMS to landline numbers is not supported in Angola.
Attempts to send SMS to landline numbers will result in a 400 response error (code 21614) through the API, with no message delivery and no charges applied.
Compliance and Regulatory Guidelines for SMS in Angola
Angola enforces data protection through Law no. 22/11 and direct marketing regulations under Law no. 23/11. The Data Protection Agency (APD) oversees compliance and enforcement. All SMS marketing activities must comply with these regulations, with significant penalties for violations including fines and potential criminal sanctions.
Consent and Opt-In
Explicit Consent Requirements:
- Written or verifiable electronic consent must be obtained before sending marketing messages
- Consent records must be maintained and easily accessible
- Purpose of communication must be clearly stated during opt-in
- Consent must be specific to SMS communications
Best Practices for Documentation:
- Store consent timestamps and opt-in methods
- Maintain detailed records of consent source and context
- Implement double opt-in for marketing campaigns
- Regular audit of consent records
HELP/STOP and Other Commands
- STOP commands must be honored immediately
- Support for both Portuguese and English keywords
- Required keywords:
- PARAR/STOP (stop messages)
- AJUDA/HELP (get help)
- CANCELAR/CANCEL (cancel subscription)
Do Not Call / Do Not Disturb Registries
Angola does not maintain a centralized Do Not Call registry. However, businesses should:
- Maintain internal suppression lists
- Honor opt-out requests within 24 hours
- Implement automated STOP command processing
- Regularly clean contact databases
Time Zone Sensitivity
Angola follows West Africa Time (WAT/UTC+1) Recommended Sending Windows:
- Business messages: 8:00 AM - 8:00 PM WAT
- Marketing messages: 10:00 AM - 6:00 PM WAT
- Emergency notifications: 24/7 permitted
Phone Numbers Options and SMS Sender Types for Angola
Alphanumeric Sender ID
Operator network capability: Supported
Registration requirements: Not required
Sender ID preservation: Yes, dynamic alphanumeric sender IDs are supported and preserved
Long Codes
Domestic vs. International: International long codes supported; domestic availability limited
Sender ID preservation: Yes, original sender ID is preserved
Provisioning time: 1-3 business days
Use cases:
- Two-factor authentication
- Transactional messages
- Customer support communications
Short Codes
Support: Not currently supported in Angola
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Restricted Industries:
- Gambling and betting services
- Adult content
- Cryptocurrency promotions
- Unauthorized financial services
Regulated Industries:
- Banking (requires central bank approval)
- Healthcare (subject to privacy regulations)
- Insurance (requires regulatory compliance)
Content Filtering
Known Carrier Filters:
- URLs from unknown domains
- Multiple exclamation marks
- ALL CAPS messages
- Excessive special characters
Best Practices:
- Use approved URL shorteners
- Avoid spam trigger words
- Maintain consistent sender IDs
- Follow character encoding guidelines
Best Practices for Sending SMS in Angola
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-action
- Use personalization tokens strategically
- Maintain consistent brand voice
Sending Frequency and Timing
- Limit to 4-5 messages per month per user
- Respect religious and national holidays
- Avoid weekends for business messages
- Space campaigns at least 72 hours apart
Localization
- Primary language: Portuguese
- Consider local dialects for specific regions
- Use simple, clear language
- Avoid colloquialisms and idioms
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain centralized opt-out database
- Confirm opt-out with acknowledgment message
- Regular database cleaning
Testing and Monitoring
- Test across major carriers (Unitel, Movicel)
- Monitor delivery rates by carrier
- Track opt-out rates and patterns
- Regular A/B testing of message content
SMS API integrations for Angola
Twilio
Twilio provides a robust SMS API with comprehensive support for Angola. Authentication uses account SID and auth token credentials.
import { Twilio } from 'twilio';
// Initialize client with credentials
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
// Function to send SMS to Angola
async function sendSMSToAngola(
to: string,
message: string,
senderId: string
) {
try {
// Ensure number is in E.164 format for Angola (+244)
const formattedNumber = to.startsWith('+244') ? to : `+244${to}`;
const response = await client.messages.create({
body: message,
from: senderId, // Alphanumeric sender ID supported
to: formattedNumber,
});
console.log(`Message sent! SID: ${response.sid}`);
return response;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
Sinch
Sinch offers direct carrier connections in Angola with support for alphanumeric sender IDs.
import { SinchClient } from '@sinch/sdk-core';
// Initialize Sinch client
const sinchClient = new SinchClient({
projectId: process.env.SINCH_PROJECT_ID,
keyId: process.env.SINCH_KEY_ID,
keySecret: process.env.SINCH_KEY_SECRET,
});
// Send SMS using Sinch
async function sendSinchSMS(
to: string,
message: string,
senderId: string
) {
try {
const response = await sinchClient.sms.batches.send({
sendSMSRequestBody: {
to: [to],
from: senderId,
body: message,
delivery_report: 'summary' // Enable delivery reporting
}
});
console.log('Batch ID:', response.id);
return response;
} catch (error) {
console.error('Sinch SMS Error:', error);
throw error;
}
}
MessageBird
MessageBird provides reliable SMS delivery in Angola with comprehensive delivery reporting.
import { MessageBird } from 'messagebird';
// Initialize MessageBird client
const messagebird = new MessageBird(process.env.MESSAGEBIRD_API_KEY);
// Send SMS via MessageBird
async function sendMessageBirdSMS(
to: string,
message: string,
senderId: string
): Promise<any> {
return new Promise((resolve, reject) => {
messagebird.messages.create({
originator: senderId,
recipients: [to],
body: message,
reportUrl: 'https://your-webhook-url.com/delivery-reports'
}, (err, response) => {
if (err) {
reject(err);
return;
}
resolve(response);
});
});
}
API Rate Limits and Throughput
Rate Limits by Provider:
- Twilio: 100 messages/second
- Sinch: 30 messages/second
- MessageBird: 60 messages/second
Throughput Management Strategies:
- Implement exponential backoff for retries
- Use queue systems (Redis/RabbitMQ) for high volume
- Batch messages when possible
- Monitor delivery rates by carrier
Error Handling and Reporting
Common Error Scenarios:
interface SMSError {
code: string;
message: string;
timestamp: Date;
recipient: string;
}
function handleSMSError(error: SMSError): void {
// Log error details
console.error(`SMS Error ${error.code}: ${error.message}`);
// Handle specific error codes
switch (error.code) {
case 'invalid_number':
// Clean up invalid numbers from database
break;
case 'carrier_error':
// Queue for retry with exponential backoff
break;
case 'rate_limit':
// Implement delay before retrying
break;
default:
// Generic error handling
break;
}
}
Recap and Additional Resources
Key Takeaways
-
Compliance Requirements:
- Obtain explicit consent
- Honor opt-out requests within 24 hours
- Maintain proper documentation
-
Technical Considerations:
- Support for alphanumeric sender IDs
- Message concatenation available
- No MMS support (URL conversion required)
-
Best Practices:
- Send during business hours (8 AM - 8 PM WAT)
- Use Portuguese language
- Implement proper error handling
- Monitor delivery rates
Next Steps
-
Technical Setup:
- Choose an SMS provider
- Implement error handling
- Set up delivery reporting
-
Compliance:
- Review Law no. 22/11 requirements
- Consult legal counsel
- Document consent processes
-
Testing:
- Verify sender ID display
- Test message delivery
- Monitor success rates
Additional Resources
Contact Information:
- Data Protection Agency: +244 222 XXX XXX
- Technical Support (varies by provider)
- Legal Resources: Angola Legal Portal