Dominica SMS Best Practices, Compliance, and Features
Dominica SMS Market Overview
Locale name: | Dominica |
---|---|
ISO code: | DM |
Region | North America |
Mobile country code (MCC) | 366 |
Dialing Code | +1767 |
Market Conditions: Dominica's SMS market operates through several mobile carriers providing messaging services across the Caribbean island nation. While OTT messaging apps like WhatsApp and Facebook Messenger are popular among smartphone users, SMS remains a critical communication channel for business messaging and notifications due to its universal reach and reliability. The market shows a mix of Android and iOS usage, with Android having a larger market share due to the availability of more affordable devices.
Key SMS Features and Capabilities in Dominica
Dominica supports basic SMS functionality with some limitations on advanced features like two-way messaging and concatenation.
Two-way SMS Support
Two-way SMS is not supported in Dominica. This means businesses cannot implement interactive SMS campaigns that require recipient responses or automated reply handling.
Concatenated Messages (Segmented SMS)
Support: Concatenated messages are not supported in Dominica.
Message length rules: Messages should be kept within the standard 160 GSM-7 character limit to ensure reliable delivery.
Encoding considerations: GSM-7 encoding is recommended for optimal character usage and cost efficiency. Using UCS-2 encoding for special characters reduces the message length limit to 70 characters.
MMS Support
MMS messages are not directly supported in Dominica. Instead, when attempting to send MMS, the message is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. This ensures that rich media content can still be shared, albeit through a web-based approach.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Dominica. This means mobile numbers are tied to specific carriers, and users cannot keep their numbers when switching providers. This affects contact list management for businesses running long-term SMS campaigns.
Sending SMS to Landlines
Sending SMS to landline numbers is not possible in Dominica. Attempts to send messages to landline numbers will result in a failed delivery, specifically generating a 400 response with error code 21614 through the REST API. These messages won't appear in logs, and accounts won't be charged for failed attempts.
Compliance and Regulatory Guidelines for SMS in Dominica
SMS communications in Dominica are governed by general telecommunications regulations and international best practices. While specific SMS marketing laws are limited, businesses must follow standard compliance guidelines to ensure responsible messaging practices.
Consent and Opt-In
Explicit Consent Requirements:
- Obtain clear, documented opt-in consent before sending marketing messages
- Maintain detailed records of when and how consent was obtained
- Include clear terms and conditions during the opt-in process
- Specify the types of messages recipients will receive
- Provide information about message frequency and any associated costs
HELP/STOP and Other Commands
- All SMS campaigns must support standard HELP and STOP commands
- Keywords should be recognized regardless of case (e.g., "STOP", "Stop", "stop")
- Implement immediate processing of opt-out requests
- Send confirmation messages when users opt out
- Support English language commands as it's the primary language in Dominica
Do Not Call / Do Not Disturb Registries
While Dominica doesn't maintain an official Do Not Call registry, businesses should:
- Maintain their own suppression lists of opted-out numbers
- Honor opt-out requests immediately and permanently
- Implement a system to track and manage unsubscribe requests
- Regularly clean contact lists to remove inactive or opted-out numbers
Time Zone Sensitivity
Dominica follows Atlantic Standard Time (AST/UTC-4):
- Send messages between 8:00 AM and 8:00 PM local time
- Avoid sending messages during national holidays
- Only send messages outside these hours for urgent communications
- Consider cultural and religious observances when timing campaigns
Phone Numbers Options and SMS Sender Types for in Dominica
Alphanumeric Sender ID
Operator network capability: Supported with dynamic usage
Registration requirements: No pre-registration required
Sender ID preservation: Yes, sender IDs are preserved as sent
Best practices: Avoid generic terms like "InfoSMS" or "Verify" to prevent delivery failures
Long Codes
Domestic vs. International: International long codes are supported; domestic long codes are not available
Sender ID preservation: Yes, original sender IDs are preserved
Provisioning time: Immediate for international long codes
Use cases:
- Transactional messages
- Customer support communications
- Account notifications
- Marketing campaigns
Short Codes
Support: Short codes are not currently supported in Dominica
Alternative recommendation: Use international long codes or alphanumeric sender IDs for marketing campaigns
Restricted SMS Content, Industries, and Use Cases
Restricted Industries and Content:
- Gambling and betting services
- Adult content or services
- Unauthorized financial services
- Illegal products or services
- Cryptocurrency promotions without proper disclaimers
Content Filtering
Known Carrier Rules:
- Messages containing suspicious URLs may be blocked
- High-frequency messaging from the same sender may trigger spam filters
- Messages with misleading sender IDs are filtered
Best Practices to Avoid Filtering:
- Use consistent sender IDs
- Avoid URL shorteners in messages
- Keep message frequency reasonable
- Include clear business identification
- Avoid excessive punctuation and all-caps text
Best Practices for Sending SMS in Dominica
Messaging Strategy
- Keep messages under 160 characters
- Include clear call-to-actions
- Use personalization tokens when appropriate
- Maintain consistent branding
- Include business name in message
Sending Frequency and Timing
- Limit to 2-4 messages per week per recipient
- Respect local holidays and weekends
- Space out messages to avoid overwhelming recipients
- Monitor engagement rates to optimize timing
Localization
- Primary language: English
- Use clear, simple language
- Avoid colloquialisms and complex terminology
- Consider local cultural context
- Format dates as DD/MM/YYYY
Opt-Out Management
- Process opt-outs within 24 hours
- Send confirmation of opt-out
- Maintain opt-out records indefinitely
- Regular audit of opt-out list
- Train staff on opt-out procedures
Testing and Monitoring
- Test messages across major carriers
- Monitor delivery rates daily
- Track engagement metrics
- Regular A/B testing of message content
- Document and analyze delivery failures
SMS API integrations for Dominica
Twilio
Twilio provides a robust SMS API for sending messages to Dominica. Integration requires your Account SID and Auth Token from the Twilio Console.
import { Twilio } from 'twilio';
// Initialize the client with your credentials
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID, // Your Account SID
process.env.TWILIO_AUTH_TOKEN // Your Auth Token
);
async function sendSMSToDominica() {
try {
// Send message using E.164 format for Dominica numbers (+1767)
const message = await client.messages.create({
body: 'Your message here',
from: 'YOUR_TWILIO_NUMBER', // Your verified sender ID
to: '+1767XXXXXXX' // Recipient's number in Dominica
});
console.log(`Message sent successfully! SID: ${message.sid}`);
return message;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
Sinch
Sinch offers SMS capabilities through their REST API. Authentication uses your Service Plan ID and API Token.
import axios from 'axios';
const SINCH_SERVICE_PLAN_ID = 'YOUR_SERVICE_PLAN_ID';
const SINCH_API_TOKEN = 'YOUR_API_TOKEN';
const SINCH_BASE_URL = 'https://sms.api.sinch.com/xms/v1';
async function sendSMSWithSinch() {
try {
const response = await axios.post(
`${SINCH_BASE_URL}/${SINCH_SERVICE_PLAN_ID}/batches`,
{
from: 'YOUR_SENDER_ID',
to: ['+1767XXXXXXX'],
body: 'Your message here'
},
{
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${SINCH_API_TOKEN}`
}
}
);
console.log('Message sent successfully:', response.data);
return response.data;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
MessageBird
MessageBird (formerly referred to as "Bird") provides SMS services through their REST API.
import messagebird from 'messagebird';
const messageBirdClient = messagebird('YOUR_API_KEY');
function sendSMSWithMessageBird() {
const params = {
originator: 'YOUR_SENDER_ID',
recipients: ['+1767XXXXXXX'],
body: 'Your message here'
};
messageBirdClient.messages.create(params, (error, response) => {
if (error) {
console.error('Error sending message:', error);
return;
}
console.log('Message sent successfully:', response);
});
}
Plivo
Plivo's SMS API requires authentication with Auth ID and Auth Token.
import plivo from 'plivo';
const client = new plivo.Client(
'YOUR_AUTH_ID',
'YOUR_AUTH_TOKEN'
);
async function sendSMSWithPlivo() {
try {
const message = await client.messages.create({
src: 'YOUR_SENDER_ID', // Your Plivo number
dst: '+1767XXXXXXX', // Destination number
text: 'Your message here',
url: 'YOUR_CALLBACK_URL' // Optional status callback URL
});
console.log('Message sent successfully:', message);
return message;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
API Rate Limits and Throughput
- Default rate limit: 1 message per second per destination
- Batch sending limit: 100 messages per request
- Daily sending quota may apply based on account level
Strategies for Large-Scale Sending:
- Implement queue systems for high-volume sending
- Use batch APIs when available
- Add exponential backoff for retry logic
- Monitor throughput and adjust sending rates
Error Handling and Reporting
- Implement comprehensive error logging
- Monitor delivery receipts (DLRs)
- Track common error codes:
- 21614: Invalid number format
- 30003: Unreachable destination
- 30007: Carrier filtering
- Store message metadata for troubleshooting
Recap and Additional Resources
Key Takeaways
-
Compliance Priorities
- Obtain explicit consent
- Honor opt-out requests
- Respect time zone restrictions
- Maintain clean contact lists
-
Technical Considerations
- Use E.164 number formatting
- Implement proper error handling
- Monitor delivery rates
- Test across carriers
-
Best Practices
- Keep messages concise
- Personalize content
- Monitor engagement metrics
- Regular testing and optimization
Next Steps
- Review the Eastern Caribbean Telecommunications Authority (ECTEL) regulations
- Consult legal counsel for compliance requirements
- Set up test accounts with preferred SMS providers
- Implement monitoring and reporting systems
Additional Information:
- ECTEL Official Website: https://www.ectel.int/
- Dominica National Telecommunications Regulatory Commission: http://www.ntrcdom.org/
- Industry Guidelines: SMS Best Practices