How to migrate from smsmode to Vonage
A developer-focused guide to moving an SMS integration from smsmode to Vonage: channel and compliance differences, request-format mapping, a step-by-step checklist, and target-specific gotchas.
smsmode is a French A2P messaging platform (published by Calade Technologies) offering SMS, RCS, WhatsApp and voice APIs with data hosted in France. Vonage is a US-headquartered communications-API platform (part of Ericsson) spanning SMS, voice, video and messaging. On the messaging.dev Score, smsmode rates 53/100 and Vonage 89/100; this guide covers what actually changes when you move an SMS integration from one to the other.
What changes at a glance
Channels you gain: MMS, Viber and Facebook Messenger — all absent on smsmode, all present on Vonage. You lose no channels: SMS, RCS, WhatsApp and voice exist on both, and Telegram, Apple Messages for Business and email are absent on both.
Compliance: both are GDPR- and ISO 27001-aligned. Vonage additionally carries SOC 2 and HIPAA, which smsmode does not.
Data residency: smsmode hosts only in the EU (France), with no US servers and no region choice, and states data is never transferred outside the EU. Vonage runs both EU and US servers, plus APAC and Australia, and offers an explicit data-residency choice.
Pricing: smsmode sells prepaid pay-as-you-go credit packs (with optional €9–€499/month subscriptions), priced in EUR — France SMS from €0.0610 down to €0.0450 per SMS (€0.0421 on the Premium subscription). Vonage bills postpaid pay-as-you-go per message with volume discounts, about $0.0072 per US SMS segment plus carrier fees. Both give free starter credit: 20 test SMS on smsmode, €2 trial credit on Vonage.
Tooling: smsmode ships a single TypeScript/Node.js SDK and no sandbox; Vonage ships seven SDKs (Node.js, Python, PHP, Java, C#, Ruby, Kotlin) plus a sandbox for pre-live testing. Both rate high on docs quality and both support self-service onboarding. Country coverage rises from 166 to 200.
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" }
}'
Vonage:
curl -X POST 'https://rest.nexmo.com/sms/json' \
-d 'api_key=YOUR_API_KEY' \
-d 'api_secret=YOUR_API_SECRET' \
-d 'from=Vonage' \
-d 'to=15551234567' \
-d 'text=Hello from Vonage'
Three things change. The endpoint moves from https://rest.smsmode.com/sms/v1/messages to Vonage’s https://rest.nexmo.com/sms/json (legacy SMS API) or https://api.nexmo.com/v1/messages (Messages API) — note the nexmo.com host. Authentication changes from a single API key in the X-Api-Key header to an api_key + api_secret pair sent as request parameters (the Messages API uses JWT instead). And the payload flips from a JSON body with nested objects to form-encoded fields: smsmode’s recipient.to becomes Vonage’s to, body.text becomes text, and Vonage additionally requires an explicit from sender field that the smsmode quickstart does not send.
Migration checklist
- Create a Vonage account and generate your API key and secret from the dashboard — see how to start with Vonage.
- Map the request fields:
recipient.to→to,body.text→text, and add afromsender. - Re-point sending code to
https://rest.nexmo.com/sms/json, switching from the JSON body +X-Api-Keyheader to form params withapi_key/api_secret(or adopt the Messages API with JWT). - Swap the smsmode TypeScript SDK for an official Vonage SDK in your language, if you use one.
- Re-test in Vonage’s sandbox before sending live traffic — a capability smsmode did not offer.
- Update delivery/status webhooks and callbacks to Vonage’s format.
- Run both providers in parallel, compare delivery, then cut over.
Watch out for
- Protocol options narrow. smsmode exposes REST, SMPP, SMTP and SFTP; Vonage here is REST-only. Any SMPP/SMTP/SFTP integration must be rebuilt on REST.
- EU-only hosting guarantee is lost. smsmode keeps data in France and states it never leaves the EU (with an optional HDS health-data tier). Vonage is US-headquartered; even with a residency choice, confirm your region settings if strict EU-only hosting was a hard requirement.
- Explicit sender required. Vonage’s SMS API needs a
fromvalue on every request; requests without one will fail. - Currency and billing model shift. You move from EUR prepaid packs to USD postpaid pay-as-you-go, so re-baseline cost expectations per destination.
For a full field-by-field breakdown, see smsmode vs Vonage.