Migration guide

How to migrate from seven.io to Infobip

A developer-focused guide to moving an SMS integration from seven.io to Infobip: channel and compliance differences, request-format mapping, and a step-by-step migration checklist.

seven.io is a German CPaaS platform offering SMS, RCS, WhatsApp and voice APIs on EU-hosted infrastructure. Infobip is a global omnichannel communications platform covering SMS, WhatsApp, voice, email and several other channels across 190 countries. On the messaging.dev Score, seven.io rates 42/100 and Infobip 96/100; the sections below cover what actually changes when you move an integration between them.

What you gain and what you lose

Channels. Both providers support SMS, RCS, WhatsApp and voice, so those carry over unchanged. Moving to Infobip adds MMS, Viber, Facebook Messenger, Telegram, Apple Messages for Business and email. You do not lose any channel seven.io offered — Infobip’s channel set is a superset.

Compliance. Both hold GDPR and ISO 27001. Infobip additionally lists SOC 2 and HIPAA, so you gain those certifications and lose none.

Data residency. seven.io processes data on German/EU infrastructure only, with no US servers and no region choice. Infobip offers both EU and US servers plus data-residency choice and additional regions (APAC, Latin America, Middle East, Africa). You gain region flexibility, but seven.io’s guaranteed German-only “Pure EU Routing” is a specific property Infobip does not apply by default — you must actively select an EU region.

Pricing. seven.io uses transparent prepaid pay-as-you-go at a published €0.075 per SMS base rate with no monthly fee. Infobip is primarily quote/contract-based (contact sales), with some pay-as-you-go options and no publicly listed SMS price. Both offer free developer credit (seven.io: €0.50 test credit; Infobip: unspecified trial credit) and self-service onboarding.

SDKs. This is one place seven.io is broader. seven.io ships SDKs for PHP, JavaScript, Python, Go, Ruby, .NET, Rust, Kotlin, Elixir and Swift; Infobip ships Java, C#, Python, PHP, Go and Node.js. PHP, Python, Go and JavaScript/Node have equivalents on both sides, but if you rely on seven.io’s Ruby, Rust, Kotlin, Elixir or Swift SDK there is no official Infobip counterpart.

Unchanged. Both expose REST, SMPP and SMTP APIs, both provide a sandbox, and both rate “high” on docs quality.

How the request format differs

seven.io:

curl -X POST https://gateway.seven.io/api/sms \
    -H "X-Api-Key: YOUR_API_KEY" \
    -H "Accept: application/json" \
    -d "to=49176123456789" \
    -d "from=AcmeInc" \
    -d "text=hello world"

Infobip:

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

Three things change:

  • Endpoint. seven.io posts to the fixed host https://gateway.seven.io/api/sms. Infobip posts to a per-account base URL, https://{base_url}.api.infobip.com/sms/2/text/advanced, which you copy from your dashboard.
  • Authentication. seven.io sends the key in an X-Api-Key header. Infobip sends it in an Authorization: App YOUR_API_KEY header — same idea, different header name and an App prefix.
  • Payload. seven.io takes flat form-encoded fields (to, from, text). Infobip takes a JSON body: the recipient moves from to into messages[].destinations[].to, the sender from from to messages[].from, and the body from text to messages[].text. The messages array lets one request carry several messages and destinations.

Migration checklist

  1. Create an Infobip account, complete self-service onboarding, and generate an API key.
  2. Note your account base URL from the dashboard (the {base_url} in the endpoint).
  3. Map the request fields: todestinations[].to, fromfrom, texttext, wrapped in the messages array, and switch the body from form-encoded to JSON.
  4. Switch authentication from the X-Api-Key header to Authorization: App.
  5. Re-point your sending code to the new endpoint and, where possible, swap to an official Infobip SDK.
  6. Re-test against Infobip’s sandbox before sending live traffic.
  7. Update delivery/webhook callbacks to consume Infobip’s payloads.
  8. Run both integrations in parallel, then cut over once delivery and reporting look correct.

Watch out for

  • Quote-based pricing. Infobip does not publish an SMS rate, so budget via a sales quote rather than the transparent €0.075 you had.
  • No German-only guarantee. Infobip offers EU residency by choice but also runs US servers; if pure German/EU routing was a requirement, configure the region explicitly.
  • SDK gaps. There is no official Infobip SDK for Ruby, Rust, Kotlin, Elixir or Swift.

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