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.
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.
Consent and Opt-In
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 credentialsconst client = newTwilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);
// Function to send SMS to ColombiaasyncfunctionsendSMSColombia(to: string, message: string) {
try {
// Ensure number starts with +57 for Colombiaconst 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 trackingstatusCallback: '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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
Colombia SMS Market Overview
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.
Consent and Opt-In
Explicit Consent Requirements:
Best practices for documenting consent:
HELP/STOP and Other Commands
Do Not Call / Do Not Disturb Registries
Colombia does not maintain a centralized Do Not Call registry, but businesses must:
Time Zone Sensitivity
Colombia observes a single time zone (UTC-5), simplifying message timing:
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:
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:
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
Regulated Industries:
Content Filtering
Carrier Filtering Rules:
Best Practices to Avoid Blocking:
Best Practices for Sending SMS in Colombia
Messaging Strategy
Sending Frequency and Timing
Localization
Opt-Out Management
Testing and Monitoring
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:
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.
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.
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.
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:
Throughput Management Strategies:
Error Handling and Reporting
Best Practices:
Recap and Additional Resources
Key Takeaways:
Next Steps:
Additional Information:
Industry Resources: