CPaaS / SMS-API
Så byter du från Twilio
Ett kodbyte, inte en datamigrering: sändningsanropets diff, avsändar-ID:n omregistrerade, opt-outs medflyttade och status-callbacks ommappade — med en stegvis utrullning så inget kritiskt går sönder.
En halv dags kodändringar; avsändar-ID-registrering sätter kalendern (dagar till veckor per land)
| Twilio | WeZend |
|---|---|
| Messages API (POST /Messages) | POST /v1/messages/send |
| Account SID + Auth Token | X-API-Key-header |
| Messaging Services / sender pool | Automatisk routing + registrerade avsändare |
| Status callbacks | Leverans-webhooks (signerade) |
| Advanced Opt-Out lists | Spärrlista + STOP-hantering |
| Inbound webhooks (MO) | Inkommande webhook + inkorg |
| Twilio Verify (OTP) | Transaktionella utskick + voice-fallback-resa |
| Programmable Voice (TTS) | Voice-kanalen |
Vilken sorts migrering det här är
Twilio sitter på väldigt lite av era data — det är infrastruktur som er kod anropar. Den här migreringen är alltså till 90% ett kontrollerat kodbyte och till 10% regulatorisk logistik (avsändarregistrering). Den gyllene regeln: routa med feature flag, inte big bang, så att ni kan flytta trafiken gradvis och rulla tillbaka omedelbart.
Steg 1 — Starta den långsamma klockan: avsändar-ID:n
Registreringstiden är det enda ni inte kan komprimera, så gör det först. Lista varje avsändare ni använder (alfanumeriska namn, numeriska avsändare) och varje mottagarland, och registrera dem under Inställningar → Avsändare (POST /v1/senders). Kontrollera kraven per land programmatiskt:
curl "https://api.wezend.com/v1/sender/rules?country=DK" -H "X-API-Key: $WEZEND_API_KEY"
Länder med operatörsregistrering tar dagar till veckor — börja nu, koda sedan.
Steg 2 — Flytta med opt-outs
Om ni använder Twilios Advanced Opt-Out (eller spårar STOP själva): exportera de numren och importera dem som spärrningar. WeZend fångar upp STOP/START-nyckelord automatiskt framåt, men historiken måste följa med — en mottagare som sa STOP hos Twilio ska förbli stoppad hos WeZend.
Steg 3 — Koddiffen
Twilio (Node):
const twilio = require("twilio")(ACCOUNT_SID, AUTH_TOKEN);
await twilio.messages.create({
to: "+4512345678",
messagingServiceSid: "MG…",
body: "Din kod är 493202",
statusCallback: "https://api.yourapp.com/sms-status",
});
WeZend — ren HTTP, inget SDK behövs:
await fetch("https://api.wezend.com/v1/messages/send", {
method: "POST",
headers: { "X-API-Key": process.env.WEZEND_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
to: "+4512345678",
channel: "sms",
sender: "Acme",
message: "Din kod är 493202",
category: "transactional",
webhook_url: "https://api.yourapp.com/sms-status",
}),
});
Skillnader som spelar roll:
- Autentiseringen är en enda header (
X-API-Key), inget SID/token-par. Nycklar roteras med ett 24-timmars nådfönster. messagingServiceSidförsvinner — routing till bästa leverantör per destination är plattformens jobb, med automatisk failover när en rutt försämras.category: "transactional"markerar engångskoder och kvitton så att de går förbi marknadsföringstak och tysta timmar.- Status-callbacks kommer till din
webhook_urlmed enX-WeZend-Signature-HMAC — verifiera den. Mappa statusarna: Twiliosqueued/sent/delivered/undelivered/failedmotsvararqueued/sent/delivered/failed(undelivered och failed kommer båda somfailed, med orsaken bifogad).
Steg 4 — Inkommande och tvåvägs
Rikta er svarshantering mot WeZend: sätt den inkommande webhook-URL:en, så POSTas inkommande meddelanden till er endpoint precis som Twilios MO-webhooks gjorde — dessutom landar de trådade i inkorgen, som ert supportteam får på köpet.
Steg 5 — Stegvis utrullning
Lägg leverantörsvalet bakom en flagga och flytta trafiken i etapper: 5% → verifiera leveransgraden mot Twilios baslinje → 50% → 100%. Håll Twilio-kontot vid liv (det kostar nästan ingenting i vila) tills varje webhook-konsument är migrerad och en hel faktureringsperiod har passerat. Om något fallerar under övergången visar Delivery Inspector operatörsorsaken i klartext — slut på att tyda fel 30008.
Hur är det med Verify, Voice och nummer?
- OTP-flöden: skicka med
category: "transactional"; lägg till fallbacken "ingen leverans på N sekunder → röstsamtal" som en tvåstegsresa. - Voice/TTS: voice-kanalen täcker automatiserade TTS-samtal och larm.
- Dedikerade long codes/short codes: nummerportering hanteras från fall till fall — kontakta oss med era nummer och destinationer innan ni schemalägger cutover.
Go-live-checklista
- Alla avsändar-ID:n registrerade per mottagarland (börja omedelbart — längst ledtid)
- Twilios opt-out-listor exporterade och importerade som spärrningar
- Sändningsanrop utbytta bakom en feature flag; category satt på transaktionell trafik
- Webhook-konsumenten verifierar X-WeZend-Signature och mappar statusar
- Inkommande webhook-URL satt; svar verifierade hela vägen
- Trafiken flyttad 5% → 50% → 100% med leveransgrader jämförda i varje steg
- Twilio-kontot hållet vid liv tills en hel faktureringsperiod passerat felfritt
Vanliga frågor om bytet från Twilio
Finns det ett SDK, eller anropar vi REST-API:et direkt?
API:et är ren JSON över HTTPS, utformat för att anropas direkt — exemplen ovan är kompletta. Det betyder också att en AI-assistent kan skriva integrationen åt er: hela vårt API är maskinläsbart på /llms-full.txt, och Bygg-med-AI-guiden visar arbetsflödet.
Twilio debiterar per segment — hur prissätter WeZend SMS?
Också per segment, per destination — så fakturerar operatörerna, och att låtsas annat döljer kostnader. Skillnaden är transparensen: GET /v1/account/pricing returnerar era exakta priser, dashboarden visar antal segment och pris innan ni skickar, och samma förbetalda saldo täcker alla kanaler.
Vad vinner vi utöver ett rakt av-API-byte?
Allt runt själva utskicket: automatisk leverantörsfailover, Delivery Inspector med felorsaker i klartext, en delad inkorg för svar och — när ni är redo — CDP, resor och e-post/WhatsApp/push på samma API och saldo. Ni migrerar en SMS-leverantör; ni landar i en plattform.
Kom igång gratis på minuter
- Inget kreditkort
- EU-datalagring
- 6 kanaler, ett API
- GDPR inbyggt
En plattform. Varje kundinteraktion.
Ersätt ditt lapptäcke av meddelande-API:er, CDP och automationsverktyg med en engagemangsplattform byggd för skala.
Inget kreditkort · EU-datalagring · 99,99 % drifttids-SLA