Check phone number activity, carrier details, line type and more.
Bosnia and Herzegovina SMS Best Practices, Compliance, and Features
Bosnia and Herzegovina SMS Market Overview
Locale name:
Bosnia and Herzegovina
ISO code:
BA
Region
Europe
Mobile country code (MCC)
218
Dialing Code
+387
Market Conditions: Bosnia and Herzegovina has a mature mobile market with high SMS adoption rates. The country's telecommunications sector is served by three major mobile operators: BH Telecom, m:tel, and HT Eronet. While OTT messaging apps like WhatsApp and Viber are popular, SMS remains a crucial channel for business communications, particularly for authentication and notifications. The mobile market shows a relatively even split between Android and iOS devices, with Android having a slight edge in market share.
Key SMS Features and Capabilities in Bosnia and Herzegovina
Bosnia and Herzegovina supports standard SMS features including alphanumeric sender IDs and concatenated messages, though two-way SMS functionality is limited.
Two-way SMS Support
Two-way SMS is not supported in Bosnia and Herzegovina for A2P messaging.
Business senders should design their messaging strategies around one-way communications.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is supported for most sender ID types. Message length rules: Standard SMS length of 160 characters for GSM-7 encoding, 70 characters for Unicode. Encoding considerations: Both GSM-7 and UCS-2 (Unicode) encodings are supported, with messages automatically split and rejoined based on the encoding used.
MMS Support
MMS messages are not directly supported in Bosnia and Herzegovina. Instead, MMS content is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. Best Practice: When sending multimedia content, ensure the URL is shortened and clearly labeled for recipient trust.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Bosnia and Herzegovina.
This simplifies message routing as numbers remain tied to their original carriers.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in Bosnia and Herzegovina.
Attempts to send messages to landline numbers will result in a 400 response error (code 21614) through the API, with no message delivery and no charging.
Compliance and Regulatory Guidelines for SMS in Bosnia and Herzegovina
SMS communications in Bosnia and Herzegovina are regulated by the Communications Regulatory Agency (RAK/CRA). Businesses must comply with both local telecommunications laws and the General Data Protection Regulation (GDPR) as Bosnia and Herzegovina aligns with EU standards.
Consent and Opt-In
Explicit Consent Requirements:
Written or electronic consent must be obtained before sending marketing messages
Consent records must be maintained and easily accessible
Purpose of messaging must be clearly stated during opt-in
Double opt-in is recommended for marketing campaigns
Best Practices for Consent Collection:
Document timestamp and source of consent
Maintain detailed records of opt-in methods
Clearly communicate message frequency and content type
Provide transparent privacy policy information
HELP/STOP and Other Commands
STOP, PRESTANI, and OTKAZI must be supported for opt-out
HELP or POMOC commands should provide support information
Commands must be processed in both Latin and Cyrillic scripts
Support for both Bosnian and Croatian language variations required
Do Not Call / Do Not Disturb Registries
Bosnia and Herzegovina does not maintain a centralized Do Not Call registry. However, businesses should:
Maintain their own suppression lists
Honor opt-out requests within 24 hours
Keep records of opted-out numbers for at least 2 years
Regularly clean contact lists to remove unsubscribed numbers
Time Zone Sensitivity
Bosnia and Herzegovina observes Central European Time (CET/CEST).
Recommended sending hours: 8:00 AM to 8:00 PM local time
Avoid sending during religious holidays and national observances
Emergency messages may be sent outside standard hours if necessary
Phone Numbers Options and SMS Sender Types for in Bosnia and Herzegovina
Alphanumeric Sender ID
Operator network capability: Fully supported Registration requirements: No pre-registration required, dynamic usage allowed Sender ID preservation: Yes, sender IDs are preserved as specified
Long Codes
Domestic vs. International:
Domestic long codes not supported
International long codes supported but with limitations
Sender ID preservation: No, international long code sender IDs may be changed to generic alphanumeric IDs Provisioning time: Immediate for international long codes Use cases: Recommended for transactional messaging and two-factor authentication
Short Codes
Support: Not currently available in Bosnia and Herzegovina 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
Political campaign messages without proper authorization
Religious content without proper permissions
Cryptocurrency and high-risk financial products
Content Filtering
Carrier Filtering Rules:
URLs must be from approved domains
Messages containing certain keywords may be blocked
High-frequency messaging patterns are filtered
Best Practices to Avoid Filtering:
Avoid excessive punctuation and special characters
Use approved URL shortening services
Maintain consistent sending patterns
Include clear sender identification in messages
Best Practices for Sending SMS in Bosnia and Herzegovina
Messaging Strategy
Keep messages under 160 characters when possible
Include clear call-to-actions
Use personalization tokens thoughtfully
Maintain consistent branding across messages
Sending Frequency and Timing
Limit marketing messages to 2-4 per month per recipient
Respect religious observances (particularly Ramadan)
Avoid sending during major national holidays
Space out bulk campaigns to prevent network congestion
Localization
Support both Latin and Cyrillic scripts
Offer content in both Bosnian and Croatian
Consider regional dialectal differences
Use local date and time formats
Opt-Out Management
Process opt-outs in real-time
Maintain separate opt-out lists for different services
Confirm opt-out requests with a final message
Regular audit of opt-out compliance
Testing and Monitoring
Test across all three major carriers
Monitor delivery rates by carrier
Track opt-out rates and patterns
Regular testing of STOP command functionality
SMS API integrations for Bosnia and Herzegovina
Twilio
Twilio provides a robust SMS API for sending messages to Bosnia and Herzegovina. Integration requires your Account SID and Auth Token from the Twilio Console.
import*as Twilio from'twilio';// Initialize Twilio client with your credentialsconst client =newTwilio('YOUR_ACCOUNT_SID','YOUR_AUTH_TOKEN');// Function to send SMS to Bosnia and HerzegovinaasyncfunctionsendSMSToBosnia( to:string, message:string, senderId:string){try{// Ensure phone number is in E.164 format for Bosniaconst formattedNumber = to.startsWith('+387')? to
:`+387${to}`;const response =await client.messages.create({ body: message, from: senderId,// Alphanumeric sender ID to: formattedNumber,});console.log(`Message sent successfully: ${response.sid}`);return response;}catch(error){console.error('Error sending message:', error);throw error;}}
Sinch
Sinch offers SMS capabilities with support for Bosnia and Herzegovina through their REST API.
import{ SinchClient }from'@sinch/sdk-core';// Initialize Sinch clientconst sinchClient =newSinchClient({ projectId:'YOUR_PROJECT_ID', keyId:'YOUR_KEY_ID', keySecret:'YOUR_KEY_SECRET'});// Function to send SMS using SinchasyncfunctionsendSMSWithSinch( to:string, message:string){try{const response =await sinchClient.sms.batches.send({ sendSMSRequestBody:{ to:[to],// Must include country code +387 from:'YourCompany',// Alphanumeric sender ID body: message,// Optional parameters for delivery report delivery_report:'summary'}});console.log('Message sent:', response);return response;}catch(error){console.error('Sinch SMS Error:', error);throw error;}}
MessageBird
MessageBird provides SMS API access with specific support for Bosnia and Herzegovina requirements.
import*as messagebird from'messagebird';// Initialize MessageBird clientconst messageBirdClient =messagebird('YOUR_ACCESS_KEY');// Function to send SMS via MessageBirdfunctionsendSMSWithMessageBird( to:string, message:string, originator:string){returnnewPromise((resolve, reject)=>{ messageBirdClient.messages.create({ originator: originator,// Alphanumeric sender ID recipients:[to],// Include country code +387 body: message,// Optional parameters datacoding:'auto',// Automatic character encoding},(err, response)=>{if(err){console.error('MessageBird Error:', err);reject(err);}else{console.log('Message sent successfully:', response);resolve(response);}});});}
API Rate Limits and Throughput
Default rate limit: 100 messages per second
Batch processing recommended for volumes over 1000/hour
Implement exponential backoff for retry logic
Best Practices for High Volume:
Queue messages using Redis or similar system
Implement automatic rate limiting
Monitor throughput and adjust sending patterns
Use batch APIs when available
Error Handling and Reporting
Common Error Scenarios:
// Generic error handler for SMS APIsfunctionhandleSMSError(error:any){switch(error.code){case'invalid_number':console.error('Invalid phone number format');// Clean up number from databasebreak;case'network_error':console.error('Carrier network error');// Implement retry logicbreak;case'rate_limit_exceeded':console.error('Rate limit hit');// Add to queue for later retrybreak;default:console.error('Unknown error:', error);// Log to monitoring system}}
Recap and Additional Resources
Key Takeaways
Compliance Priorities:
Obtain explicit consent
Support opt-out mechanisms
Maintain proper documentation
Technical Considerations:
Use alphanumeric sender IDs
Implement proper error handling
Monitor delivery rates
Best Practices:
Localize content appropriately
Respect sending hours
Maintain clean contact lists
Next Steps
Review the Communications Regulatory Agency (RAK) guidelines