Martinique (France) SMS Best Practices, Compliance, and Features
Martinique (France) SMS Market Overview
Locale name: | Martinique (France) |
---|---|
ISO code: | MQ |
Region | North America |
Mobile country code (MCC) | 340 |
Dialing Code | +596 |
Market Conditions: As an overseas department of France, Martinique follows French telecommunications standards and regulations. The mobile market is dominated by French operators including Orange Caraïbe, SFR Caraïbe, and Digicel. While OTT messaging apps like WhatsApp are popular for personal communications, SMS remains crucial for business communications, notifications, and authentication purposes due to its reliability and universal reach.
Key SMS Features and Capabilities in Martinique (France)
Martinique supports standard SMS features as part of the French telecommunications infrastructure, though with some limitations on advanced features like two-way messaging and concatenation.
Two-way SMS Support
Two-way SMS is not supported in Martinique through major SMS providers. This means businesses should design their messaging strategies around one-way communications only.
Concatenated Messages (Segmented SMS)
Support: Concatenated messaging is not supported in Martinique.
Message length rules: Messages should be kept within standard SMS length limits to ensure delivery.
Encoding considerations: Standard GSM-7 encoding is recommended for optimal character usage and compatibility.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link to access the multimedia content. This ensures that rich media content can still be shared while maintaining compatibility with all devices.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Martinique. This means phone numbers remain tied to their original carriers, which can simplify message routing and delivery.
Sending SMS to Landlines
Sending SMS to landline numbers is not possible in Martinique. Attempts to send messages to landline numbers will result in a failed delivery with a 400 response error (code 21614), and no charges will be incurred.
Compliance and Regulatory Guidelines for SMS in Martinique (France)
As an overseas department of France, Martinique follows French telecommunications regulations and GDPR requirements. The primary regulatory authority is ARCEP (Autorité de Régulation des Communications Électroniques et des Postes), with additional oversight from CNIL (Commission Nationale de l'Informatique et des Libertés) for data privacy matters.
Consent and Opt-In
Explicit Consent Requirements:
- Written consent must be obtained before sending marketing messages
- Consent must be freely given, specific, informed, and unambiguous
- Documentation of consent must include timestamp, source, and scope
- Separate consent required for different types of communications
Best Practices for Consent Collection:
- Use clear, unchecked opt-in boxes
- Maintain detailed consent records
- Provide transparent information about message frequency and content
- Enable easy access to privacy policies and terms of service
HELP/STOP and Other Commands
- Required Keywords: STOP, ARRETER, DESABONNEMENT must be supported
- Language Requirements: Both French and Creole support recommended
- Response Time: Immediate acknowledgment required for opt-out requests
- Command Processing: Must be case-insensitive and support common variations
Do Not Call / Do Not Disturb Registries
- France's Bloctel service applies to Martinique
- Businesses must screen numbers against Bloctel registry
- Maintain internal suppression lists for opted-out numbers
- Honor opt-out requests within 24 hours
Time Zone Sensitivity
- Permitted Hours: 8:00 AM to 10:00 PM (Atlantic Time - AST)
- Restricted Days: No marketing messages on Sundays and public holidays
- Emergency Messages: Time restrictions don't apply to urgent notifications
- Queue Management: Messages outside permitted hours should be queued for next available window
Phone Numbers Options and SMS Sender Types for in Martinique (France)
Alphanumeric Sender ID
Operator network capability: Supported with dynamic usage allowed
Registration requirements: No pre-registration required
Sender ID preservation: Sender IDs are generally preserved as sent
Long Codes
Domestic vs. International: International long codes supported; domestic not available
Sender ID preservation: Original sender ID preserved for international numbers
Provisioning time: Immediate for international numbers
Use cases: Transactional messages, alerts, and notifications
Short Codes
Support: Not supported in Martinique
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
- Gambling and betting services
- Adult content or explicit material
- Cryptocurrency promotions
- Unauthorized financial services
Regulated Industries:
- Financial services require regulatory disclaimers
- Healthcare messages must maintain patient confidentiality
- Insurance services must include license information
Content Filtering
Known Carrier Filters:
- URLs from unknown domains may be blocked
- Messages containing certain keywords may be filtered
- High-volume identical messages may be flagged
Best Practices:
- Use approved URL shorteners
- Avoid excessive punctuation and special characters
- Maintain consistent sending patterns
- Include clear business identification
Best Practices for Sending SMS in Martinique (France)
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-actions
- Maintain consistent brand voice
- Use personalization thoughtfully
Sending Frequency and Timing
- Limit to 2-3 messages per week per recipient
- Respect local holidays and cultural events
- Avoid sending during off-hours
- Space out bulk campaigns
Localization
- Primary language should be French
- Consider including Creole for wider accessibility
- Use local date and time formats
- Respect cultural nuances and references
Opt-Out Management
- Process opt-outs in real-time
- Maintain centralized opt-out database
- Confirm opt-out status via SMS
- Regular audit of opt-out lists
Testing and Monitoring
- Test across major carriers (Orange, SFR, Digicel)
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular testing of opt-out functionality
SMS API integrations for Martinique (France)
Twilio
Twilio provides a robust SMS API for sending messages to Martinique. Authentication requires your Account SID and Auth Token.
import { Twilio } from 'twilio';
// Initialize Twilio client
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID, // Your Account SID
process.env.TWILIO_AUTH_TOKEN // Your Auth Token
);
async function sendSMSToMartinique() {
try {
// Send message with proper formatting for Martinique numbers
const message = await client.messages.create({
body: 'Votre code de confirmation est: 123456', // Message in French
from: 'YourCompany', // Alphanumeric sender ID
to: '+596123456789' // Martinique number format
});
console.log(`Message sent successfully: ${message.sid}`);
} catch (error) {
console.error('Error sending message:', error);
}
}
Sinch
Sinch offers SMS capabilities with RESTful API integration. Authentication uses your project ID and API token.
import { SinchClient } from '@sinch/sdk-core';
// Initialize Sinch client
const sinchClient = new SinchClient({
projectId: 'YOUR_PROJECT_ID',
apiToken: 'YOUR_API_TOKEN'
});
async function sendSMSViaSinch() {
try {
const response = await sinchClient.sms.batches.send({
sendSMSRequestBody: {
to: ['+596123456789'],
from: 'YourBrand',
body: 'Votre confirmation est requise.',
delivery_report: 'summary' // Request delivery report
}
});
console.log('Message sent:', response.id);
} catch (error) {
console.error('Sinch API error:', error);
}
}
MessageBird
MessageBird provides SMS API access with straightforward integration. Uses API key authentication.
import { MessageBirdClient } from 'messagebird';
// Initialize MessageBird client
const messagebird = new MessageBirdClient('YOUR_API_KEY');
async function sendSMSViaMessageBird() {
const params = {
originator: 'YourCompany',
recipients: ['+596123456789'],
body: 'Message important de notre service.',
scheduledDatetime: null, // Send immediately
};
try {
const response = await messagebird.messages.create(params);
console.log('Message sent successfully:', response);
} catch (error) {
console.error('MessageBird error:', error);
}
}
Plivo
Plivo offers SMS capabilities with comprehensive delivery reporting. Authentication uses Auth ID and Auth Token.
import { Client } from 'plivo';
// Initialize Plivo client
const client = new Client(
'YOUR_AUTH_ID',
'YOUR_AUTH_TOKEN'
);
async function sendSMSViaPlivo() {
try {
const response = await client.messages.create({
src: 'YourBrand', // Sender ID
dst: '+596123456789', // Destination number
text: 'Votre compte a été mis à jour.',
url: 'https://your-callback-url.com/status' // Status callback URL
});
console.log('Message sent with UUID:', response.messageUuid);
} catch (error) {
console.error('Plivo error:', error);
}
}
API Rate Limits and Throughput
- Default rate limits vary by provider (typically 1-10 messages per second)
- Implement exponential backoff for retry logic
- Use batch APIs for bulk sending
- Consider time window restrictions when scheduling messages
Throughput Management Strategies:
// Example rate limiting implementation
class RateLimiter {
private queue: Array<() => Promise<void>> = [];
private processing = false;
private rateLimit = 1; // Messages per second
async add(task: () => Promise<void>) {
this.queue.push(task);
if (!this.processing) {
this.process();
}
}
private async process() {
this.processing = true;
while (this.queue.length > 0) {
const task = this.queue.shift();
if (task) {
await task();
await new Promise(resolve => setTimeout(resolve, 1000 / this.rateLimit));
}
}
this.processing = false;
}
}
Error Handling and Reporting
// Example error handling implementation
interface SMSError {
code: string;
message: string;
timestamp: Date;
recipient: string;
}
class SMSErrorHandler {
private errors: SMSError[] = [];
logError(error: SMSError) {
this.errors.push(error);
console.error(`SMS Error ${error.code}: ${error.message}`);
// Implement specific handling based on error code
switch(error.code) {
case '21614': // Invalid number
this.handleInvalidNumber(error);
break;
case '30003': // Queue full
this.handleQueueFull(error);
break;
default:
this.handleGenericError(error);
}
}
private handleInvalidNumber(error: SMSError) {
// Implementation for invalid number handling
}
private handleQueueFull(error: SMSError) {
// Implementation for queue full handling
}
private handleGenericError(error: SMSError) {
// Implementation for generic error handling
}
}
Recap and Additional Resources
Key Takeaways
- Compliance First: Always obtain explicit consent and honor opt-out requests
- Timing Matters: Respect local time zones and sending windows
- Language Requirements: Use French as primary language
- Technical Implementation: Implement proper error handling and rate limiting
Next Steps
- Review ARCEP and CNIL regulations for SMS marketing
- Implement proper consent collection mechanisms
- Set up monitoring and reporting systems
- Test thoroughly across all major carriers