API documentation

Technical overview for the BitMessaging HTTPS SMS, Viber, WhatsApp and Email2SMS integrations.

  • IP whitelist is required before API access
  • Authentication uses username and password issued by customer service
  • Keep credentials on the server side and do not expose them in browser or frontend code
  • Sending supports GET and POST; public examples use POST body parameters instead of credentials in the URL
  • JSON response returns message IDs
  • Status can be queried or sent by callback
  • Rate limits and throughput are agreed before production traffic
  • SMPP access can be discussed for high-volume or special integrations
export BM_API_USERNAME="issued_username"
export BM_API_PASSWORD="issued_password"

curl -X POST "https://bitmessaging.com/api/v1/send/?json=1" \
  --data-urlencode "username=$BM_API_USERNAME" \
  --data-urlencode "password=$BM_API_PASSWORD" \
  --data-urlencode "receiver=36301234567" \
  --data-urlencode "text=Test message" \
  --data-urlencode "charset=7bit" \
  --data-urlencode "method=sms" \
  --data-urlencode "callback=1"

HTTPS API operation

The public documentation reflects the actual BitMessaging sending flow: access is enabled for pre-approved client IP addresses, authentication uses the issued username/password pair, and the API returns message IDs for status tracking. Credentials must be stored server-side and should not be exposed in frontend code or browser requests.

Access

Before going live, your server IP address must be whitelisted. Calls from non-authorized IPs or invalid credentials return NO ACCESS.

Sending

Messages are submitted to https://bitmessaging.com/api/v1/send/?json=1 using GET or POST. Public examples use POST parameters to avoid showing credentials in the request URL.

Status

The JSON response contains a message ID. Status can be queried at /api/v1/status/, or returned through a configured callback URL.

Parameters that matter

  • receiver: international number format without +, digits only
  • charset: 7bit for GSM text or unicode for full accented text
  • method: sms, viber, whatsapp, viber-sms, whatsapp-sms, whatsapp-viber-sms, viber-whatsapp-sms
  • callback: 0 disables feedback, 1 enables callback to the pre-configured URL
  • status values: started, sent, buffered, delivered, undeliverable, rejected, expired, deleted

Email2SMS option

Email2SMS is available when a business system can send email more easily than API calls. The email is only a trigger: after SMTP reception, BitMessaging creates the SMS sending request and handles status tracking in the platform.

  • Dedicated SMTP endpoint: bitmessaging.com
  • TLS/SSL and SMTP authentication
  • Mandatory IP whitelist
  • Recipient format: 3630XXXXXXXX@bitmessaging.com
  • Subject contains the SMS text, body is ignored
  • No delivery feedback is sent by email; status is checked by HTTP API or web interface

Example response

{
  "messages": [
    "4fd88ad0-b945-11e5-9078-00163e536649"
  ]
}

{
  "messages": [{
    "status": "delivered",
    "delivery_time": 1,
    "receiver": "36301234567",
    "date": "2026-07-19T10:15:00",
    "destination_network": "3630",
    "message_id": "61330468-b931-11e5-bbc7-00163e536649"
  }]
}
Request a Demo