sms compliance

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

Dominican Republic SMS Guide

Explore Dominican Republic SMS: compliance (Law 172-13, 310-14), features & best practices. Supports 2-way SMS & concatenated msgs (160 GSM-7 chars). Avoid 400 error 21614 by not sending to landlines. Includes Twilio, Sinch, MessageBird & Plivo API integration examples.

Dominican Republic SMS Best Practices, Compliance, and Features

Dominican Republic SMS Market Overview

Locale name:Dominican Republic
ISO code:DO
RegionNorth America
Mobile country code (MCC)370
Dialing Code+1829

Market Conditions: The Dominican Republic has a robust mobile market with high SMS adoption rates. The country's telecommunications infrastructure is well-developed, with major operators including Claro, Altice, and Viva. While OTT messaging apps like WhatsApp are popular, SMS remains a critical channel for business communications, particularly for notifications, authentication, and marketing messages. The mobile market shows a relatively balanced distribution between Android and iOS devices, with Android having a slight edge in market share.


Key SMS Features and Capabilities in Dominican Republic

The Dominican Republic supports comprehensive SMS functionality including two-way messaging, concatenated messages, and number portability, though MMS is handled through SMS conversion.

Two-way SMS Support

Two-way SMS is fully supported in the Dominican Republic, allowing businesses to engage in interactive messaging with customers. There are no specific restrictions beyond standard compliance requirements for opt-in consent and message content.

Concatenated Messages (Segmented SMS)

Support: Yes, concatenation is supported across all major carriers, though support may vary by sender ID type.
Message length rules: Standard SMS length of 160 characters for GSM-7 encoding, 70 characters for Unicode (UCS-2).
Encoding considerations: GSM-7 is recommended for basic Latin alphabet messages, while UCS-2 should be used for messages containing special characters or non-Latin alphabets.

MMS Support

MMS messages are automatically converted to SMS with an embedded URL link to the media content. This ensures compatibility across all carriers and devices while maintaining the ability to share rich media content. Best practice is to use short URLs and include clear context in the message body.

Recipient Phone Number Compatibility

Number Portability

Number portability is available in the Dominican Republic, allowing users to keep their phone numbers when switching carriers. This feature doesn't significantly impact message delivery or routing as the SMS infrastructure handles ported numbers seamlessly.

Sending SMS to Landlines

Sending SMS to landline numbers is not supported in the Dominican Republic. Attempts to send messages to landline numbers will result in a failed delivery and an error response (400 error code 21614) from the SMS API. These messages will not appear in logs and accounts will not be charged.

Compliance and Regulatory Guidelines for SMS in Dominican Republic

The Dominican Republic's SMS communications are governed by several key laws including Law No. 172-13 (Data Protection Law), Law No. 310-14 (SPAM Law), and the Consumer Protection Law. The Instituto Dominicano de las Telecomunicaciones (INDOTEL) serves as the primary telecommunications regulator, while the Oficina Presidencial de Tecnolog??as de la Informaci??n y Comunicaci??n (OPTIC) oversees digital communications standards.

Explicit Consent Requirements:

  • Written or electronic consent must be obtained before sending marketing messages
  • Consent must be specific, informed, and freely given
  • Documentation of consent must be maintained and readily available

Best Practices for Obtaining Consent:

  • Use double opt-in verification
  • Clearly state the purpose and frequency of messages
  • Maintain detailed records of when and how consent was obtained
  • Include privacy policy and terms of service links in opt-in flows

HELP/STOP and Other Commands

Required Keywords:

  • STOP, CANCELAR, NO - Must be supported for opt-out
  • AYUDA, HELP - Must provide information about the service
  • All keywords must be supported in both Spanish and English

Language Requirements:

  • Primary communication should be in Spanish
  • HELP/STOP messages must be processed regardless of case sensitivity
  • Response messages must be sent free of charge to the user

Do Not Call / Do Not Disturb Registries

While the Dominican Republic does not maintain a centralized Do Not Call registry, businesses must:

  • Maintain their own suppression lists
  • Honor opt-out requests within 24 hours
  • Keep records of opted-out numbers for at least 2 years
  • Implement systems to prevent messaging to opted-out numbers

Time Zone Sensitivity

The Dominican Republic observes Atlantic Time (UTC-4) year-round. Best practices include:

  • Sending messages between 8:00 AM and 8:00 PM local time
  • Avoiding messages on Sundays and national holidays
  • Limiting urgent messages outside these hours to essential communications only

Phone Numbers Options and SMS Sender Types for in Dominican Republic

Alphanumeric Sender ID

Operator network capability: Not supported by Dominican Republic mobile operators
Registration requirements: N/A
Sender ID preservation: No - Sender IDs are typically overwritten with a random shortcode

Long Codes

Domestic vs. International:

  • Domestic long codes are not supported
  • International long codes are supported but with limitations

Sender ID preservation: No - Original sender IDs may be overwritten
Provisioning time: N/A for domestic, immediate for international
Use cases: Primarily for transactional messaging and two-factor authentication

Short Codes

