sms compliance

Sent logo
Sent TeamMay 3, 2025 / sms compliance / Article

Haiti SMS Best Practices, Compliance, and Features

Complete guide to SMS messaging in Haiti, including compliance requirements, carrier capabilities, and API integration examples

Haiti SMS Best Practices, Compliance, and Features

Overview of Haiti's SMS Market and Mobile Network

Locale name:Haiti
ISO code:HT
RegionNorth America
Mobile country code (MCC)372
Dialing Code+509
Mobile Number Format+509 XX XX XXXX (8 digits after country code)
Mobile Prefixes30-43 (Digicel: 30-31, 34, 36-39; Natcom: 32-33, 40-43)
Landline Prefixes22, 25, 28, 29

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.

Number Format Details (ITU E.164):

  • Haiti transitioned from 7-digit to 8-digit phone numbers on March 1, 2008
  • Format: +509 XX XX XXXX
  • Mobile numbers use prefixes 30–43
  • Landline numbers use prefixes 22, 25, 28, 29
  • VoIP numbers use 96X, 97X, 98X, 99X prefixes

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. These limitations reflect the developing telecommunications infrastructure and carrier-level technical constraints in the market.

Two-Way SMS Support

Haiti does not support two-way SMS for A2P (Application-to-Person) messaging. You can only send messages one-way from applications to end users.

Why Two-Way SMS Isn't Available: Two-way messaging requires dedicated short codes or long codes with inbound routing capabilities. Haiti's carriers do not provision short codes, and inbound SMS routing infrastructure for A2P messaging is not widely deployed.

Alternatives for Receiving Responses:

  • Direct users to web forms or mobile apps for responses
  • Use WhatsApp Business API for two-way communication in urban areas
  • Implement voice call response systems (IVR)
  • Provide email or social media channels for feedback

Concatenated Messages (Segmented SMS)

Support: Yes, most sender ID types support concatenation.

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 work, with message splitting and rejoining varying based on the character encoding used.

Impact on Delivery and Costs:

  • Concatenated messages incur charges per segment (a 200-character message = 2 message credits)
  • Each segment includes a 7-byte header for reassembly, reducing usable characters (153 for GSM-7, 67 for UCS-2)
  • Multi-segment messages have lower delivery success rates due to increased complexity
  • Handsets reassemble messages, but older devices may display segments separately

MMS Support

Haiti does not support MMS messages directly. When you send MMS content, it converts automatically to SMS with an embedded URL link where recipients can view the multimedia content.

Best Practice: When sending multimedia content, shorten the URL and clearly label it to build recipient trust.

Recipient Phone Number Compatibility

Number Portability

Haiti does not support number portability. Phone numbers remain tied to their original mobile operator, simplifying message routing and delivery.

Identifying the Operator: Use the mobile prefix to identify the carrier:

  • Digicel: 30, 31, 34, 36, 37, 38, 39
  • Natcom: 32, 33, 40, 41, 42, 43

Sending SMS to Landlines

You cannot send SMS to landline numbers 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 you will not incur charges.

Mobile vs. Landline Validation:

regex
Mobile (valid for SMS): ^(\+509|509)?(3[0-4]|3[6-9]|4[0-3])\d{6}$
Landline (invalid for SMS): ^(\+509|509)?(22|25|28|29)\d{6}$

Validation Example (TypeScript):

typescript
function isHaitiMobile(phoneNumber: string): boolean {
  // Remove +509 or 509 prefix and whitespace
  const normalized = phoneNumber.replace(/^(\+?509)?\s*/g, '');

  // Check if it's 8 digits and starts with mobile prefix
  return /^(3[0-4]|3[6-9]|4[0-3])\d{6}$/.test(normalized);
}

Haiti SMS Compliance and Regulatory Requirements

CONATEL (Conseil National des Télécommunications) regulates Haiti's telecommunications sector. While specific SMS marketing regulations are still evolving, follow general telecommunications guidelines and international best practices for messaging.

Explicit Consent Required: 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 you obtained consent
  • Clearly state the types of messages users will receive
  • Include your company name and message frequency in consent requests
  • Recommended retention: Keep consent records for at least 3 years after last contact

HELP/STOP and Other Commands

  • Support standard opt-out keywords in all SMS campaigns: STOP, ARRET, RETE (in both French and Haitian Creole)
  • Support HELP/AIDE messages in both French and Haitian Creole
  • Respond to these commands immediately and free of charge
  • Record 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, you should:

  • Maintain your 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 (no daylight saving time). Follow these best practices:

  • Send messages between 8:00 AM and 8:00 PM local time
  • Avoid sending during religious holidays and national celebrations
  • Send messages outside these hours only for urgent communications (e.g., security alerts)

Major Haiti Holidays to Avoid (source):

  • January 1–2: New Year's Day and Heroes' Day (Independence Day)
  • February: Carnival (dates vary, typically mid-February)
  • April: Good Friday and Easter
  • May 1: Labor Day
  • May 18: Flag Day
  • May (last Sunday): Mother's Day
  • June 4: Corpus Christi (local holiday)
  • October 17: Dessalines Day
  • November 1–2: All Saints' Day and All Souls' Day
  • November 18: Vertières Day
  • December 25: Christmas Day

SMS Sender ID Options for Haiti (Alphanumeric, Long Codes, Short Codes)

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

Character limit: Up to 11 characters

Allowed characters: A-Z, a-z, 0-9, and space (no special characters)

Note: Generic sender IDs (INFO, SMS, NOTICE) are prohibited

Natcom Behavior: When you send to Natcom subscribers (prefixes 32, 33, 40-43) with an alphanumeric sender ID, the message delivers but the sender ID may be replaced with a numeric ID or short code. The message content is not blocked.

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 Content and Industry Limitations for Haiti SMS

