How to migrate from smsmode to Twilio
A developer-focused guide to moving your messaging integration from smsmode to Twilio, covering channels, compliance, request-format changes and a step-by-step checklist.
smsmode is a French A2P mobile messaging platform published by Calade Technologies, offering SMS, RCS, WhatsApp and voice APIs with data hosted in France. Twilio is a publicly traded, San Francisco-based customer-engagement platform whose APIs span SMS, MMS, RCS, WhatsApp, voice and email. On the messaging.dev Score, smsmode rates 53/100 and Twilio 88/100 — this guide covers what actually changes at the API level when you move.
What you gain and what you lose
Channels. Both providers cover SMS, RCS, WhatsApp and voice. Moving to Twilio adds MMS and email. Neither provider supports Viber, Facebook Messenger, Telegram or Apple Messages for Business, so you lose no channel in the switch.
Compliance. Both hold GDPR and ISO 27001. Twilio additionally lists SOC 2 and HIPAA, which smsmode does not.
Data residency. smsmode hosts exclusively on EU (France) servers, with no US option and no region choice. Twilio offers US, EU and Australia with a data-residency choice. Note that smsmode’s specialty is France-only hosting (two ISO 27001 data centres, automatic deletion after six months, an optional HDS tier for health data); Twilio’s EU residency exists but is a broader, configurable model rather than a France-only guarantee.
Pricing and credit. smsmode sells prepaid pay-as-you-go credits with sliding-scale volume rates plus optional monthly subscriptions; Twilio bills pay-as-you-go per message with volume and committed-use discounts. Your free developer credit changes from smsmode’s 20 free test SMS credits to Twilio’s $15 trial credit.
SDKs and testing. smsmode ships one official SDK (TypeScript/Node.js); Twilio ships seven (Node.js, Python, PHP, Java, C#, Ruby, Go) and provides a sandbox for pre-production testing, which smsmode does not. Both providers rate high on docs quality, and coverage grows slightly, from 166 to 180 countries.
How the request format differs
smsmode:
curl --location 'https://rest.smsmode.com/sms/v1/messages' \
--header 'X-Api-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
"recipient": { "to": "33600000001" },
"body": { "text": "Hello from smsmode" }
}'
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. smsmode posts to a fixed path,
https://rest.smsmode.com/sms/v1/messages. Twilio embeds your Account SID in the URL:https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json. - Authentication. smsmode uses an API key in the
X-Api-Keyheader. Twilio uses HTTP Basic auth — Account SID as username, Auth Token as password (the-uflag). - Payload. smsmode sends JSON with nested objects: recipient as
recipient.to, message asbody.text. Twilio sends flat, renamed form-urlencoded fields: recipientTo, messageBody, plus a required senderFromthat has no counterpart in the smsmode quickstart. The recipient format differs too — smsmode’s example uses33600000001, while Twilio expects E.164 with a leading+(+15551234567).
Migration checklist
- Create a Twilio account and generate your Account SID and Auth Token — see how to start with Twilio.
- Provision a sender (a Twilio phone number or messaging service) for the
Fromfield. - Map the request fields:
recipient.to→To(E.164),body.text→Body, and addFrom. - Swap auth and encoding: replace the
X-Api-Keyheader with HTTP Basic (-u SID:token) and switch the body from JSON to form-urlencoded. - Re-point your sending code at the new endpoint, or adopt an official Twilio SDK.
- Re-test against Twilio’s sandbox before sending live traffic.
- Update your webhooks/delivery callbacks to Twilio’s status-callback format.
- Run both providers in parallel, compare delivery, then cut over.
Watch out for
- Protocol coverage. smsmode lists SMPP and SFTP alongside REST and SMTP; Twilio’s dataset lists only REST and SMTP. If you currently send over SMPP or drop files via SFTP, plan a rewrite to REST.
- Prepaid to usage-billed. You move from topping up prepaid credits to a usage-billed pay-as-you-go account, so budget controls work differently.
- France-only hosting. smsmode guarantees EU (France) hosting with six-month auto-deletion and an optional HDS health-data tier. Twilio offers EU residency but not that France-specific guarantee — confirm it meets your requirements.
- Sender is mandatory. Twilio rejects messages without a valid
From; the smsmode quickstart omits a sender field entirely.
Compare the two side by side at smsmode vs Twilio.