United States Virgin Islands (US) SMS Best Practices, Compliance, and Features
United States Virgin Islands (US) SMS Market Overview
Locale name: | United States Virgin Islands (US) |
---|---|
ISO code: | VI |
Region | North America |
Mobile country code (MCC) | 310, 311, 332 |
Dialing Code | +1340 |
Market Conditions: The US Virgin Islands telecommunications market is served by both local operators and major US carriers like AT&T, T-Mobile, and Verizon. SMS remains a primary communication channel, with high mobile penetration rates. The market follows US messaging standards and regulations, with a mix of Android and iOS devices. OTT messaging apps like WhatsApp and Facebook Messenger are popular but SMS maintains strong business usage due to its reliability and universal reach.
Key SMS Features and Capabilities in United States Virgin Islands
The US Virgin Islands supports standard SMS features aligned with US mainland capabilities, though with some limitations on advanced features like two-way messaging and concatenation.
Two-way SMS Support
Two-way SMS is not supported in the US Virgin Islands through standard API providers. Businesses should design their messaging strategies around one-way communication flows.
Concatenated Messages (Segmented SMS)
Support: Concatenated messaging is not supported in the US Virgin Islands.
Message length rules: Messages must fit within single SMS length limits:
- GSM-7 encoding: 160 characters
- UCS-2 encoding: 70 characters
Encoding considerations: Both GSM-7 and UCS-2 encodings are supported, with GSM-7 recommended for basic Latin characters to maximize message length.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link to the media content. This ensures delivery while maintaining the ability to share rich media content. Best practice is to use short URLs and include clear context in the message text.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in the US Virgin Islands. This simplifies message routing but means recipients must change numbers when switching carriers.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported. Attempts to send messages to landline numbers will result in delivery failure with a 400 response error (code 21614). Messages will not appear in logs and accounts will not be charged.
Compliance and Regulatory Guidelines for SMS in United States Virgin Islands (US)
The US Virgin Islands follows US federal telecommunications regulations, including the Telephone Consumer Protection Act (TCPA) and FCC guidelines. The territory falls under FCC jurisdiction for telecommunications oversight, with additional oversight from the US Virgin Islands Public Services Commission.
Consent and Opt-In
Explicit consent is mandatory for all marketing and non-essential messages. Best practices for consent management include:
- Maintaining detailed records of opt-in date, time, and source
- Using clear, unambiguous language when requesting consent
- Implementing double opt-in for marketing campaigns
- Storing consent records for at least 4 years
- Providing clear terms and conditions at opt-in
HELP/STOP and Other Commands
- Required Keywords: STOP, CANCEL, UNSUBSCRIBE, QUIT, END, and HELP must be supported
- Language Requirements: English is the primary language, though Spanish support is recommended
- Response Time: Automated responses to HELP/STOP commands must be immediate
- HELP Message Content: Must include service information, contact details, and opt-out instructions
Do Not Call / Do Not Disturb Registries
The US Virgin Islands follows the US National Do Not Call Registry. Best practices include:
- Regular scrubbing of contact lists against the National DNC Registry
- Maintaining internal opt-out lists
- Immediate processing of opt-out requests (within 24 hours)
- Keeping suppression lists updated across all campaigns
Time Zone Sensitivity
- Time Zone: Atlantic Standard Time (AST)
- Permitted Hours: 8:00 AM to 9:00 PM local time
- Exception: Urgent messages for account security or service updates
- Holiday Considerations: Observe US federal and USVI territorial holidays
Phone Numbers Options and SMS Sender Types for in United States Virgin Islands (US)
Alphanumeric Sender ID
Operator network capability: Not supported
Registration requirements: N/A
Sender ID preservation: N/A
Long Codes
Domestic vs. International:
- Domestic long codes supported with registration
- International long codes not supported
Sender ID preservation: Yes, for registered numbers
Provisioning time: 1-2 weeks for registration
Use cases:
- Transactional messages
- Customer service
- Two-factor authentication
Short Codes
Support: US short codes supported through major carriers
Provisioning time: 8-12 weeks
Use cases:
- High-volume marketing campaigns
- Time-sensitive alerts
- Customer engagement programs
Restricted SMS Content, Industries, and Use Cases
Restricted Industries and Content:
- Gambling and gaming
- Adult content
- Illegal substances
- Cryptocurrency promotions
- Political messaging without proper disclaimers
- SHAFT content (Sex, Hate, Alcohol, Firearms, Tobacco)
Content Filtering
Carrier Filtering Rules:
- Messages containing restricted keywords are blocked
- URLs must be from approved domains
- Message frequency limits enforced
Best Practices to Avoid Filtering:
- Avoid excessive capitalization
- Don't use URL shorteners
- Maintain consistent sending patterns
- Use approved message templates
- Include clear business identification
Best Practices for Sending SMS in United States Virgin Islands (US)
Messaging Strategy
- Keep messages under 160 characters
- Include clear call-to-action
- Use personalization tokens thoughtfully
- Maintain consistent sender identification
Sending Frequency and Timing
- Maximum 2 marketing messages per week
- Minimum 24 hours between messages
- Respect quiet hours (9 PM - 8 AM AST)
- Avoid sending during major holidays
Localization
- Primary language: English
- Consider Spanish language support for broader reach
- Use local formatting for dates and phone numbers
- Reference local events and customs when relevant
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain centralized opt-out database
- Confirm opt-out with one final message
- Regular audit of opt-out list compliance
Testing and Monitoring
- Test across all major USVI carriers
- Monitor delivery rates by carrier
- Track opt-out rates and patterns
- Regular testing of HELP/STOP flows
- Monitor for carrier filtering patterns
SMS API integrations for United States Virgin Islands (US)
Twilio
Twilio provides robust SMS capabilities for the USVI through their REST API. Authentication uses account SID and auth token credentials.
import * as Twilio from 'twilio';
// Initialize client with your credentials
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID, // Your Account SID
process.env.TWILIO_AUTH_TOKEN // Your Auth Token
);
// Function to send SMS to USVI
async function sendSMStoUSVI(
to: string,
message: string
): Promise<void> {
try {
// Create message with required parameters
const response = await client.messages.create({
to: to, // Format: +1340XXXXXXX
from: process.env.TWILIO_NUMBER, // Your registered number
body: message,
// Optional parameters for delivery tracking
statusCallback: 'https://your-callback-url.com/status'
});
console.log(`Message sent successfully: ${response.sid}`);
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
Sinch
Sinch offers SMS services to USVI with REST API integration. Authentication uses API token and service plan ID.
import { SinchClient } from '@sinch/sdk-core';
// Initialize Sinch client
const sinchClient = new SinchClient({
projectId: process.env.SINCH_PROJECT_ID,
apiToken: process.env.SINCH_API_TOKEN
});
// Function to send SMS via Sinch
async function sendSinchSMS(
phoneNumber: string,
messageText: string
): Promise<void> {
try {
const response = await sinchClient.sms.batches.send({
sendSMSRequestBody: {
to: [phoneNumber], // Format: +1340XXXXXXX
from: process.env.SINCH_NUMBER,
body: messageText,
// Optional delivery report flag
delivery_report: 'summary'
}
});
console.log('Message batch ID:', response.id);
} catch (error) {
console.error('Sinch SMS error:', error);
throw error;
}
}
MessageBird
MessageBird provides SMS API access to USVI with straightforward REST integration.
import { MessageBirdClient } from 'messagebird';
// Initialize MessageBird client
const messagebird = new MessageBirdClient(
process.env.MESSAGEBIRD_API_KEY
);
// Function to send SMS via MessageBird
async function sendMessageBirdSMS(
recipient: string,
content: string
): Promise<void> {
const params = {
originator: process.env.MESSAGEBIRD_NUMBER,
recipients: [recipient], // Format: +1340XXXXXXX
body: content,
// Optional delivery tracking
reportUrl: 'https://your-callback-url.com/delivery'
};
try {
const response = await new Promise((resolve, reject) => {
messagebird.messages.create(params, (err, response) => {
if (err) reject(err);
resolve(response);
});
});
console.log('MessageBird response:', response);
} catch (error) {
console.error('MessageBird error:', error);
throw error;
}
}
Plivo
Plivo offers SMS capabilities for USVI through their REST API platform.
import * as plivo from 'plivo';
// Initialize Plivo client
const client = new plivo.Client(
process.env.PLIVO_AUTH_ID,
process.env.PLIVO_AUTH_TOKEN
);
// Function to send SMS via Plivo
async function sendPlivoSMS(
destination: string,
message: string
): Promise<void> {
try {
const response = await client.messages.create({
src: process.env.PLIVO_NUMBER, // Your Plivo number
dst: destination, // Format: +1340XXXXXXX
text: message,
// Optional URL tracking
url: 'https://your-callback-url.com/status'
});
console.log('Message UUID:', response.messageUuid);
} catch (error) {
console.error('Plivo error:', error);
throw error;
}
}
API Rate Limits and Throughput
- Default rate limits: 1 message per second per number
- Batch sending: Maximum 100 recipients per request
- Daily sending limits vary by provider and account type
Strategies for Large-Scale Sending:
- Implement queuing system for high-volume campaigns
- Use batch APIs when available
- Monitor throughput and adjust sending rates
- Implement exponential backoff for retries
Error Handling and Reporting
Logging Best Practices:
- Log all API responses and message IDs
- Implement webhook endpoints for delivery status
- Track error rates by error code
- Monitor delivery rates by carrier
Troubleshooting Tips:
- Verify number format (+1340XXXXXXX)
- Check carrier delivery status
- Monitor API response codes
- Implement retry logic for temporary failures
Recap and Additional Resources
Key Takeaways
-
Compliance Priorities:
- Obtain explicit consent
- Honor opt-out requests
- Follow time window restrictions
- Maintain proper documentation
-
Technical Considerations:
- Use correct number formatting
- Implement proper error handling
- Monitor delivery rates
- Follow rate limits
-
Best Practices:
- Test thoroughly before sending
- Monitor campaign metrics
- Keep messages concise
- Maintain clean contact lists
Next Steps
- Review FCC regulations for USVI
- Consult legal counsel for compliance review
- Set up testing environment with chosen API provider
- Implement monitoring and reporting systems