sms compliance

Sent logo
Sent TeamMay 3, 2025 / 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

Frequently Asked Questions

How to send SMS messages to Colombia?

To send SMS messages to Colombia, ensure the recipient's phone number includes the +57 country code. Use a reputable SMS API provider like Twilio, Sinch, MessageBird, or Plivo, and comply with Colombian regulations regarding consent and content.

What is the preferred SMS sender ID type for Colombia?

Short codes are the preferred sender ID type for business messaging in Colombia, offering high throughput for marketing campaigns and other applications. While international long codes are supported, the sender ID is overwritten with a local short code.

Why does Colombia use URL links for MMS?

MMS messages are not directly supported in Colombia. Instead, multimedia content is sent via SMS with an embedded URL link. This approach maintains reliable delivery while still allowing users to access rich media content.

When should I send marketing SMS messages in Colombia?

The recommended sending window for marketing SMS in Colombia is between 8:00 AM and 8:00 PM local time (UTC-5). Best practice suggests aiming for between 10:00 AM and 6:00 PM for optimal engagement, while respecting national holidays and weekends.

Can I send SMS to landlines in Colombia?

No, sending SMS to landline numbers in Colombia is not supported. Attempts to do so will result in failed delivery and a 400 response error (code 21614) through the API, without incurring charges.

What are the required STOP keywords for SMS in Colombia?

The required STOP keywords for SMS in Colombia are STOP, CANCELAR, NO, and BAJA. These keywords must be recognized in both English and Spanish, with responses sent within 24 hours. They should be case-insensitive and function with or without accents.

How to get short code for SMS in Colombia?

Short codes in Colombia require a provisioning process that takes 4-10 weeks for approval and implementation. They are ideal for high-volume messaging, two-factor authentication, and other business uses.

What is the character limit for SMS messages in Colombia?

Standard SMS messages in Colombia are limited to 160 characters using GSM-7 encoding. If UCS-2 encoding is used for special characters, the limit is reduced to 70 characters per segment. Concatenated messages are supported for longer content.

What SMS content is prohibited in Colombia?

Prohibited SMS content in Colombia includes gambling, adult material, cryptocurrency promotions, unauthorized financial services, and political campaigns without proper authorization. Regulated industries like finance and healthcare have additional compliance requirements.

How to comply with SMS regulations in Colombia?

Complying with SMS regulations in Colombia requires obtaining explicit consent for marketing messages, honoring opt-out requests within 24 hours, and adhering to data protection laws (Law 1581 of 2012 and Decree 1377 of 2013).

What are the best practices for SMS marketing in Colombia?

Best practices include using Spanish as the primary language, personalizing messages, keeping content under 160 characters, including a clear call to action, and limiting frequency to 4-5 messages per recipient per month. Thorough testing across major carriers and opt-out management are essential.

How to handle SMS opt-outs in Colombia?

Opt-outs must be processed in real-time, using a centralized opt-out database. Confirmation messages should be sent, and the opt-out list needs regular audits to ensure ongoing compliance. Removal from lists should occur within 24 hours of request.

What are the API rate limits for SMS providers in Colombia?

API rate limits vary by provider: Twilio (100/second), Sinch (30/second), MessageBird (60/second), and Plivo (50/second). Manage throughput with strategies like exponential backoff, queue systems, and batch messaging.

What are the Colombia SMS compliance regulations?

Key regulations include Law 1581 of 2012 and Decree 1377 of 2013, overseen by MinTIC and CRC. These regulations govern data privacy, consent, and acceptable messaging practices within the Colombian telecommunications market.