Migration guide

How to migrate from SmsManager to Twilio

A developer's guide to moving messaging traffic from SmsManager to Twilio: channel and compliance differences, request-format mapping, and a step-by-step migration checklist.

SmsManager is a Prague-based bulk-messaging platform that sends SMS, RCS, WhatsApp, Viber and Apple Messages for Business from a single JSON API. Twilio is a San Francisco-based customer engagement platform with communications APIs spanning messaging, voice and email. On the messaging.dev Score, SmsManager rates 51/100 and Twilio 88/100 — this guide covers what actually changes when you move your sending code across.

What you gain and lose

Channels. Both providers cover SMS, RCS and WhatsApp, and neither offers Facebook Messenger or Telegram. Moving to Twilio you gain MMS, voice and email. You lose Viber and Apple Messages for Business, which SmsManager supports but Twilio does not — if either channel is in your traffic, plan a replacement before you cut over.

Compliance and residency. Both are GDPR-aligned. Twilio additionally lists ISO 27001, SOC 2 and HIPAA certifications that SmsManager does not. SmsManager runs EU servers only with no region choice; Twilio offers EU and US servers (plus Australia) with a data-residency choice, so you can pin data to a region.

Pricing and tooling. SmsManager bills prepaid, non-expiring credit charged per message; Twilio is pay-as-you-go per message/minute with volume and committed-use discounts (its US SMS rate is quoted “plus carrier fees”). Both provide a free developer credit (Twilio specifies $15) and a sandbox, and both rate “high” for docs quality. SDK coverage widens from two languages (JavaScript/TypeScript, PHP) to seven (Node.js, Python, PHP, Java, C#, Ruby, Go). Country coverage is comparable (175 vs 180).

How the request format differs

Source (SmsManager):

curl -X POST https://api.smsmngr.com/v2/message \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"body": "Hello from SmsManager!", "to": [{"phone_number": "420777123456"}]}'

Target (Twilio):

curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json' \
  --data-urlencode 'To=+15551234567' \
  --data-urlencode 'From=+15005550006' \
  --data-urlencode 'Body=Hello from Twilio' \
  -u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token

Three things change:

  • Endpoint. SmsManager posts to one fixed URL. Twilio’s endpoint embeds your Account SID in the path (.../Accounts/{AccountSid}/Messages.json).
  • Auth. SmsManager authenticates with an API key in the x-api-key header. Twilio uses HTTP Basic auth — Account SID as username, Auth Token as password (the -u flag).
  • Payload. SmsManager sends a JSON body: message text in body, recipients as an array of objects under to (each with phone_number, digits only). Twilio sends form-urlencoded fields: Body for the text, To for a single recipient, and a mandatory From sender, both numbers in E.164 (+ prefix).

Field map: bodyBody, to[].phone_numberTo, and add an explicit From (SmsManager’s quickstart carries no sender field).

Migration checklist

  1. Create a Twilio account and generate your Account SID and Auth Token.
  2. Provision a sending number to use as From.
  3. Map your fields (bodyBody, to[].phone_numberTo, add From) and switch the payload from JSON to form-urlencoded.
  4. Swap auth: replace the x-api-key header with HTTP Basic (SID as user, token as password).
  5. Re-point your sending code to the Accounts/{AccountSid}/Messages.json endpoint; adopt an official SDK if it helps.
  6. Re-test in Twilio’s sandbox before sending live traffic.
  7. Update your delivery/status webhooks to consume Twilio’s callback format instead of SmsManager’s.
  8. Run both providers in parallel, compare delivery, then cut over.

Watch out for

  • No Viber or Apple Messages for Business. SmsManager has both; Twilio has neither, so migrate or retire those flows.
  • From is now required. Unlike the SmsManager quickstart, every Twilio message needs an explicit sender.
  • Carrier fees. Twilio’s per-segment SMS price is quoted “plus carrier fees” on top of pay-as-you-go rates, versus SmsManager’s prepaid, non-expiring credit.

For a full walkthrough of the target, see how to start with Twilio, or the side-by-side SmsManager vs Twilio comparison.