Prohibited Content (Carrier Policies):

  • Political messaging
  • Religious content
  • Gambling and betting
  • Adult content
  • Cryptocurrency promotions
  • Unsolicited marketing messages

Note: Carriers enforce these restrictions at the network level rather than through specific legislation. Violations may result in message blocking, sender ID blacklisting, or account suspension without prior notice.

Content Filtering

Carrier Filtering Rules:

  • Carriers automatically block messages containing restricted keywords
  • 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

Haiti SMS Best Practices: Timing, Frequency & Localization

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
  • High-volume threshold: Sending >1,000 messages per hour to a single carrier may trigger scrutiny

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

Language Demographics (source):

  • Haitian Creole: Spoken by virtually 100% of the population (11+ million speakers)
  • French: Spoken by approximately 42% of the population, primarily educated Haitians and in urban areas
  • Recommendation: Provide messages in Haitian Creole for broadest reach. Use French for professional/business communications or bilingual messages for maximum impact.

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

Haiti SMS API Integration Examples (Twilio, Sinch, MessageBird, Plivo)

Twilio

Twilio provides a robust SMS API with comprehensive support for Haiti. Integration requires your Account SID and Auth Token from the Twilio Console.

typescript
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.

typescript
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.

typescript
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.

typescript
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
  • Use 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

Common Haiti-Specific Error Codes:

  • 21614 (Twilio): Invalid phone number (landline or incorrect format)
  • 30007 (Twilio): Message filtered by carrier
  • 30008 (Twilio): Unknown destination handset
  • 30034 (Twilio): Invalid sender ID

Summary: Key Takeaways for Haiti SMS Messaging

Key Takeaways:

  • Always use E.164 format (+509 XX XX XXXX) for Haiti numbers
  • Validate mobile prefixes (30–43) to avoid sending to landlines
  • Implement proper opt-out handling in both French and Haitian Creole
  • Monitor delivery rates and errors by carrier (Digicel vs. Natcom)
  • Prioritize Haitian Creole for maximum reach (100% vs. 42% for French)
  • Respect local time zones (UTC-4) and avoid major holidays

Next Steps:

  1. Review CONATEL regulations (Haiti's telecom authority)
  2. Implement proper consent management with 3-year record retention
  3. Set up error monitoring and reporting
  4. Test thoroughly with both major carriers
  5. Configure number validation to filter landlines

Additional Resources:

Technical Documentation:

Frequently Asked Questions

How to send SMS messages to Haiti?

Use the E.164 format (+509) for phone numbers and send messages through providers like Twilio, Sinch, MessageBird, or Plivo, which offer APIs with Haiti support. Remember to handle opt-outs, monitor delivery rates, and support both French and Haitian Creole in your messages.

What is the SMS market like in Haiti?

Haiti's mobile market is dominated by Digicel and Natcom. While OTT apps are growing, SMS remains crucial, especially in rural areas with limited internet access, making it vital for personal and business communication.

Why does Haiti not support two-way SMS?

Haiti currently only supports one-way A2P (Application-to-Person) SMS messaging. This means applications can send messages to users, but users cannot directly reply to those messages via SMS.

When should I send SMS messages in Haiti?

Adhere to Eastern Time (ET/UTC-4) and send messages between 8:00 AM and 8:00 PM local time. Avoid sending during religious holidays and national celebrations unless it's an urgent communication like a security alert.

Can I use alphanumeric sender IDs in Haiti?

Alphanumeric sender IDs are partially supported, except for Natcom (37203). No pre-registration is needed, and sender ID preservation is generally upheld, which helps businesses be more identifiable.

What are the rules for concatenated SMS messages in Haiti?

Concatenated messages are supported, following standard length limits (160 characters for GSM-7, 70 for UCS-2). Both GSM-7 and UCS-2 encodings are supported, affecting how messages are split and rejoined.

How to handle opt-outs for SMS in Haiti?

Support opt-out keywords like STOP, ARRET, and RETE in French and Haitian Creole. Responses should be immediate and free. Maintain your own suppression list and honor requests within 24 hours, keeping records for compliance.

What SMS content is prohibited in Haiti?

Avoid political, religious, gambling, adult content, cryptocurrency promotions, and unsolicited marketing messages. Carrier filtering blocks messages with restricted keywords and scrutinizes URLs, so use clear language and avoid URL shorteners when possible.

What are the best practices for SMS marketing in Haiti?

Keep messages concise, include clear calls to action, identify your business, personalize thoughtfully, limit frequency, consider local events, localize content, manage opt-outs effectively, and test thoroughly across Digicel and Natcom.

What SMS API integration options are available for Haiti?

Popular providers like Twilio, Sinch, MessageBird, and Plivo offer SMS API integrations for Haiti. Each requires specific credentials and provides documentation for setup and usage.

How to manage SMS API rate limits for Haiti?

Default rate limits vary by provider. Implement exponential backoff for retries, use queue systems (Redis, RabbitMQ) for high volume, and batch messages to optimize throughput and avoid exceeding limits.

What is the process for sending SMS to landlines in Haiti?

Sending SMS to landlines in Haiti is not supported. Attempts will result in a 400 response error (code 21614), no message logging, and no charges.

How to comply with SMS regulations in Haiti?

Obtain explicit opt-in consent, document consent collection, support HELP/STOP commands, maintain suppression lists, respect time zones, and follow content restrictions. Consult CONATEL's resources for updated guidelines.

What are the recommended sender ID types for SMS in Haiti?

While short codes are unavailable, alphanumeric sender IDs and international long codes are supported. Alphanumeric IDs offer branding opportunities, while long codes are ideal for transactional messages and alerts.