sms compliance

Sent logo
Sent TeamMar 8, 2026 / sms compliance / Article

Colombia SMS Guide

Explore Colombia SMS: compliance (Law 1581), features & best practices. Understand consent, opt-out (STOP/CANCELAR), & time zone (UTC-5) rules. Includes API integration (Twilio, Sinch), plus error codes (400 for landlines) & throughput rates (e.g. Twilio: 100 msg/sec). Target high SMS delivery.

Colombia SMS Best Practices, Compliance, and Features

Colombia SMS Market Overview

Locale name:Colombia
ISO code:CO
RegionSouth America
Mobile country code (MCC)732
Dialing Code+57

Market Conditions: Colombia has a robust mobile market with high SMS adoption rates. The country's telecommunications infrastructure is well-developed, with major operators including Claro, Movistar, and Tigo dominating the market. While OTT messaging apps like WhatsApp are popular for personal communications, SMS remains crucial for business communications, particularly for authentication, notifications, and marketing purposes. Android devices hold a significant market share advantage over iOS in Colombia, reflecting broader Latin American mobile usage patterns.


Key SMS Features and Capabilities in Colombia

Colombia offers comprehensive SMS capabilities including two-way messaging support, message concatenation, and number portability, though MMS is handled through SMS with URL links.

Two-way SMS Support

Two-way SMS is fully supported in Colombia, allowing for interactive messaging campaigns and customer engagement. There are no specific restrictions beyond standard compliance requirements for obtaining user consent and honoring opt-out requests.

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 160 ASCII characters per message segment before splitting occurs.
Encoding considerations: Messages using GSM-7 encoding can contain up to 160 characters, while UCS-2 encoding (used for special characters and non-Latin alphabets) reduces this to 70 characters per segment.

MMS Support

MMS messages are not directly supported in Colombia. Instead, multimedia content is automatically converted to SMS with an embedded URL link where recipients can access the content. This approach ensures reliable delivery while maintaining the ability to share rich media content.

Recipient Phone Number Compatibility

Number Portability

Number portability is available in Colombia, 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 Colombia. Attempts to send messages to landline numbers will result in a failed delivery and a 400 response error (code 21614) through the API. These messages won't appear in logs and won't incur charges.

Compliance and Regulatory Guidelines for SMS in Colombia

SMS communications in Colombia are regulated by the Ministry of Information and Communications Technology (MinTIC) and the Communications Regulation Commission (CRC). Compliance with Law 1581 of 2012 and Decree 1377 of 2013 is mandatory for handling personal data in SMS communications.

Explicit Consent Requirements:

  • Written or digital confirmation of opt-in must be obtained before sending marketing messages
  • Consent records must be maintained and easily accessible
  • Purpose of communications must be clearly stated during opt-in
  • Separate consent required for different types of communications (marketing, notifications, etc.)

Best practices for documenting consent:

  • Store timestamp and source of consent
  • Maintain audit trail of opt-in method
  • Keep records of consent language and terms presented
  • Document any subsequent opt-out requests

HELP/STOP and Other Commands

  • Required Keywords: STOP, CANCELAR, NO, BAJA must be supported
  • Language Requirements: Commands must be recognized in both Spanish and English
  • Response Time: Acknowledgment messages must be sent within 24 hours
  • Implementation: Keywords should be case-insensitive and work with or without accents

Do Not Call / Do Not Disturb Registries

Colombia does not maintain a centralized Do Not Call registry, but businesses must:

  • Maintain their own suppression lists
  • Honor opt-out requests immediately
  • Remove numbers within 24 hours of receiving STOP commands
  • Keep records of opt-out dates for compliance purposes

Time Zone Sensitivity

Colombia observes a single time zone (UTC-5), simplifying message timing:

  • Recommended Sending Hours: 8:00 AM to 8:00 PM local time
  • Exceptions: Emergency notifications and critical alerts
  • Best Practice: Schedule campaigns between 10:00 AM and 6:00 PM for optimal engagement

Phone Numbers Options and SMS Sender Types for Colombia

Alphanumeric Sender ID

Operator network capability: Not supported in Colombia
Registration requirements: N/A
Sender ID preservation: All alphanumeric IDs are converted to numeric format

Long Codes

Domestic vs. International:

  • Domestic long codes not supported
  • International long codes supported but sender ID is overwritten

Sender ID preservation: No, international numbers are replaced with local short codes
Provisioning time: Immediate for international numbers
Use cases: Suitable for low-volume messaging and two-way communication

Short Codes

Support: Fully supported and preferred for business messaging
Provisioning time: 4-10 weeks for approval and implementation
Use cases:

  • High-volume marketing campaigns
  • Two-factor authentication
  • Customer service
  • Transactional messaging

Restricted SMS Content, Industries, and Use Cases

Prohibited Content:

  • Gambling and betting services
  • Adult content or explicit material
  • Cryptocurrency promotions
  • Unauthorized financial services
  • Political campaign messages without proper authorization

Regulated Industries:

  • Financial services require additional disclaimers
  • Healthcare messages must comply with patient privacy laws
  • Insurance products need specific regulatory disclosures

Content Filtering

Carrier Filtering Rules:

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

Best Practices to Avoid Blocking:

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

Best Practices for Sending SMS in Colombia

Messaging Strategy

  • Keep messages under 160 characters when possible
  • Include clear call-to-action
  • Use personalization tokens thoughtfully
  • Maintain consistent sender identification

