Haiti SMS Best Practices, Compliance, and Features
Haiti SMS Market Overview
Locale name: | Haiti |
---|---|
ISO code: | HT |
Region | North America |
Mobile country code (MCC) | 372 |
Dialing Code | +509 |
Market Conditions: Haiti's mobile market is dominated by two major operators: Digicel and Natcom. SMS remains a critical communication channel due to limited smartphone penetration and internet connectivity challenges. While OTT messaging apps like WhatsApp are gaining popularity in urban areas, traditional SMS maintains widespread usage for both personal and business communications, especially in rural regions where network infrastructure is less developed.
Key SMS Features and Capabilities in Haiti
Haiti supports basic SMS functionality with some limitations on advanced features, primarily offering one-way messaging capabilities with support for concatenated messages and alphanumeric sender IDs.
Two-way SMS Support
Two-way SMS is not supported in Haiti for A2P (Application-to-Person) messaging.
Messages can only be sent one-way from applications to end users.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is supported for most sender ID types.
Message length rules: Standard SMS length limits apply - 160 characters for GSM-7 encoding, 70 characters for UCS-2 encoding.
Encoding considerations: Both GSM-7 and UCS-2 encodings are supported, with message splitting and rejoining varying based on the character encoding used.
MMS Support
MMS messages are not directly supported in Haiti. When MMS content is sent, it is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content.
Best Practice: When sending multimedia content, ensure the URL is shortened and clearly labeled for recipient trust.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Haiti.
This means phone numbers remain tied to their original mobile operator, simplifying message routing and delivery.
Sending SMS to Landlines
Sending SMS to landline numbers is not possible in Haiti.
Attempts to send SMS to landline numbers will result in a 400 response error (code 21614), the message will not be logged, and no charges will be incurred.
Compliance and Regulatory Guidelines for SMS in Haiti
Haiti's telecommunications sector is regulated by CONATEL (Conseil National des Télécommunications). While specific SMS marketing regulations are still evolving, businesses must follow general telecommunications guidelines and international best practices for messaging.
Consent and Opt-In
Explicit Consent Required: You must obtain and document clear opt-in consent before sending marketing or promotional messages.
Best Practices for Consent:
- Collect consent through written forms, web forms, or SMS keyword responses
- Maintain detailed records of when and how consent was obtained
- Clearly state the types of messages users will receive
- Include your company name and message frequency in consent requests
HELP/STOP and Other Commands
- All SMS campaigns must support standard opt-out keywords: STOP, ARRET, RETE (in both French and Haitian Creole)
- HELP/AIDE messages must be supported in both French and Haitian Creole
- Responses to these commands should be immediate and free of charge
- Keep a record of all opt-out requests for compliance purposes
Do Not Call / Do Not Disturb Registries
Haiti does not maintain an official Do Not Call registry. However, businesses should:
- Maintain their own suppression lists of opted-out numbers
- Honor opt-out requests within 24 hours
- Regularly clean contact lists to remove inactive or invalid numbers
- Document all opt-out requests and their processing dates
Time Zone Sensitivity
Haiti observes Eastern Time (ET/UTC-4) year-round. Best practices include:
- Send messages between 8:00 AM and 8:00 PM local time
- Avoid sending during religious holidays and national celebrations
- Only send messages outside these hours for urgent communications (e.g., security alerts)
Phone Numbers Options and SMS Sender Types for Haiti
Alphanumeric Sender ID
Operator network capability: Partially supported
Registration requirements: No pre-registration required, dynamic usage supported
Sender ID preservation: Yes, except for Operator Natcom (37203) where alphanumeric IDs are not supported
Note: Generic sender IDs (INFO, SMS, NOTICE) are prohibited
Long Codes
Domestic vs. International:
- Domestic long codes not supported
- International long codes fully supported
Sender ID preservation: Yes, original sender ID is preserved
Provisioning time: Immediate activation for international long codes
Use cases: Ideal for transactional messages, alerts, and notifications
Short Codes
Support: Not currently available in Haiti
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
- Political messaging
- Religious content
- Gambling and betting
- Adult content
- Cryptocurrency promotions
- Unsolicited marketing messages
Content Filtering
Carrier Filtering Rules:
- Messages containing restricted keywords are automatically blocked
- URLs may trigger additional scrutiny
- High-volume sending patterns may be flagged
Tips to Avoid Blocking:
- Avoid URL shorteners when possible
- Use clear, straightforward language
- Maintain consistent sending patterns
- Include clear company identification
- Avoid excessive punctuation and all-caps text
Best Practices for Sending SMS in Haiti
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-actions
- Identify your business in each message
- Use personalization thoughtfully (e.g., recipient's name)
Sending Frequency and Timing
- Limit to 4-5 messages per month per recipient
- Space out messages to avoid overwhelming recipients
- Consider local holidays and cultural events
- Maintain consistent sending patterns
Localization
- Support both French and Haitian Creole
- Consider cultural nuances in message content
- Use local date and time formats
- Avoid colloquialisms that may not translate well
Opt-Out Management
- Process opt-outs within 24 hours
- Send confirmation of opt-out completion
- Maintain opt-out lists across all campaigns
- Regular audit of opt-out processing
Testing and Monitoring
- Test messages across both major carriers (Digicel and Natcom)
- Monitor delivery rates by carrier
- Track opt-out rates and patterns
- Regular testing of HELP/STOP functionality
- Monitor for carrier filtering changes
SMS API integrations for Haiti
Twilio
Twilio provides a robust SMS API with comprehensive support for Haiti. Integration requires your Account SID and Auth Token from the Twilio Console.
import { Twilio } from 'twilio';
// Initialize the client with your credentials
const client = new Twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);
// Function to send SMS to Haiti
async function sendSMSToHaiti(
to: string,
message: string,
senderId: string
): Promise<void> {
try {
// Ensure phone number is in E.164 format for Haiti (+509XXXXXXXX)
const formattedNumber = to.startsWith('+509') ? to : `+509${to}`;
const response = await client.messages.create({
body: message,
from: senderId, // Alphanumeric sender ID or international number
to: formattedNumber,
});
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 Haiti. Their API requires an API Token and Service Plan ID.
import { SinchClient } from '@sinch/sdk';
// Initialize Sinch client
const sinchClient = new SinchClient({
apiToken: process.env.SINCH_API_TOKEN,
servicePlanId: process.env.SINCH_SERVICE_PLAN_ID,
});
// Function to send SMS using Sinch
async function sendSinchSMS(
recipientNumber: string,
messageText: string
): Promise<void> {
try {
const response = await sinchClient.sms.send({
to: [recipientNumber], // Must include +509 prefix
message: messageText,
from: 'YourCompany', // Your approved sender ID
});
console.log(`Batch ID: ${response.batchId}`);
} catch (error) {
console.error('Sinch SMS Error:', error);
throw error;
}
}
MessageBird
MessageBird provides reliable SMS delivery to Haiti with straightforward API integration.
import { MessageBird } from 'messagebird';
// Initialize MessageBird client
const messagebird = new MessageBird(process.env.MESSAGEBIRD_API_KEY);
// Function to send SMS via MessageBird
async function sendMessageBirdSMS(
to: string,
message: string,
originator: string
): Promise<void> {
const params = {
originator, // Your sender ID
recipients: [to], // Haiti number with +509 prefix
body: message,
};
try {
const response = await new Promise((resolve, reject) => {
messagebird.messages.create(params, (err, response) => {
if (err) reject(err);
resolve(response);
});
});
console.log('MessageBird Response:', response);
} catch (error) {
console.error('MessageBird Error:', error);
throw error;
}
}
Plivo
Plivo offers reliable SMS delivery to Haiti with good delivery rates and tracking capabilities.
import { Client } from 'plivo';
// Initialize Plivo client
const plivo = new Client(
process.env.PLIVO_AUTH_ID,
process.env.PLIVO_AUTH_TOKEN
);
// Function to send SMS via Plivo
async function sendPlivoSMS(
destination: string,
message: string,
sourceNumber: string
): Promise<void> {
try {
const response = await plivo.messages.create({
src: sourceNumber, // Your Plivo number or sender ID
dst: destination, // Haiti number (+509)
text: message,
});
console.log('Message UUID:', response.messageUuid);
} catch (error) {
console.error('Plivo Error:', error);
throw error;
}
}
API Rate Limits and Throughput
- Default rate limits vary by provider (typically 1-10 messages per second)
- Implement exponential backoff for retry logic
- Consider using queue systems like Redis or RabbitMQ for high-volume sending
- Batch messages when possible to optimize throughput
Error Handling and Reporting
- Implement comprehensive error logging
- Monitor delivery receipts (DLRs)
- Track common error codes:
- Invalid number format
- Network errors
- Rate limit exceeded
- Invalid sender ID
- Store message metadata for troubleshooting
Recap and Additional Resources
Key Takeaways:
- Always use E.164 format (+509) for Haiti numbers
- Implement proper opt-out handling
- Monitor delivery rates and errors
- Support both French and Haitian Creole
- Respect local time zones and sending hours
Next Steps:
- Review CONATEL regulations (Haiti's telecom authority)
- Implement proper consent management
- Set up error monitoring and reporting
- Test thoroughly with both major carriers
Additional Resources:
Technical Documentation: