Argentina SMS Best Practices, Compliance, and Features
Argentina SMS Market Overview
Locale name: | Argentina |
---|---|
ISO code: | AR |
Region | South America |
Mobile country code (MCC) | 722 |
Dialing Code | +54 |
Market Conditions: Argentina has a mature mobile market with high SMS adoption rates. The country's major mobile operators include Claro, Personal, and Movistar. WhatsApp is extremely popular for messaging, though SMS remains crucial for business communications and authentication. Android devices dominate the market with approximately 90% market share, while iOS devices account for roughly 10%.
Key SMS Features and Capabilities in Argentina
Argentina supports a comprehensive range of SMS features including two-way messaging, concatenation, and number portability, though MMS is handled through SMS conversion.
Two-way SMS Support
Two-way SMS is fully supported in Argentina with no major restrictions. This enables interactive messaging campaigns and customer engagement through SMS conversations.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is fully supported across all major carriers.
Message length rules: Standard 160 characters for GSM-7 encoding, 70 characters for Unicode before splitting occurs.
Encoding considerations: Both GSM-7 and UCS-2 (Unicode) are supported, with GSM-7 recommended for optimal message length and cost efficiency.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link to the media content. This ensures compatibility across all devices while maintaining the ability to share rich media content.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in Argentina, allowing users to keep their phone numbers when switching carriers. This feature does not significantly impact message delivery or routing as the system automatically handles carrier identification.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in Argentina. Attempts to send messages to landline numbers will result in a failed delivery and an error response (400 error code 21614) from the API, with no charges applied to the sender's account.
Compliance and Regulatory Guidelines for SMS in Argentina
Argentina's SMS communications are regulated under the Personal Data Protection Act (PDPA) and overseen by the National Communications Agency (ENACOM). Businesses must comply with data privacy regulations and obtain explicit consent before sending marketing messages.
Consent and Opt-In
Explicit Consent Requirements:
- Written or digital confirmation from recipients before sending marketing messages
- Clear disclosure of message purpose, frequency, and company information
- Documented proof of consent maintained for compliance purposes
- Separate consent required for different types of communications (marketing, transactional, etc.)
HELP/STOP and Other Commands
- Required Keywords:
- STOP, BAJA, NO ("stop" in Spanish)
- AYUDA, HELP (must support both Spanish and English)
- Messages must include opt-out instructions in Spanish
- Opt-out confirmation messages should be sent in the recipient's preferred language
Do Not Call / Do Not Disturb Registries
Argentina maintains the "Registro Nacional No Llame" (National Do Not Call Registry). Key requirements:
- Check numbers against the registry before sending marketing messages
- Update contact lists monthly to remove registered numbers
- Maintain internal suppression lists for opt-outs
- Honor opt-out requests within 24 hours
Time Zone Sensitivity
- Recommended Sending Hours: 8:00 AM to 9:00 PM local time (Argentina Time, ART)
- Avoid sending during national holidays
- Emergency or critical notifications exempt from time restrictions
- Consider different time zones within Argentina for nationwide campaigns
Phone Numbers Options and SMS Sender Types for Argentina
Alphanumeric Sender ID
Operator network capability: Not supported by local networks
Registration requirements: N/A
Sender ID preservation: No - messages will be delivered with random shortcode
Long Codes
Domestic vs. International:
- Domestic: Supported but not available through most providers
- International: Fully supported
Sender ID preservation: No - original sender ID is not preserved
Provisioning time: 1-2 business days for international numbers
Use cases:
- Two-way communication
- Customer support
- Transactional messages
Short Codes
Support: Yes, fully supported
Provisioning time: 6-15 weeks
Use cases:
- High-volume marketing campaigns
- Two-factor authentication
- Emergency alerts
- Customer engagement programs
Restricted SMS Content, Industries, and Use Cases
Restricted Industries:
- Gambling and betting services
- Adult content
- Cryptocurrency promotions
- Unauthorized financial services
Regulated Industries:
- Banking and financial services require additional compliance
- Healthcare messages must comply with patient privacy laws
- Political messaging has specific disclosure requirements
Content Filtering
Known Carrier Filters:
- URLs from unknown domains
- Excessive punctuation
- All-caps messages
- Multiple consecutive spaces
Best Practices to Avoid Filtering:
- Use registered URL shorteners
- Maintain consistent sender IDs
- Avoid spam trigger words
- Keep message formatting simple
Best Practices for Sending SMS in Argentina
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-actions
- Use personalization tokens (customer name, account info)
- Maintain consistent brand voice
Sending Frequency and Timing
- Limit to 4 marketing messages per month per recipient
- Space messages at least 24 hours apart
- Avoid sending during siesta hours (1:00 PM - 4:00 PM)
- Consider cultural events and holidays
Localization
- Primary language should be Spanish
- Use local date format (DD/MM/YYYY)
- Consider regional dialects and expressions
- Provide customer support in Spanish
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain centralized opt-out database
- Send confirmation of opt-out
- Regular audit of opt-out lists
Testing and Monitoring
- Test across major carriers (Claro, Personal, Movistar)
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular A/B testing of message content
SMS API integrations for Argentina
Twilio
Twilio provides a robust REST API for sending SMS messages to Argentina. Authentication uses account SID and auth token.
import twilio from 'twilio';
// Initialize client with your credentials
const client = twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
// Function to send SMS to Argentina
async function sendSMSToArgentina(
to: string,
message: string
): Promise<void> {
try {
// Ensure number is in E.164 format for Argentina (+54)
const formattedNumber = to.startsWith('+54') ? to : `+54${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-callback-url.com/status'
});
console.log(`Message sent successfully! SID: ${response.sid}`);
} catch (error) {
console.error('Error sending message:', error);
}
}
Sinch
Sinch offers a straightforward REST API with JWT authentication for sending SMS messages.
import axios from 'axios';
class SinchSMSService {
private readonly apiToken: string;
private readonly serviceId: string;
private readonly baseUrl: string = 'https://sms.api.sinch.com/xms/v1';
constructor(apiToken: string, serviceId: string) {
this.apiToken = apiToken;
this.serviceId = serviceId;
}
async sendSMS(to: string, message: string): Promise<void> {
try {
const response = await axios.post(
`${this.baseUrl}/${this.serviceId}/batches`,
{
from: 'YourSenderID',
to: [to],
body: message
},
{
headers: {
'Authorization': `Bearer ${this.apiToken}`,
'Content-Type': 'application/json'
}
}
);
console.log('Message sent:', response.data.id);
} catch (error) {
console.error('Sinch SMS error:', error);
}
}
}
MessageBird (Bird)
MessageBird provides a feature-rich API with support for multiple message types.
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,
// Optional parameters for Argentina
type: 'sms',
datacoding: 'plain', // or 'unicode' for special characters
}, (err: any, response: any) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}
Plivo
Plivo offers a powerful API with support for high-volume messaging.
import plivo from 'plivo';
class PlivoSMSService {
private client: any;
constructor(authId: string, authToken: string) {
this.client = new plivo.Client(authId, authToken);
}
async sendSMS(to: string, message: string): Promise<void> {
try {
const response = await this.client.messages.create({
src: 'YourSourceNumber', // Your Plivo number
dst: to,
text: message,
// Optional parameters
url: 'https://your-callback-url.com/status',
method: 'POST'
});
console.log('Message sent:', response.messageUuid);
} catch (error) {
console.error('Plivo error:', error);
}
}
}
API Rate Limits and Throughput
- Rate Limits:
- Maximum 400 messages per day per long code
- 40 messages per 10 minutes per number
- 4 messages per minute from same number
Throughput Management Strategies:
- Implement message queuing using Redis or RabbitMQ
- Use multiple sender IDs for load balancing
- Batch messages for optimal delivery
- Implement exponential backoff for retries
Error Handling and Reporting
- Implement comprehensive logging with Winston or Bunyan
- Monitor delivery receipts (DLRs)
- Track common error codes:
- 21614: Invalid number format
- 21408: Rate limit exceeded
- 21611: Message blocked
Recap and Additional Resources
Key Takeaways:
- Always format numbers in E.164 format (+54)
- Implement proper opt-out handling
- Respect local time zones and sending hours
- Maintain proper consent documentation
Next Steps:
- Review ENACOM regulations (https://www.enacom.gob.ar)
- Implement proper error handling and monitoring
- Set up delivery receipt handling
- Test thoroughly across all major carriers
Additional Resources:
- ENACOM Guidelines: https://www.enacom.gob.ar/normativas
- Personal Data Protection Act: https://www.argentina.gob.ar/aaip
- National Do Not Call Registry: https://nollame.aaip.gob.ar
- Mobile Operators Association: https://www.gsma.com/latinamerica
Technical Documentation:
- Twilio Argentina Guidelines: https://www.twilio.com/docs/sms/guidelines/ar
- MessageBird API Docs: https://developers.messagebird.com
- Sinch API Reference: https://developers.sinch.com
- Plivo API Documentation: https://www.plivo.com/docs