sms compliance

Sent logo
Sent TeamMar 8, 2026 / sms compliance / Article

Botswana SMS Guide

Explore Botswana SMS: regulations, features & best practices. Understand alphanumeric sender IDs, consent rules per BOCRA, & message encoding (GSM-7/UCS-2). Two-way SMS is unsupported. Includes Twilio, Sinch, MessageBird & Plivo API integration code examples. Avoid sending messages between 10 PM - 6 AM.

Botswana SMS Best Practices, Compliance, and Features

Botswana SMS Market Overview

Locale name:Botswana
ISO code:BW
RegionMiddle East & Africa
Mobile country code (MCC)652
Dialing Code+267

Market Conditions: Botswana has a growing mobile market with increasing SMS usage for both personal and business communications. The country's telecommunications sector is dominated by three major operators: Mascom Wireless, Orange Botswana, and BTC Mobile (beMobile). While OTT messaging apps like WhatsApp are gaining popularity, particularly in urban areas, SMS remains a reliable and widely-used communication channel, especially for business-to-consumer communications and in areas with limited internet connectivity. Android devices dominate the mobile market, though iOS devices maintain a presence primarily in urban centers.


Key SMS Features and Capabilities in Botswana

Botswana supports basic SMS functionality with some limitations on advanced features, focusing primarily on one-way messaging with alphanumeric sender ID support.

Two-way SMS Support

Two-way SMS is not supported in Botswana through major SMS providers. This limitation means that businesses should design their SMS strategies around one-way communications only.

Concatenated Messages (Segmented SMS)

Support: Concatenated messaging is not supported in Botswana.
Message length rules: Messages should be kept within standard SMS length limits to ensure delivery.
Encoding considerations: Both GSM-7 and UCS-2 encoding are supported, with GSM-7 allowing for standard Latin characters and UCS-2 enabling local language support.

MMS Support

MMS messages are not directly supported in Botswana. Instead, MMS content is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. This conversion ensures that rich media can still be shared while maintaining compatibility with all mobile devices.

Recipient Phone Number Compatibility

Number Portability

Number portability is not available in Botswana. This means that mobile numbers remain tied to their original network operators, which can simplify message routing and delivery.

Sending SMS to Landlines

Sending SMS to landline numbers is not possible in Botswana. Attempts to send messages to landline numbers will result in a failed delivery and may trigger a 400 response error (error code 21614) from the SMS API. These messages will not appear in logs, and accounts will not be charged for failed attempts.

Compliance and Regulatory Guidelines for SMS in Botswana

SMS communications in Botswana are regulated by the Botswana Communications Regulatory Authority (BOCRA). Organizations must comply with both BOCRA guidelines and telecommunications provider requirements for SMS marketing and communications.

Explicit Consent Requirements:

  • Written or electronic consent must be obtained before sending marketing messages
  • Consent records should be maintained and easily accessible
  • Purpose of communications must be clearly stated during opt-in
  • Double opt-in is recommended for marketing campaigns

Best Practices for Consent Documentation:

  • Store timestamp and source of consent
  • Maintain detailed records of opt-in methods
  • Keep consent records for at least 2 years
  • Regular audit of consent database

HELP/STOP and Other Commands

  • All SMS campaigns must support standard STOP and HELP commands
  • Keywords should be supported in both English and Setswana
  • Common commands include:
    • STOP, END, CANCEL, UNSUBSCRIBE
    • HELP, INFO
  • Responses to these commands should be immediate and free of charge

Do Not Call / Do Not Disturb Registries

Botswana does not maintain an official Do Not Call registry. However, businesses should:

  • Maintain their own suppression lists
  • Honor opt-out requests within 24 hours
  • Regularly clean contact databases
  • Implement internal do-not-contact policies

Time Zone Sensitivity

Messaging Hours:

  • Avoid sending messages between 10 PM and 6 AM local time
  • Exception: Emergency or critical service messages
  • Consider business hours (8 AM - 5 PM) for commercial messages
  • Respect local holidays and weekends

Phone Numbers Options and SMS Sender Types for in Botswana

Alphanumeric Sender ID

Operator network capability: Fully supported
Registration requirements: Pre-registration not required
Sender ID preservation: Yes, sender IDs are preserved as specified
Best Practice: Use company name or recognizable brand identifier

Long Codes

Domestic vs. International:

  • Domestic long codes not supported
  • International long codes supported but with limitations

Sender ID preservation: No, international numbers may be replaced with local formats
Provisioning time: Immediate for international numbers
Use cases: Transactional messages, alerts, notifications

Short Codes

Support: Not currently supported in Botswana
Alternative: Use alphanumeric sender IDs for marketing campaigns

Restricted SMS Content, Industries, and Use Cases

Restricted Industries:

  • Gambling (requires special permits)
  • Adult content (prohibited)
  • Financial services (require regulatory approval)
  • Healthcare (subject to privacy regulations)

Content Filtering

Carrier Filtering Rules:

  • Messages containing certain keywords may be blocked
  • URLs should be from approved domains
  • Avoid excessive punctuation and special characters