Sending Frequency and Timing

  • Limit to 4-5 messages per month per recipient
  • Respect national holidays and weekends
  • Implement frequency caps per user
  • Space out bulk campaigns

Localization

  • Primary language should be Spanish
  • Consider regional Colombian Spanish variations
  • Provide option for English language preference
  • Test message rendering with special characters

Opt-Out Management

  • Process opt-outs in real-time
  • Maintain centralized opt-out database
  • Confirm opt-out with acknowledgment message
  • Regular audit of opt-out list compliance

Testing and Monitoring

  • Test across all major carriers (Claro, Movistar, Tigo)
  • Monitor delivery rates by carrier
  • Track engagement metrics
  • Regular testing of opt-out functionality
  • Monitor for carrier filtering patterns

SMS API integrations for Colombia

Twilio

Twilio provides a robust SMS API with comprehensive support for Colombian messaging requirements. Integration requires account credentials and proper phone number formatting.

Key Parameters:

  • Account SID and Auth Token for authentication
  • From number must be a valid Twilio phone number
  • Recipient numbers must include Colombia's +57 country code
typescript
import { 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 Colombia
async function sendSMSColombia(to: string, message: string) {
  try {
    // Ensure number starts with +57 for Colombia
    const formattedNumber = to.startsWith('+57') ? to : `+57${to}`;
    
    const response = await client.messages.create({
      body: message,
      from: process.env.TWILIO_PHONE_NUMBER,
      to: formattedNumber,
      // Optional: Set status callback URL for delivery tracking
      statusCallback: 'https://your-callback-url.com/status'
    });
    
    console.log(`Message sent successfully! SID: ${response.sid}`);
    return response;
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

Sinch

Sinch offers a straightforward API for sending SMS to Colombia, with support for both transactional and marketing messages.

typescript
import axios from 'axios';

interface SinchSMSResponse {
  id: string;
  status: string;
}

class SinchSMSClient {
  private readonly baseUrl: string;
  private readonly apiToken: string;

  constructor(apiToken: string) {
    this.baseUrl = 'https://sms.api.sinch.com/xms/v1';
    this.apiToken = apiToken;
  }

  async sendSMS(to: string, message: string): Promise<SinchSMSResponse> {
    try {
      const response = await axios.post(
        `${this.baseUrl}/batches`,
        {
          from: process.env.SINCH_SENDER_ID,
          to: [to],
          body: message
        },
        {
          headers: {
            'Authorization': `Bearer ${this.apiToken}`,
            'Content-Type': 'application/json'
          }
        }
      );
      
      return response.data;
    } catch (error) {
      console.error('Sinch SMS Error:', error);
      throw error;
    }
  }
}

MessageBird

MessageBird provides a feature-rich API with strong support for Colombian SMS requirements and delivery reporting.

typescript
import messagebird from 'messagebird';

class MessageBirdClient {
  private client: any;

  constructor(apiKey: string) {
    this.client = messagebird(apiKey);
  }

  sendSMS(to: string, message: string): Promise<any> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator: process.env.MESSAGEBIRD_ORIGINATOR,
        recipients: [to],
        body: message,
        // Optional parameters for Colombian requirements
        type: 'sms',
        datacoding: 'plain', // or 'unicode' for special characters
      }, (err: any, response: any) => {
        if (err) {
          reject(err);
        } else {
          resolve(response);
        }
      });
    });
  }
}

Plivo

Plivo offers reliable SMS delivery to Colombia with support for high-volume messaging and detailed delivery tracking.

typescript
import plivo from 'plivo';

class PlivoSMSClient {
  private client: any;

  constructor(authId: string, authToken: string) {
    this.client = new plivo.Client(authId, authToken);
  }

  async sendSMS(to: string, message: string) {
    try {
      const response = await this.client.messages.create({
        src: process.env.PLIVO_SOURCE_NUMBER,
        dst: to,
        text: message,
        // Optional parameters
        url: 'https://your-callback-url.com/status',
        method: 'POST'
      });
      
      return response;
    } catch (error) {
      console.error('Plivo SMS Error:', error);
      throw error;
    }
  }
}

API Rate Limits and Throughput

Rate Limits by Provider:

  • Twilio: 100 messages per second
  • Sinch: 30 messages per second
  • MessageBird: 60 messages per second
  • Plivo: 50 messages per second

Throughput Management Strategies:

  • Implement exponential backoff for retry logic
  • Use queue systems (Redis, RabbitMQ) for high-volume sending
  • Batch messages when possible
  • Monitor delivery rates and adjust sending patterns

Error Handling and Reporting

Best Practices:

  • Implement comprehensive error logging
  • Monitor delivery receipts
  • Track carrier-specific error codes
  • Set up automated alerts for failure thresholds
  • Maintain error logs with correlation IDs

Recap and Additional Resources

Key Takeaways:

  1. Always format numbers with +57 country code
  2. Implement proper opt-out handling
  3. Respect local time zones (UTC-5)
  4. Monitor delivery rates by carrier
  5. Maintain proper consent records

Next Steps:

  1. Review MinTIC regulations for SMS messaging
  2. Implement proper consent management
  3. Set up delivery monitoring
  4. Test across all major carriers

Additional Information:

Industry Resources:

  • Colombian Mobile Operators Association
  • Local SMS compliance guidelines
  • Carrier-specific documentation