Honduras SMS Best Practices, Compliance, and Features
Honduras SMS Market Overview
Locale name: | Honduras |
---|---|
ISO code: | HN |
Region | North America |
Mobile country code (MCC) | 708 |
Dialing Code | +504 |
Market Conditions: Honduras has a growing mobile market with widespread SMS usage. The country's telecommunications sector is dominated by major operators including Tigo and Claro. While OTT messaging apps like WhatsApp are popular in urban areas, SMS remains crucial for business communications and reaching rural populations where data connectivity may be limited. Android devices dominate the mobile market due to their affordability and accessibility.
Key SMS Features and Capabilities in Honduras
Honduras supports basic SMS functionality with some limitations on sender ID preservation and two-way messaging capabilities.
Two-way SMS Support
Two-way SMS is not supported in Honduras through most providers. This means that while businesses can send messages to customers, they cannot receive replies through the same channel.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenated messages are supported, though support may vary by sender ID type.
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 are supported. Messages using special characters will automatically use UCS-2 encoding, reducing the character limit per segment.
MMS Support
MMS messages are not directly supported in Honduras. Instead, MMS content is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. This ensures compatibility while still allowing businesses to share rich media content with their audiences.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in Honduras, allowing users to keep their phone numbers when switching carriers. This feature does not significantly impact SMS delivery or routing, as messages are properly routed to the current carrier.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in Honduras. Attempts to send messages to landline numbers will result in delivery failures, typically generating a 400 response error (error code 21614) from SMS APIs. These messages will not appear in logs, and accounts will not be charged for failed attempts.
Compliance and Regulatory Guidelines for SMS in Honduras
Honduras follows general telecommunications regulations overseen by CONATEL (Comisión Nacional de Telecomunicaciones), the national telecommunications commission. While specific SMS marketing regulations are not as detailed as in some countries, businesses must adhere to general consumer protection and privacy principles.
Consent and Opt-In
Explicit Consent Requirements:
- Obtain clear, documented opt-in consent before sending marketing messages
- Maintain records of how and when consent was obtained
- Include company identification in initial opt-in messages
- Provide clear terms of service and privacy policy information
Best Practices for Consent:
- Use double opt-in processes for marketing lists
- Document consent timestamp, source, and IP address
- Store consent records securely for at least two years
- Regular consent refresh campaigns for long-term subscribers
HELP/STOP and Other Commands
- Support for STOP, CANCELAR, and AYUDA commands is required
- Messages should be handled in both Spanish and English
- Implement immediate processing of opt-out requests
- Send confirmation messages in the same language as the opt-out request
Do Not Call / Do Not Disturb Registries
Honduras does not maintain a centralized Do Not Call registry. However, businesses should:
- Maintain their own suppression lists
- Honor opt-out requests within 24 hours
- Regularly clean contact lists
- Implement internal do-not-contact databases
Time Zone Sensitivity
Honduras operates in the Central Time Zone (UTC-6):
- Restrict messaging to 8:00 AM - 8:00 PM local time
- Avoid sending during national holidays
- Emergency messages may be sent outside these hours
- Consider business hours for B2B communications
Phone Numbers Options and SMS Sender Types for in Honduras
Alphanumeric Sender ID
Operator network capability: Supported but not preserved
Registration requirements: No pre-registration required
Sender ID preservation: No - IDs are typically overwritten with a numeric sender ID
Long Codes
Domestic vs. International:
- Domestic long codes not supported
- International long codes supported but may be overwritten
Sender ID preservation: No - original sender IDs are not preserved
Provisioning time: Immediate to 24 hours
Use cases: Transactional messages, alerts, and notifications
Short Codes
Support: Limited availability
Provisioning time: 8-12 weeks
Use cases:
- High-volume messaging campaigns
- Two-factor authentication
- Customer service communications
Restricted SMS Content, Industries, and Use Cases
Restricted Industries:
- Gambling and betting services
- Adult content
- Cryptocurrency promotions
- Unauthorized financial services
- Political messaging without proper authorization
Content Filtering
Known Carrier Rules:
- URLs must be from approved domains
- No excessive punctuation or special characters
- Maximum of 3 consecutive messages per recipient
- No misleading sender information
Tips to Avoid Blocking:
- Use clear, consistent sender IDs
- Avoid URL shorteners
- Maintain consistent sending patterns
- Include clear opt-out instructions
Best Practices for Sending SMS in Honduras
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-actions
- Use personalization tokens thoughtfully
- Maintain consistent branding
Sending Frequency and Timing
- Limit to 3-4 messages per week per recipient
- Respect local holidays and cultural events
- Schedule campaigns during business hours
- Space out bulk sends to avoid network congestion
Localization
- Primary language: Spanish
- Consider regional dialects and expressions
- Avoid automated translations
- Test messages with local users
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain centralized opt-out database
- Regular list cleaning and validation
- Clear opt-out instructions in every message
Testing and Monitoring
- Test across major carriers (Tigo, Claro)
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular A/B testing of message content
SMS API integrations for Honduras
Twilio
Twilio provides a robust SMS API with comprehensive documentation and TypeScript support. Authentication uses your Account SID and Auth Token.
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 Honduras
async function sendSMSToHonduras(
to: string,
message: string
): Promise<void> {
try {
// Ensure number is in E.164 format for Honduras (+504)
const formattedNumber = to.startsWith('+504') ? to : `+504${to}`;
const response = await client.messages.create({
body: message,
to: formattedNumber,
from: process.env.TWILIO_PHONE_NUMBER,
// Optional: statusCallback URL for delivery updates
statusCallback: 'https://your-webhook.com/status'
});
console.log(`Message sent successfully! SID: ${response.sid}`);
} catch (error) {
console.error('Error sending message:', error);
}
}
Sinch
Sinch offers a straightforward API for SMS integration with Honduras, featuring detailed delivery reporting.
import { SinchClient } from '@sinch/sdk';
// Initialize Sinch client
const sinchClient = new SinchClient({
apiKey: process.env.SINCH_API_KEY,
apiSecret: process.env.SINCH_API_SECRET
});
// Send SMS function with typing
async function sendSinchSMS(
phoneNumber: string,
messageText: string
): Promise<void> {
try {
const response = await sinchClient.sms.send({
to: phoneNumber,
message: messageText,
// Optional parameters
deliveryReport: 'summary',
expiry: '24h'
});
console.log('Message batch ID:', response.batchId);
} catch (error) {
console.error('Sinch SMS error:', error);
}
}
MessageBird
MessageBird provides a reliable API with strong delivery rates in Honduras.
import { MessageBird } from 'messagebird';
// Initialize MessageBird client
const messagebird = MessageBird(process.env.MESSAGEBIRD_API_KEY);
// Type definition for response handling
interface MessageResponse {
id: string;
status: string;
recipient: string;
}
// Send SMS function
async function sendMessageBirdSMS(
recipient: string,
content: string
): Promise<MessageResponse> {
return new Promise((resolve, reject) => {
messagebird.messages.create({
originator: 'YourBrand',
recipients: [recipient],
body: content,
datacoding: 'auto' // Automatically handles character encoding
}, (err, response) => {
if (err) {
reject(err);
return;
}
resolve(response);
});
});
}
Plivo
Plivo offers competitive rates and reliable delivery to Honduras.
import { Client } from 'plivo';
// Initialize Plivo client
const plivo = new Client(
process.env.PLIVO_AUTH_ID,
process.env.PLIVO_AUTH_TOKEN
);
// Send SMS with error handling
async function sendPlivoSMS(
destination: string,
message: string
): Promise<void> {
try {
const response = await plivo.messages.create({
src: process.env.PLIVO_PHONE_NUMBER, // Your Plivo number
dst: destination,
text: message,
// Optional parameters
url: 'https://your-webhook.com/delivery-status',
method: 'POST'
});
console.log('Message sent:', response.messageUuid);
} catch (error) {
console.error('Plivo error:', error);
}
}
API Rate Limits and Throughput
- Twilio: 250 messages per second
- Sinch: 100 messages per second
- MessageBird: 150 messages per second
- Plivo: 200 messages per second
Strategies for Large-Scale Sending:
- Implement queue systems (Redis/RabbitMQ)
- Use batch APIs when available
- Monitor throughput and adjust sending rates
- Implement exponential backoff for retries
Error Handling and Reporting
// Common error handling implementation
interface SMSError {
code: string;
message: string;
timestamp: Date;
}
class SMSLogger {
static logError(error: SMSError): void {
// Log to monitoring system
console.error(`
Error Code: ${error.code}
Message: ${error.message}
Time: ${error.timestamp}
`);
}
static async retryWithBackoff(
fn: () => Promise<any>,
maxRetries: number = 3
): Promise<any> {
for (let i = 0; i < maxRetries; i++) {
try {
return await fn();
} catch (error) {
if (i === maxRetries - 1) throw error;
await new Promise(res => setTimeout(res, Math.pow(2, i) * 1000));
}
}
}
}
Recap and Additional Resources
Key Takeaways
- Always format numbers in E.164 format (+504)
- Implement proper error handling and retry logic
- Monitor delivery rates and adjust sending patterns
- Maintain compliance with local regulations
- Use appropriate character encoding for Spanish language
Next Steps
-
Technical Setup
- Choose an SMS provider based on your needs
- Implement proper error handling
- Set up monitoring and alerting
-
Compliance
- Review CONATEL regulations
- Implement opt-out handling
- Document consent collection
-
Testing
- Test with major Honduras carriers
- Verify delivery rates
- Monitor costs and optimization opportunities
Additional Information:
- CONATEL (Honduras Telecom Regulator): www.conatel.gob.hn
- Honduras Consumer Protection: www.protecciondelconsumidor.gob.hn
- Industry Guidelines: Mobile Marketing Association LATAM