Migration guide

How to migrate from SendPulse to Vonage

A developer-focused guide to migrating from SendPulse to Vonage: channel and compliance differences, request-format mapping, and a step-by-step cutover checklist.

SendPulse is a multi-channel marketing and messaging platform that bundles email, SMS, and chat channels (WhatsApp, Telegram, Viber, Facebook Messenger) behind one REST API. Vonage is a communications-API provider (part of Ericsson) focused on SMS, voice, video, and messaging. On the messaging.dev Score, SendPulse rates 63/100 and Vonage 89/100 — this guide walks through what actually changes when you re-point your sending code from one to the other.

What you gain and what you lose

Channels. Both platforms cover SMS, WhatsApp, Viber, and Facebook Messenger, and neither offers Apple Messages for Business. Moving to Vonage you gain MMS, RCS, and Voice. You lose two channels SendPulse supports: Telegram and Email. If email is part of your stack, Vonage will not replace it.

Compliance. Both are GDPR-aligned. Vonage additionally carries ISO 27001, SOC 2, and HIPAA certifications, which SendPulse does not list — relevant if you operate under a regulated compliance regime.

Data residency. Both run US and EU servers. Vonage adds explicit data-residency choice plus APAC and Australia regions; SendPulse does not offer region selection.

Pricing and free credit. Both bill SMS pay-as-you-go; Vonage adds volume discounts. The free-tier shape differs: SendPulse offers a free-forever plan (15,000 emails/mo) plus 10 test SMS, while Vonage gives a one-time €2 trial credit.

Tooling. Docs quality is rated high for both. SDK coverage overlaps on Node.js, Python, PHP, Java, C#, and Ruby; Vonage adds Kotlin. The biggest workflow difference: Vonage provides a sandbox for testing, SendPulse does not.

How the request format differs

SendPulse quickstart:

curl -X POST https://api.sendpulse.com/sms/send \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sender": "SenderName",
    "phones": ["380931258293"],
    "body": "Hello from SendPulse"
  }'

Vonage quickstart:

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:

  • Endpoint. https://api.sendpulse.com/sms/send becomes https://rest.nexmo.com/sms/json (legacy SMS API) or https://api.nexmo.com/v1/messages (the newer Messages API).
  • Auth. SendPulse uses an OAuth2 client_credentials flow — you POST client_id/client_secret to obtain a 1-hour Bearer token sent in the Authorization header. Vonage’s SMS API instead takes an API Key plus API Secret passed as request parameters; the Messages API uses JWT auth.
  • Payload. SendPulse sends a JSON body; Vonage’s SMS API takes form-encoded fields. The recipient moves from a phones array to a single to string, sender becomes from, and body becomes text. Credentials also move into the request body rather than a header.

Migration checklist

  1. Create a Vonage account and generate an API Key + API Secret (and a JWT/application if you plan to use the Messages API).
  2. Map each request field: phones[]to, senderfrom, bodytext, and relocate credentials from the header into the request.
  3. Swap the OAuth2 token exchange for Vonage’s key/secret (or JWT) auth in your sending code.
  4. Re-point your base URL to the Vonage endpoint.
  5. Re-test against Vonage’s sandbox before sending live traffic — SendPulse had none, so this is a new safety net.
  6. Update delivery receipts and webhooks to Vonage’s callback format.
  7. Run both providers in parallel, compare delivery, then cut over.

Watch out for

  • You lose Email and Telegram. SendPulse supports both; Vonage supports neither. Keep SendPulse (or another provider) if you rely on them.
  • Free credit is thinner. Vonage’s one-time €2 trial replaces SendPulse’s free-forever email plan and 10 test SMS.
  • Two API generations. Vonage exposes a legacy SMS API and a newer Messages API with different auth (key/secret vs JWT) — pick one deliberately rather than mixing them.

For a field-by-field setup walkthrough, see how to start with Vonage, or the full SendPulse vs Vonage comparison.