How to migrate from SmsManager to Sinch
A developer's guide to moving SMS and multichannel messaging from SmsManager to Sinch, covering channel and compliance differences, request-format changes, and a step-by-step migration checklist.
SmsManager is a Prague-based bulk-messaging platform that sends SMS, WhatsApp, Viber, and RCS from a web app or a single JSON API. Sinch is a Stockholm-based cloud communications platform covering messaging, voice, and email APIs. On the messaging.dev Score, SmsManager rates 51/100 and Sinch 92/100 — this guide covers what actually changes at the API and operations level when you move between them.
What you gain and lose
Channels. Both providers send SMS, RCS, WhatsApp, Viber, and Apple Messages for Business, so every channel you use today carries over. Moving to Sinch adds MMS, Facebook Messenger, Telegram, voice, and email. You lose no channel in the move.
Compliance. Both are GDPR aligned. Sinch additionally lists ISO 27001, SOC 2, and HIPAA, none of which appear in SmsManager’s entry.
Data residency. SmsManager runs EU servers only, with no region choice. Sinch offers both EU and US servers, an explicit data-residency choice, and extra regions (APAC, Australia, Brazil).
Pricing and credit. SmsManager uses prepaid, non-expiring credit charged per message. Sinch uses pay-as-you-go with volume and committed-use pricing, and its quoted rates add carrier fees on top. Both offer free developer credit and self-service onboarding.
Tooling. Both ship a PHP SDK, provide a sandbox, and rate “high” on docs. SmsManager adds JavaScript/TypeScript; Sinch ships Java, Python, C#, and Node.js, and exposes SMTP and SMPP alongside REST (SmsManager is REST only).
How the request format differs
SmsManager quickstart:
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"}]}'
Sinch quickstart:
curl -X POST 'https://us.sms.api.sinch.com/xms/v1/YOUR_SERVICE_PLAN_ID/batches' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"from":"+15005550006","to":["+15551234567"],"body":"Hello from Sinch"}'
Three things change:
- Endpoint. SmsManager posts to one fixed URL (
.../v2/message). Sinch posts to a region-specific host with yourservice_plan_idembedded in the path (.../xms/v1/{service_plan_id}/batches). - Auth. SmsManager passes
x-api-key: YOUR_API_KEY. Sinch uses a Bearer token:Authorization: Bearer YOUR_API_TOKEN. - Payload. The message text stays as
bodyin both. The recipient list changes shape — SmsManager’stois an array of objects ({"phone_number": "420777123456"}), while Sinch’stois an array of plain E.164 strings ("+15551234567"). Sinch also expects an explicitfromsender, and the number format switches to a leading+.
Migration checklist
- Create a Sinch account, then generate an API token and note your
service_plan_idin the dashboard. - Pick the regional base URL that matches your data-residency needs (the quickstart uses the US host).
- Map the request fields: swap
x-api-keyfor the Bearer header, send recipients as plain E.164 strings instead of{phone_number}objects, and add afromsender. - Re-point your sending code at the new endpoint and auth scheme.
- Re-test against Sinch’s sandbox before sending live traffic.
- Update your delivery/webhook callbacks to parse Sinch’s status payloads.
- Run both providers in parallel, compare delivery, then cut over once results match.
For a from-scratch walkthrough, see how to start with Sinch; for a full side-by-side, see Sinch vs SmsManager.
Watch out for
- Country coverage. Sinch’s entry lists 150 countries versus SmsManager’s 175, so confirm your key destinations are supported before cutting over.
- Regional endpoints. The base host and
service_plan_idare region-bound; sending to the wrong host can route traffic — and data — outside your intended region. - Pricing surface. Sinch’s per-message rates add carrier fees and reward committed-use volumes, so model real costs rather than the headline rate.
- Platform scope. Sinch is a much larger, multi-product platform (SMTP, SMPP, voice, email); if you only send SMS, expect more surface area to configure than SmsManager’s single JSON API.