sms compliance
sms compliance
Guatemala SMS Best Practices, Compliance, and Features
Complete guide to SMS messaging in Guatemala including compliance requirements, carrier capabilities, and API integration examples.
Guatemala SMS Best Practices, Compliance, and Features
Guatemala SMS Market Overview and Requirements
| Locale name: | Guatemala |
|---|---|
| ISO code: | GT |
| Region | Central America |
| Mobile country code (MCC) | 704 |
| Dialing Code | +502 |
Market Conditions: Three major operators dominate Guatemala's mobile market: Tigo, Claro, and Movistar. While WhatsApp is popular in urban areas, SMS remains essential for business communications and reaching rural populations with limited data connectivity. Android devices account for approximately 85% of mobile devices.
SMS Features and Capabilities for Guatemala
Guatemala supports basic SMS functionality with limited advanced features. Business communications focus primarily on one-way messaging.
Two-way SMS Support
Standard A2P channels in Guatemala do not support two-way SMS. For interactive messaging, work with local aggregators or use alternative communication methods.
Concatenated Messages (Segmented SMS)
Support: Not officially supported.
Message length limits:
- GSM-7 encoding: 160 characters
- Unicode (UCS-2): 70 characters
Encoding: Use GSM-7 for optimal delivery and cost-effectiveness. Both GSM-7 and UCS-2 encodings are supported.
MMS Support
MMS messages automatically convert to SMS with an embedded URL link. Use URL shorteners and ensure your media content is mobile-optimized.
Phone Number Format and Compatibility
Number Portability
Not available in Guatemala. Phone numbers remain tied to their original carrier, ensuring more reliable message routing and delivery.
Sending SMS to Landlines
Not supported. Messages sent to landline numbers fail and may trigger API error responses (for example, Twilio error code 21614).
Compliance and Regulatory Guidelines for SMS in Guatemala
The Superintendencia de Telecomunicaciones (SIT) governs SMS regulations in Guatemala. Adhere to general consumer protection laws and telecommunications regulations. The regulatory framework focuses on protecting consumer rights and preventing spam.
Consent and Opt-In
Explicit Consent Requirements:
- Obtain written or digital confirmation before sending marketing messages
- Disclose message frequency and content type clearly
- Maintain consent documentation for at least 2 years
- Include timestamp, source, and scope of permission in consent records
Best Practices for Obtaining Consent:
- Use double opt-in verification
- Provide clear terms and conditions
- Maintain detailed consent logs
- Run consent refresh campaigns every 12 months
HELP/STOP and Other Commands
- Support STOP, CANCELAR, and NO in both English and Spanish
- Provide AYUDA (HELP) responses with service information in Spanish
- Make keywords case-insensitive
- Process opt-out requests immediately
- Send confirmation messages in the user's preferred language
Do Not Call / Do Not Disturb Registries
Guatemala does not maintain an official DND registry. Maintain your own suppression lists and:
- Honor opt-out requests within 24 hours
- Implement automated opt-out processing
- Clean contact lists regularly
- Share opt-out lists across campaigns and platforms
Time Zone Sensitivity
Guatemala uses Central Time (UTC-6). No strict time restrictions exist, but follow these recommended sending hours:
- Weekdays: 8:00 AM – 8:00 PM CT
- Weekends: 9:00 AM – 6:00 PM CT
- Holidays: Avoid unless urgent
- Emergency messages: Send anytime
SMS Sender ID Options and Phone Number Types in Guatemala
Alphanumeric Sender ID
Operator network capability: Supported with limitations
Registration requirements: None
Sender ID preservation: Not guaranteed. Carriers may overwrite with a random domestic longcode.
Best practice: Use consistent sender IDs across campaigns
Long Codes
Domestic vs. International:
- Domestic long codes: Not supported
- International long codes: Fully supported
Sender ID preservation: No – carriers typically overwrite
Provisioning time: 1–2 business days
Use cases:
- Transactional messages
- Two-factor authentication
- Customer support communications
Short Codes
Not available in Guatemala.
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
- Gambling and betting services
- Adult or explicit content
- Unauthorized pharmaceutical promotions
- Political campaign messages without proper authorization
- Fraudulent or misleading content
Regulated Industries:
- Financial services: Require additional disclaimers
- Healthcare: Must comply with privacy regulations
- Insurance: Need clear terms and conditions
Content Filtering
Known Carrier Filters:
- URLs from suspicious domains
- Multiple exclamation marks or all-caps text
- High-frequency identical messages
- Restricted keywords
Best Practices to Avoid Filtering:
- Use approved URL shorteners
- Maintain consistent sending patterns
- Avoid excessive punctuation
- Include a clear business identifier
- Keep content professional
Best Practices for Sending SMS in Guatemala
Messaging Strategy
- Keep messages under 160 characters when possible
- Include a clear call-to-action
- Use personalization tokens thoughtfully
- Maintain consistent brand voice
- Include your business name in messages
Sending Frequency and Timing
- Limit to 4–5 messages per month per recipient
- Respect local holidays and cultural events
- Implement frequency capping
- Space out messages appropriately
Localization
Primary language: Spanish
Localization considerations:
- Consider indigenous languages for specific regions
- Use local date and time formats
- Adapt content for cultural context
- Test translations with native speakers
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain a centralized opt-out database
- Send opt-out confirmation messages
- Audit opt-out lists regularly
- Train staff on opt-out procedures
Testing and Monitoring
- Test across all major carriers (Tigo, Claro, Movistar)
- Monitor delivery rates by carrier
- Track engagement metrics
- Run regular A/B tests on message content
- Document and analyze failure patterns
SMS API integrations for Guatemala
Twilio
Twilio provides a robust SMS API with comprehensive support for Guatemala. Integration requires an account SID and auth token for authentication.
Key Parameters:
from: Your Twilio phone number (must be in E.164 format)to: Recipient's number (must include +502 prefix for Guatemala)body: Message content (supports UTF-8 encoding)
import { Twilio } from 'twilio';
// Initialize Twilio client
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
async function sendSMSToGuatemala(
to: string,
message: string
): Promise<void> {
try {
// Ensure number starts with Guatemala country code
const formattedNumber = to.startsWith('+502') ? to : `+502${to}`;
const response = await client.messages.create({
body: message,
from: process.env.TWILIO_PHONE_NUMBER,
to: formattedNumber,
// Enable 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 direct carrier connections in Guatemala with support for both SMS and number verification services.
Key Parameters:
serviceplanId: Your Sinch service plan IDapiToken: Bearer token for authenticationdestination: Recipient number in E.164 format
import axios from 'axios';
class SinchSMSService {
private readonly baseUrl: string;
private readonly headers: Record<string, string>;
constructor(serviceplanId: string, apiToken: string) {
this.baseUrl = `https://sms.api.sinch.com/xms/v1/${serviceplanId}`;
this.headers = {
'Authorization': `Bearer ${apiToken}`,
'Content-Type': 'application/json'
};
}
async sendSMS(to: string, message: string): Promise<void> {
try {
const response = await axios.post(
`${this.baseUrl}/batches`,
{
from: process.env.SINCH_SENDER_ID,
to: [to],
body: message
},
{ headers: this.headers }
);
console.log('Message sent:', response.data.id);
} catch (error) {
console.error('Sinch SMS error:', error);
throw error;
}
}
}MessageBird
MessageBird provides reliable SMS delivery in Guatemala through their global messaging API.
Key Parameters:
apiKey: Your MessageBird API keyoriginator: Sender ID or phone numberrecipients: Array of recipient numbers
import messagebird from 'messagebird';
class MessageBirdService {
private client: any;
constructor(apiKey: string) {
this.client = messagebird(apiKey);
}
sendSMS(to: string, message: string): Promise<void> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator: 'YourCompany',
recipients: [to],
body: message,
datacoding: 'auto' // Automatic encoding detection
}, (err: any, response: any) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}SMS API Rate Limits and Throughput for Guatemala
Guatemala-specific considerations for SMS API integration:
Rate Limits:
- Twilio: 250 messages per second
- Sinch: 30 messages per second
- MessageBird: 100 messages per second
Throughput Management Strategies:
- Implement exponential backoff for retries
- Use queue systems (for example, Redis or RabbitMQ)
- Batch messages when possible
- Monitor delivery rates by carrier
Error Handling and Reporting
Common Error Scenarios:
- Invalid phone numbers
- Network timeouts
- Carrier rejections
- Rate limit exceeded
Best Practices:
interface SMSError {
code: string;
message: string;
timestamp: Date;
recipient: string;
}
class SMSErrorHandler {
static handleError(error: SMSError): void {
// Log error details
console.error(`SMS Error [${error.code}]:`, {
message: error.message,
recipient: error.recipient,
timestamp: error.timestamp
});
// Implement retry logic for specific error codes
if (this.isRetryableError(error.code)) {
// Add to retry queue
}
// Alert on critical errors
if (this.isCriticalError(error.code)) {
// Send alert to monitoring system
}
}
private static isRetryableError(code: string): boolean {
const retryableCodes = ['TIMEOUT', 'RATE_LIMIT', 'TEMPORARY_FAILURE'];
return retryableCodes.includes(code);
}
private static isCriticalError(code: string): boolean {
const criticalCodes = ['INVALID_CREDENTIALS', 'ACCOUNT_SUSPENDED'];
return criticalCodes.includes(code);
}
}Recap and Additional Resources
Key Takeaways
-
Compliance Priorities:
- Obtain explicit consent
- Honor opt-out requests
- Maintain proper documentation
-
Technical Considerations:
- Use E.164 number formatting
- Implement proper error handling
- Monitor delivery rates
-
Best Practices:
- Send during business hours
- Localize content
- Maintain clean contact lists
Next Steps
- Review SIT (Superintendencia de Telecomunicaciones) regulations
- Consult with local legal counsel
- Set up test accounts with your preferred SMS providers
- Implement monitoring and reporting systems
Additional Resources
- SIT Official Website – Official regulatory body for telecommunications
- Guatemala Telecommunications Law – Complete legal framework
- SMS Provider Documentation:
- Twilio Guatemala Guidelines – Country-specific requirements
- Sinch API Documentation – API reference and integration guides
- MessageBird API Reference – Complete API documentation