Migration guide

How to migrate from smsmode to Infobip

A developer-focused guide to moving your SMS integration from smsmode to Infobip, covering channel and compliance differences, request-format mapping, and a step-by-step cutover checklist.

smsmode is a French A2P mobile messaging platform (published by Calade Technologies) providing SMS, RCS, WhatsApp and text-to-speech APIs with data hosted in France. Infobip is a global omnichannel communications platform covering SMS, WhatsApp, voice, email and more. On the messaging.dev Score, smsmode rates 53/100 and Infobip 96/100 — this guide covers what actually changes at the API level when you move between them.

What changes when you move

Channels. You keep SMS, RCS, WhatsApp and voice on both platforms, and you lose no channels in the move. Infobip adds six channels smsmode does not offer: MMS, Viber, Facebook Messenger, Telegram, Apple Messages for Business and email.

Compliance. Both hold GDPR and ISO 27001. Infobip additionally holds SOC 2 and HIPAA.

Data residency. smsmode hosts exclusively on EU servers in France and states data never leaves the EU, with an optional HDS-certified tier for health data. Infobip offers both EU and US servers plus a data-residency choice, with additional regions across APAC, Latin America, the Middle East and Africa.

Pricing. smsmode publishes prepaid pay-as-you-go credit rates (France SMS from €0.0610 down to €0.0450 on the largest pack) with optional monthly subscriptions. Infobip is primarily quote/contract-based (contact sales), with some pay-as-you-go options; its rates are not publicly listed.

Tooling. smsmode ships one SDK (TypeScript/Node.js) and has no sandbox. Infobip ships six SDKs (Java, C#, Python, PHP, Go, Node.js) and a sandbox test environment. Both document at high quality and both offer free developer credit — smsmode gives 20 test SMS credits; Infobip’s trial-credit amount is not specified.

How the request format differs

smsmode quickstart:

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" }
  }'

Infobip quickstart:

curl -X POST 'https://xxxxxx.api.infobip.com/sms/2/text/advanced' \
  -H 'Authorization: App YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{"messages":[{"from":"InfoSMS","destinations":[{"to":"15551234567"}],"text":"Hello from Infobip"}]}'

Both are single POST calls, but three things change. The endpoint moves from smsmode’s fixed https://rest.smsmode.com/sms/v1/messages to Infobip’s https://{base_url}.api.infobip.com/sms/2/text/advanced, where {base_url} is a personalized subdomain issued with your account. Authentication changes header: smsmode passes X-Api-Key: YOUR_API_KEY, while Infobip uses Authorization: App YOUR_API_KEY. The payload restructures too — smsmode nests a single recipient under recipient.to and the text under body.text, with no sender in the quickstart. Infobip wraps everything in a messages array: each entry carries a from sender, a destinations array of { "to": ... } objects, and a flat text field. So recipient.to maps to destinations[].to, body.text maps to text, and you must now supply a from value.

Migration checklist

  1. Create an Infobip account and generate an API key from the dashboard. Note your personalized base URL (the {base_url} subdomain).
  2. Map the request fields: recipient.tomessages[].destinations[].to, body.textmessages[].text, and add an explicit from sender.
  3. Swap authentication: replace the X-Api-Key header with Authorization: App YOUR_API_KEY.
  4. Re-point your sending code to https://{base_url}.api.infobip.com/sms/2/text/advanced, and optionally adopt one of Infobip’s official SDKs.
  5. Re-test against Infobip’s sandbox before sending live traffic.
  6. Update your delivery-report webhooks and callbacks to Infobip’s format.
  7. Run both providers in parallel, compare delivery, then cut over once verified.

For a full walkthrough see How to start with Infobip, and for a feature-by-feature view see the Infobip vs smsmode comparison.

Watch out for

  • No public pricing. Infobip is primarily quote/contract-based and rates are not publicly listed. Get a sales quote and model your per-message cost before cutover — smsmode’s published per-SMS rates won’t carry over.
  • Trial credit is unspecified. smsmode gives a concrete 20 test SMS credits; Infobip’s free trial-credit amount is not stated.
  • Residency defaults differ. Infobip runs US and other non-EU regions alongside EU. If you relied on smsmode’s “never leaves the EU” France hosting (or its HDS health tier), pin Infobip’s data-residency choice to an EU region explicitly.
  • No SFTP submission. smsmode supports REST, SMPP, SMTP and SFTP; Infobip lists REST, SMPP and SMTP but not SFTP. If you batch-submit over SFTP, re-architect on REST or SMPP.