Best Practices to Avoid Filtering:

  • Use clear, professional language
  • Avoid spam trigger words
  • Include company name in message
  • Keep URLs short and legitimate

Best Practices for Sending SMS in Botswana

Messaging Strategy

  • Keep messages under 160 characters when possible
  • Include clear call-to-action
  • Personalize using recipient's name
  • Maintain consistent sender ID

Sending Frequency and Timing

  • Limit to 2-3 messages per week per recipient
  • Respect business hours
  • Consider cultural events and holidays
  • Space out bulk campaigns

Localization

  • Support both English and Setswana
  • Use appropriate cultural references
  • Consider regional differences
  • Avoid colloquialisms that may not translate well

Opt-Out Management

  • Process opt-outs within 24 hours
  • Maintain single opt-out list across campaigns
  • Confirm opt-out with one final message
  • Regular database cleaning

Testing and Monitoring

  • Test across all major carriers (Mascom, Orange, BTC)
  • Monitor delivery rates by carrier
  • Track engagement metrics
  • Regular performance reporting

SMS API integrations for Botswana

Twilio

Twilio provides a robust SMS API with comprehensive support for Botswana. Integration requires an account SID and auth token for authentication.

typescript
import { Twilio } from 'twilio';

// Initialize Twilio client with credentials
const client = new Twilio(
  process.env.TWILIO_ACCOUNT_SID,
  process.env.TWILIO_AUTH_TOKEN
);

async function sendSMSToBotswana(
  to: string,
  message: string,
  senderId: string
) {
  try {
    // Send message with proper country code format
    const response = await client.messages.create({
      body: message,
      from: senderId, // Alphanumeric sender ID
      to: `+267${to}` // Botswana country code
    });
    
    console.log(`Message sent successfully: ${response.sid}`);
    return response;
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

Sinch

Sinch offers direct carrier connections in Botswana with support for alphanumeric sender IDs.

typescript
import axios from 'axios';

class SinchSMSService {
  private readonly apiToken: string;
  private readonly serviceId: string;
  private readonly baseUrl: string;

  constructor(apiToken: string, serviceId: string) {
    this.apiToken = apiToken;
    this.serviceId = serviceId;
    this.baseUrl = 'https://sms.api.sinch.com/xms/v1';
  }

  async sendSMS(to: string, message: string, senderId: string) {
    try {
      const response = await axios.post(
        `${this.baseUrl}/${this.serviceId}/batches`,
        {
          from: senderId,
          to: [`+267${to}`],
          body: message
        },
        {
          headers: {
            'Authorization': `Bearer ${this.apiToken}`,
            'Content-Type': 'application/json'
          }
        }
      );
      
      return response.data;
    } catch (error) {
      console.error('Sinch SMS Error:', error);
      throw error;
    }
  }
}

MessageBird

MessageBird provides reliable SMS delivery in Botswana with support for high-volume messaging.

typescript
import { MessageBird } from 'messagebird';

class MessageBirdService {
  private client: MessageBird;

  constructor(apiKey: string) {
    this.client = new MessageBird(apiKey);
  }

  async sendSMS(
    to: string,
    message: string,
    senderId: string
  ): Promise<any> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator: senderId,
        recipients: [`+267${to}`],
        body: message,
        datacoding: 'auto' // Automatic encoding detection
      }, (err, response) => {
        if (err) {
          reject(err);
        } else {
          resolve(response);
        }
      });
    });
  }
}

Plivo

Plivo offers competitive rates and reliable delivery for SMS in Botswana.

typescript
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, senderId: string) {
    try {
      const response = await this.client.messages.create({
        src: senderId,
        dst: `+267${to}`,
        text: message,
        // Optional parameters for delivery tracking
        url: 'https://your-callback-url.com/status',
        method: 'POST'
      });
      
      return response;
    } catch (error) {
      console.error('Plivo Error:', error);
      throw error;
    }
  }
}

API Rate Limits and Throughput

  • Default rate limit: 100 messages per second
  • Batch processing recommended for volumes > 1000/hour
  • Implement exponential backoff for retry logic
  • Queue messages during peak times

Throughput Management Strategies:

  • Use batch APIs when available
  • Implement message queuing system
  • Monitor delivery rates and adjust sending speed
  • Schedule large campaigns during off-peak hours

Error Handling and Reporting

  • Implement comprehensive logging
  • Monitor delivery receipts
  • Track common error codes
  • Set up automated alerts for failure thresholds

Recap and Additional Resources

Key Takeaways:

  • Always use alphanumeric sender IDs
  • Respect quiet hours (10 PM - 6 AM)
  • Maintain proper consent records
  • Support both English and Setswana
  • Monitor delivery rates closely

Next Steps:

  1. Review BOCRA regulations
  2. Implement proper opt-in/opt-out handling
  3. Set up delivery monitoring
  4. Test across all major carriers

Additional Resources:

Industry Contacts:

  • BOCRA Support: +267 395 7755
  • Local Telecom Providers:
    • Mascom: +267 390 3000
    • Orange: +267 391 3111
    • BTC: +267 395 8000