Support: Fully supported and recommended for business messaging
Provisioning time: Approximately 4 weeks
Use cases:

  • Marketing campaigns
  • High-volume messaging
  • Customer service
  • Two-factor authentication
  • Alerts and notifications

Restricted SMS Content, Industries, and Use Cases

Prohibited Content:

  • Gambling and betting services
  • Adult content or explicit material
  • Illegal products or services
  • Cryptocurrency promotions
  • Unauthorized financial services

Regulated Industries:

  • Financial services require additional disclaimers
  • Healthcare messages must comply with privacy regulations
  • Political messages have specific campaign period restrictions

Content Filtering

Carrier Filtering Rules:

  • URLs must be from approved domains
  • Messages containing certain keywords may be blocked
  • High-frequency messaging patterns are filtered

Best Practices to Avoid Blocking:

  • Use approved URL shorteners
  • Avoid excessive punctuation and all-caps
  • Maintain consistent sending patterns
  • Include clear sender identification
  • Use approved message templates when possible

Best Practices for Sending SMS in Dominican Republic

Messaging Strategy

  • Keep messages under 160 characters when possible
  • Include clear call-to-actions
  • Use personalization tokens thoughtfully
  • Maintain consistent branding
  • Include opt-out instructions in marketing messages

Sending Frequency and Timing

  • Limit marketing messages to 2-4 per month per recipient
  • Space messages at least 24 hours apart
  • Avoid sending during major holidays
  • Consider cultural events and local celebrations

Localization

  • Primary language should be Spanish
  • Consider using both Spanish and English for tourist-focused services
  • Use local date and time formats
  • Respect cultural nuances and local expressions

Opt-Out Management

  • Process opt-outs in real-time
  • Send confirmation of opt-out
  • Maintain centralized opt-out database
  • Regular audit of opt-out lists
  • Train customer service on opt-out procedures

Testing and Monitoring

  • Test across all major carriers (Claro, Altice, Viva)
  • Monitor delivery rates by carrier
  • Track opt-out rates and patterns
  • Analyze engagement metrics
  • Perform regular content and compliance audits

SMS API integrations for Dominican Republic

Twilio

Twilio provides a robust SMS API with comprehensive support for the Dominican Republic. Integration requires an Account SID and Auth Token for authentication.

typescript
import * as Twilio from 'twilio';

// Initialize Twilio client with credentials
const client = new Twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);

