sms compliance
sms compliance
Benin SMS Guide
Explore Benin SMS: compliance (ARCEP), features, & best practices. Supports 2-way SMS, concatenated messages (160 GSM-7 chars), but not landlines. Mandates double opt-in, STOP/HELP commands, & 8 AM-5 PM GMT+1 sending window. Alphanumeric sender ID pre-registration required.
Benin SMS Best Practices, Compliance, and Features
Benin SMS Market Overview
| Locale name: | Benin |
|---|---|
| ISO code: | BJ |
| Region | West Africa |
| Mobile country code (MCC) | 616 |
| Dialing Code | +229 |
Market Conditions: Benin's mobile market is dominated by three major operators: MTN Benin, Moov Benin, and Glo Benin. SMS remains a crucial communication channel, particularly for business messaging and notifications. While OTT messaging apps like WhatsApp are gaining popularity in urban areas, SMS maintains strong penetration across both rural and urban regions due to its reliability and universal device support. Android devices dominate the market with over 85% market share, while iOS devices represent a smaller segment primarily in urban centers.
Key SMS Features and Capabilities in Benin
Benin supports standard SMS features including two-way messaging, concatenation, and delivery receipts, with specific regulatory requirements around sender identification and message content.
Two-way SMS Support
Two-way SMS is fully supported in Benin across all major carriers. You can implement interactive messaging campaigns, though you'll need to ensure compliance with ARCEP guidelines for commercial messaging interactions.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenated messages are fully supported across all major carriers in Benin.
Message length rules: Standard 160 characters for single SMS using GSM-7 encoding, or 70 characters for Unicode. Messages exceeding these limits are automatically segmented into multiple parts.
Encoding considerations: GSM-7 is recommended for standard Latin alphabet messages to maximize character limit. UCS-2 encoding is supported for messages containing special characters or local language content, though this reduces the per-message character limit.
MMS Support
MMS messages are not universally supported across all carriers in Benin. When sending rich media content, it's recommended to send an SMS with a URL link to the content hosted online. This ensures better deliverability and user experience across all device types.
Recipient Phone Number Compatibility
Number Portability
Number portability is currently being implemented in Benin as part of the transition to 10-digit numbers by December 2024. During this transition period, both 8-digit and 10-digit numbers are supported, but after December 29, 2024, only 10-digit numbers will be valid.
Sending SMS to Landlines
SMS to landline numbers is not supported in Benin. Attempts to send SMS to landline numbers will result in delivery failure, and you should filter out landline numbers from your recipient lists to maintain good delivery rates.
Compliance and Regulatory Guidelines for SMS in Benin
SMS communications in Benin are regulated by the Autorit?? de R??gulation des Communications ??lectroniques et de la Poste (ARCEP). All SMS marketing and commercial communications must comply with ARCEP guidelines and local data protection regulations. The regulatory framework emphasizes consumer protection and transparent communication practices.
Consent and Opt-In
Double Opt-In Requirement: Benin regulations mandate implementing a double opt-in workflow for all marketing communications. You must:
- Obtain explicit written consent before sending any commercial messages
- Store consent records for a minimum of 18 months
- Maintain detailed timestamp records of when and how consent was obtained
- Document the specific services or message types the user agreed to receive
HELP/STOP and Other Commands
All SMS campaigns must support the following commands:
- STOP: Immediate opt-out (required in both French and English)
- AIDE/HELP: Information about the service
- INFO: Service details and contact information
Messages should be processed in both French and local languages, with STOP commands taking effect immediately upon receipt.
Do Not Call / Do Not Disturb Registries
While Benin does not maintain a centralized Do Not Call registry, operators recommend:
- Maintaining your own suppression lists
- Conducting monthly verification of opt-out requests
- Implementing immediate STOP request processing
- Keeping records of opt-out requests for at least 18 months
Time Zone Sensitivity
ARCEP mandates specific time restrictions for commercial SMS:
- Permitted Hours: 8:00 AM to 5:00 PM (GMT+1)
- Restricted Days: No promotional messages on Sundays and public holidays
- Emergency Messages: Time restrictions don't apply to critical service updates or emergency notifications
Phone Numbers Options and SMS Sender Types for in Benin
Alphanumeric Sender ID
Operator network capability: Fully supported across all major networks
Registration requirements: Pre-registration required with ARCEP; must submit company documentation
Sender ID preservation: Displayed as registered, maximum 11 characters allowed
Long Codes
Domestic vs. International: Both supported, with preference for domestic numbers
Sender ID preservation: Original sender ID preserved across all major carriers
Provisioning time: 3-5 business days for domestic, 5-7 for international
Use cases: Ideal for two-way communication, customer support, and transactional messages
Short Codes
Support: Available through major carriers
Provisioning time: 4-6 weeks for approval and activation
Use cases: Best for high-volume campaigns, marketing messages, and time-sensitive notifications
Restricted SMS Content, Industries, and Use Cases
Prohibited content includes:
- Gambling and betting services
- Adult content or explicit material
- Unauthorized financial services
- Political campaign messages without proper authorization
- Pharmaceutical promotions without regulatory approval
Content Filtering
Carrier filtering rules target:
- URLs from suspicious domains
- Keywords associated with restricted industries
- High-frequency messaging patterns
- Messages containing specific restricted terms
To avoid filtering:
- Use approved sender IDs
- Maintain consistent sending patterns
- Avoid URL shorteners in messages
- Include clear company identification
Best Practices for Sending SMS in Benin
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-actions
- Personalize messages using recipient's name or relevant details
- Maintain consistent branding across campaigns
Sending Frequency and Timing
- Limit to 4-5 messages per month per recipient
- Respect local holidays and cultural events
- Avoid sending during prayer times on Fridays
- Space out messages to prevent recipient fatigue
Localization
- Primary languages: French (official), Fon, Yoruba
- Consider bilingual messages for important communications
- Use local date and time formats
- Respect cultural sensitivities in message content
Opt-Out Management
- Process opt-outs within 24 hours
- Send confirmation of opt-out completion
- Maintain separate opt-out lists for different types of messages
- Regular audit of opt-out compliance
Testing and Monitoring
- Test across MTN, Moov, and Glo networks
- Monitor delivery rates by carrier
- Track engagement metrics and opt-out rates
- Regular testing of opt-out functionality
SMS API integrations for Benin
Twilio
Twilio provides a robust SMS API with specific support for Benin's messaging requirements. Integration requires your Account SID and Auth Token from the Twilio Console.
import { Twilio } from 'twilio';
// Initialize Twilio client
const client = new Twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);
// Function to send SMS to Benin
async function sendSMSToBenin(
to: string,
message: string,
senderId: string
): Promise<void> {
try {
// Validate Benin phone number format
const beninNumberRegex = /^\+229[0-9]{8,10}$/;
if (!beninNumberRegex.test(to)) {
throw new Error('Invalid Benin phone number format');
}
// Send message with proper parameters
const response = await client.messages.create({
body: message,
from: senderId, // Registered alphanumeric sender ID
to: to,
// Set statusCallback for delivery tracking
statusCallback: 'https://your-webhook.com/status'
});
console.log(`Message sent successfully! SID: ${response.sid}`);
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}Sinch
Sinch offers direct carrier connections in Benin with support for both transactional and promotional messages.
import axios from 'axios';
class SinchSMSClient {
private readonly apiToken: string;
private readonly serviceId: string;
private readonly baseUrl: string = 'https://sms.api.sinch.com/xms/v1';
constructor(apiToken: string, serviceId: string) {
this.apiToken = apiToken;
this.serviceId = serviceId;
}
async sendSMS(to: string, message: string): Promise<void> {
try {
const response = await axios.post(
`${this.baseUrl}/${this.serviceId}/batches`,
{
from: 'YourBrand', // Registered sender ID
to: [to],
body: message,
delivery_report: 'summary'
},
{
headers: {
'Authorization': `Bearer ${this.apiToken}`,
'Content-Type': 'application/json'
}
}
);
console.log('Message sent:', response.data.id);
} catch (error) {
console.error('Sinch SMS error:', error);
throw error;
}
}
}MessageBird
MessageBird provides reliable SMS delivery in Benin with support for delivery receipts and Unicode messages.
import { MessageBird } from 'messagebird';
class MessageBirdClient {
private client: MessageBird;
constructor(apiKey: string) {
this.client = new MessageBird(apiKey);
}
async sendSMS(
recipient: string,
message: string,
senderId: string
): Promise<void> {
const params = {
originator: senderId,
recipients: [recipient],
body: message,
reportUrl: 'https://your-webhook.com/delivery-reports'
};
return new Promise((resolve, reject) => {
this.client.messages.create(params, (err, response) => {
if (err) {
console.error('MessageBird error:', err);
reject(err);
} else {
console.log('Message sent:', response.id);
resolve();
}
});
});
}
}Plivo
Plivo offers competitive rates for SMS delivery to Benin with support for high-volume messaging.
import plivo from 'plivo';
class PlivoSMSClient {
private client: plivo.Client;
constructor(authId: string, authToken: string) {
this.client = new plivo.Client(authId, authToken);
}
async sendSMS(
destination: string,
message: string,
senderId: string
): Promise<void> {
try {
const response = await this.client.messages.create({
src: senderId,
dst: destination,
text: message,
// Benin-specific parameters
powerpack_uuid: 'your-powerpack-uuid', // If using Powerpack
url: 'https://your-webhook.com/delivery-status'
});
console.log('Message sent:', response.messageUuid);
} catch (error) {
console.error('Plivo error:', error);
throw error;
}
}
}API Rate Limits and Throughput
- Default rate limit: 30 messages per second
- Batch processing: Maximum 1000 numbers per request
- Daily sending quota: Based on account level and carrier agreements
Throughput Management Strategies:
- Implement exponential backoff for retry logic
- Use queue systems (Redis/RabbitMQ) for high-volume sending
- Monitor carrier capacity in real-time
Error Handling and Reporting
- Implement comprehensive logging with Winston or Bunyan
- Track delivery receipts via webhooks
- Monitor carrier-specific error codes
- Maintain error logs for compliance reporting
Recap and Additional Resources
Key Takeaways:
- Implement double opt-in for all marketing messages
- Respect sending windows (8 AM - 5 PM GMT+1)
- Maintain proper consent records for 18 months
- Support both 8-digit and 10-digit number formats during transition
Next Steps:
- Review ARCEP guidelines for SMS messaging
- Implement proper consent management systems
- Set up delivery receipt monitoring
- Test message delivery across all major carriers
Additional Information:
Industry Resources:
- Mobile Operator Guidelines: MTN, Moov, Glo
- GSMA Messaging Guidelines
- A2P SMS Best Practices Guide
Frequently Asked Questions
How to send SMS messages in Benin?
SMS messages in Benin can be sent through various methods, including SMS APIs like Twilio, Sinch, MessageBird, and Plivo. These APIs allow integration with your systems and offer features for managing sending, receiving, and tracking messages. Be sure to adhere to Benin's regulations when sending messages, such as obtaining double opt-in consent and respecting sending time restrictions from 8 AM to 5 PM GMT+1.
What is the double opt-in requirement for SMS in Benin?
Benin's regulations require double opt-in for all marketing SMS messages. This means businesses must obtain explicit written consent from users before sending commercial messages and confirm this consent through a second verification step, often through a confirmation code or link. You must also retain records of consent for at least 18 months and maintain a detailed timestamp record of when and how consent was obtained.
Why does Benin require double opt-in for SMS marketing?
Double opt-in is mandated in Benin to protect consumers from unsolicited messages and ensure they have actively agreed to receive communications from a particular business. This approach strengthens data protection and encourages transparent communication practices, in line with ARCEP regulations.
When should I send SMS messages in Benin?
The permitted hours for sending commercial SMS messages in Benin are between 8:00 AM and 5:00 PM (GMT+1). Avoid sending messages on Sundays and public holidays. These restrictions, enforced by ARCEP, do not apply to crucial service updates or emergency notifications.
What is the SMS character limit in Benin?
Benin supports standard SMS lengths: 160 characters for GSM-7 encoding (standard Latin alphabet) and 70 characters for UCS-2 encoding (special characters or local languages). Messages longer than these limits are automatically segmented into multiple parts (concatenated SMS).
Can I send SMS messages to landlines in Benin?
No, SMS to landline numbers is not supported in Benin. Attempts to send to landlines will fail, so it is crucial to filter these numbers from your recipient list to maintain good delivery rates.
What are the HELP/STOP commands required for SMS in Benin?
All SMS campaigns must support STOP (to opt-out), AIDE/HELP (for information about the service), and INFO (for service details and contact information). STOP must be processed in both French and English, effective immediately upon receipt. While there's no centralized Do Not Call registry, maintaining your own suppression list is crucial.
How to register an alphanumeric sender ID in Benin?
Pre-registration with ARCEP is required to use an alphanumeric sender ID. You'll need to submit company documentation for approval. Once registered, the sender ID will be displayed as registered and limited to a maximum of 11 characters.
What are the restricted SMS content types in Benin?
Restricted content includes gambling, adult material, unauthorized financial services, political campaign messages without proper authorization, and pharmaceutical promotions without regulatory approval. ARCEP enforces content filtering rules targeting suspicious URLs, restricted keywords, high-frequency messaging, and specific restricted terms.
What are the best practices for SMS marketing in Benin?
Best practices include maintaining messages under 160 characters, using clear call-to-actions, personalizing messages, limiting frequency to 4-5 messages per month per recipient, respecting local holidays and cultural events, localizing language, and promptly processing opt-outs within 24 hours with confirmation.
What are the phone number format requirements for Benin?
Benin is currently transitioning to 10-digit numbers, to be completed by December 29, 2024. Both 8-digit and 10-digit numbers are supported during this transition period, but after December 2024 only 10-digit numbers will be valid for SMS communications. Be sure to validate number formats to ensure successful delivery.
How to handle SMS API rate limits and throughput in Benin?
Default rate limits usually cap at 30 messages per second with a batch processing maximum of 1000 numbers per request. Implement exponential backoff for retries, queue systems for high volume, and monitor carrier capacity in real-time to manage throughput effectively and avoid exceeding limits.
What is the role of ARCEP in SMS regulation in Benin?
ARCEP (Autorité de Régulation des Communications Électroniques et de la Poste) regulates SMS communications in Benin. They set guidelines for commercial messaging, including consent requirements, content restrictions, and sending timeframes, focusing on consumer protection and transparent practices.
What are the recommended API integrations for sending SMS in Benin?
Several APIs are suitable for sending SMS in Benin, including Twilio, Sinch, MessageBird, and Plivo. These APIs offer robust features for sending, receiving, and tracking messages, along with direct carrier connections for reliable delivery. Choose the API that best fits your needs and budget.