// Function to send SMS to Dominican Republic
async function sendSMSToDR(
  to: string,
  message: string,
  from: string
): Promise<void> {
  try {
    // Ensure phone number is in E.164 format for Dominican Republic
    const formattedNumber = to.startsWith('+1829') ? to : `+1829${to}`;
    
    const response = await client.messages.create({
      body: message,
      to: formattedNumber,
      from: from, // Your Twilio number or short code
      // Optional parameters 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 a straightforward API for sending SMS to the Dominican Republic, using API token authentication.

typescript
import { SinchClient } from '@sinch/sdk-core';
import { SmsApi } from '@sinch/sdk-sms';

class SinchSMSService {
  private client: SmsApi;

  constructor() {
    // Initialize Sinch client
    this.client = new SinchClient({
      projectId: process.env.SINCH_PROJECT_ID,
      apiToken: process.env.SINCH_API_TOKEN
    });
  }

  async sendSMS(
    to: string,
    message: string,
    senderId: string
  ): Promise<void> {
    try {
      const response = await this.client.sms.send({
        to: [to],
        message: message,
        from: senderId,
        // Optional delivery report webhook
        deliveryReport: 'URL'
      });

      console.log('Message batch ID:', response.batchId);
    } catch (error) {
      console.error('Sinch SMS error:', error);
      throw error;
    }
  }
}

MessageBird

MessageBird (Bird) provides a feature-rich API for sending SMS to the Dominican Republic.

typescript
import messagebird from 'messagebird';

class MessageBirdService {
  private client: any;

  constructor() {
    this.client = messagebird(process.env.MESSAGEBIRD_API_KEY);
  }

  async sendSMS(
    to: string,
    message: string,
    originator: string
  ): Promise<void> {
    const params = {
      originator: originator,
      recipients: [to],
      body: message,
      // Optional parameters
      reportUrl: 'https://your-webhook.com/delivery-status'
    };

    return new Promise((resolve, reject) => {
      this.client.messages.create(params, (err: any, response: any) => {
        if (err) {
          console.error('MessageBird error:', err);
          reject(err);
        } else {
          console.log('Message ID:', response.id);
          resolve(response);
        }
      });
    });
  }
}

Plivo

Plivo offers a reliable SMS API with good coverage in the Dominican Republic.

typescript
import plivo from 'plivo';

class PlivoSMSService {
  private client: any;

  constructor() {
    this.client = new plivo.Client(
      process.env.PLIVO_AUTH_ID,
      process.env.PLIVO_AUTH_TOKEN
    );
  }

  async sendSMS(
    to: string,
    message: string,
    from: string
  ): Promise<void> {
    try {
      const response = await this.client.messages.create({
        src: from,
        dst: to,
        text: message,
        // Optional parameters
        url: 'https://your-webhook.com/status',
        method: 'POST'
      });

      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 queuing systems (Redis, RabbitMQ) for high-volume sending
  • Consider batch APIs for bulk messaging

Recommended Strategies:

  • Implement message prioritization
  • Use asynchronous processing
  • Monitor throughput metrics
  • Set up automatic scaling

Error Handling and Reporting

  • Implement comprehensive error logging
  • Set up monitoring for delivery rates
  • Track common error codes
  • Maintain audit trails for compliance

Recap and Additional Resources

Key Takeaways

  1. Compliance Priorities

    • Obtain explicit consent
    • Honor opt-out requests
    • Maintain proper documentation
    • Follow time window restrictions
  2. Technical Best Practices

    • Use proper phone number formatting
    • Implement retry logic
    • Monitor delivery rates
    • Test across all carriers
  3. Localization Considerations

    • Primary communication in Spanish
    • Respect local time zones
    • Consider cultural context

Next Steps

  1. Review Regulations

    • Consult INDOTEL guidelines
    • Review data protection laws
    • Understand carrier requirements
  2. Technical Setup

    • Choose appropriate SMS provider
    • Implement proper error handling
    • Set up monitoring systems
  3. Compliance Setup

    • Establish consent collection process
    • Create opt-out management system
    • Document all procedures

Additional Resources

Official Resources:

Industry Guidelines:

  • Mobile Marketing Association Guidelines
  • GSMA SMS Guidelines
  • Local Carrier Requirements Documentation

Technical Documentation:

  • Provider-specific API documentation
  • SMS Best Practices Guides
  • Implementation Examples and SDKs

Frequently Asked Questions

How to send SMS messages in the Dominican Republic?

Use an SMS API provider like Twilio, Sinch, MessageBird, or Plivo. These providers offer integrations and documentation to facilitate sending messages while ensuring compliance with local regulations. Remember to format numbers correctly (+1829 prefix).

What is the process for getting consent for SMS marketing in the Dominican Republic?

Explicit consent, either written or electronic, is required before sending marketing messages. This consent must be freely given, specific, and informed, with documentation readily available. Double opt-in is recommended as a best practice.

Why does the Dominican Republic convert MMS messages to SMS?

MMS messages are converted to SMS with a URL link to ensure compatibility across all carriers and devices. This method allows for sharing rich media while maintaining deliverability.

What are the prohibited content categories for SMS in the Dominican Republic?

Gambling, adult content, illegal products/services, cryptocurrency promotions, and unauthorized financial services are prohibited. Regulated industries like finance and healthcare have additional content restrictions.

What SMS sender ID types are supported in the Dominican Republic?

Short codes are fully supported and recommended for business messaging. Alphanumeric sender IDs are not supported, and while international long codes are supported, they have limitations; domestic long codes aren't supported.

How to comply with SMS regulations in the Dominican Republic?

Comply with laws like Law No. 172-13 (Data Protection) and Law No. 310-14 (SPAM). Adhere to INDOTEL's regulations, obtain explicit consent for marketing, honor opt-out requests promptly, and maintain detailed records.

When should I send marketing SMS messages in the Dominican Republic?

Send messages between 8:00 AM and 8:00 PM local time, avoiding Sundays and national holidays. Limit marketing messages to 2-4 per month per recipient, spaced at least 24 hours apart.

How to handle opt-outs for SMS in the Dominican Republic?

Process opt-out requests (STOP, CANCELAR, NO, AYUDA, HELP) in real-time, send confirmation, and maintain a suppression list for at least two years. Ensure systems prevent messaging opted-out numbers.

Can I send SMS messages to landlines in the Dominican Republic?

No, sending SMS to landlines is not supported. Attempts will result in failed delivery and an error response (400 error code 21614) from the API. No charges will be incurred.

What is the character limit for SMS messages in the Dominican Republic?

Standard SMS length is 160 characters for GSM-7 encoding and 70 characters for Unicode (UCS-2). Concatenated messages are supported for longer content, but keeping messages concise is best practice.

How to format phone numbers for sending SMS in the Dominican Republic?

Use the E.164 format, which includes the +1829 country code followed by the local number. Ensure correct formatting for successful delivery. API examples in the documentation demonstrate this.

What are the best practices for SMS marketing in the Dominican Republic?

Obtain explicit consent, write concise messages in Spanish, include clear call-to-actions, respect local time zones, and monitor delivery rates. Consistent branding and opt-out instructions are also essential.

What is the role of INDOTEL in Dominican Republic SMS?

INDOTEL (Instituto Dominicano de las Telecomunicaciones) is the primary telecommunications regulator in the Dominican Republic, overseeing SMS communication practices and enforcing regulations.

What are the recommended SMS APIs for the Dominican Republic?

Twilio, Sinch, MessageBird, and Plivo are recommended for their robust APIs, good coverage, and features tailored for the Dominican Republic market.

Why is number portability important for SMS in the Dominican Republic?

Number portability allows users to switch carriers while keeping their numbers, ensuring seamless message delivery and routing without impacting SMS campaigns.