Migrering
Byt från Twilio till volai på en eftermiddag.
Ett mindre API, samma begrepp. Twilios begrepp mappade till volai, kod jämförd sida vid sida, en färdig prompt för AI-agenten och en checklista över allt som ska flyttas över.
Är det rätt väg?
Ja, om det behövs
- Tjeckiska telefonnummer (+420) och lokala samtalstaxor.
- En röstagent som fungerar direkt ur lådan, inte en som byggs av ljudströmmar och en egen modell.
- Fakturering i tjeckiska kronor utan valutaöverraskningar på kortutdraget.
- Samtal och sms på samma tjeckiska nummer - ett tjeckiskt Twilio-nummer klarar antingen samtal eller sms, medan volai erbjuder nummer för samtal och sms (en fast linje i Prag).
Stanna kvar hos Twilio om det behövs
- Fler nummer för sms-mottagning än kontots gränser tillåter, eller sms-mottagning i andra länder - volais röstnummer tar inte emot sms, medan mobilnummer (ett tjeckiskt nummer enbart för sms) och nummer för samtal och sms (en fast linje i Prag) kan göra det, högst två av varje slag per konto; verifieringskoder från tjänster garanteras inte.
- Telefonnummer utanför volais utbud: tjeckiska, slovakiska med Bratislavas riktnummer och nummer i länderna i det aktuella utbudet, som bara är för samtal, utan sms och med utgående samtal enbart till nummerlandet och Tjeckien.
- WhatsApp, video eller andra kommunikationskanaler.
Vad motsvarar vad
Twilio SDK kopplas inte till volai bara genom att byta adress - det är ett mindre och annorlunda API. Begreppen går dock att mappa ett till ett.
| Twilio | volai |
|---|---|
| Account SID + Auth Token | API-nyckel vk_... |
| Messages resource | POST /v1/messages |
| From (avsändarnummer) | fromNumber (tillägget mobilnummer eller nummer för samtal och sms) |
| Calls resource | POST /v1/calls |
| IncomingPhoneNumbers | GET och POST /v1/numbers (mobilnummer: GET och POST /v1/sms-numbers; nummer för samtal och sms: GET och POST /v1/voice-sms-numbers) |
| Webhook för inkommande meddelande (SmsUrl) | händelsen message.received |
| StatusCallback | webhook-händelser |
| TwiML | röstagent (systemPrompt) |
| X-Twilio-Signature | Volai-Signature |
Kod sida vid sida
Att skicka ett sms - samma idé, annat API.
Twilio (Node.js SDK)
const twilio = require("twilio");
const client = twilio(accountSid, authToken);
await client.messages.create({
body: "Hi from Twilio!",
from: "+15017122661",
to: "+420777123456",
});volai (fetch)
await fetch("https://volai.cz/v1/messages", {
method: "POST",
headers: {
Authorization: "Bearer vk_YOUR_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
to: "+420777123456",
body: "Hi from volai!",
}),
});Twilio anger avsändaren i fältet from. volai ignorerar from och väljer avsändaren med fromNumber (ett nummer från GET /v1/sms-numbers, tillägget mobilnummer, eller från GET /v1/voice-sms-numbers, nummer för samtal och sms). Utan fromNumber skickas sms under det delade avsändarnamnet SMSinfo, som mottagaren inte kan svara till.
Ge det till AI-agenten
Kopiera prompten till Claude Code, Cursor eller en annan AI-editor och låt den sköta migreringen - SKILL.md ger den hela referensen.
Läs SKILL.md från volais webbplats (API:ets bas-URL anges i den). Hitta anropen till Twilio SDK för sms och samtal i mitt projekt (client.messages.create, client.calls.create) och skriv om dem till volais REST-API: POST /v1/messages för sms, POST /v1/calls för samtal, header Authorization: Bearer vk_DIN_NYCKEL. Uppdatera även hanteringen av webhooks till formatet i SKILL.md, inklusive verifiering av headern Volai-Signature.Checklista för omställningen
Nummer
Köp ett tjeckiskt nummer (POST /v1/numbers eller i portalen) och ställ in dess routing - agent, vidarekoppling eller SIP. För sms-mottagning och sändning från det egna numret köps dessutom mobilnummer (POST /v1/sms-numbers eller i portalen under Telefonnummer): ett tjeckiskt nummer enbart för sms, utan samtal. Vill samtal och sms finnas på samma nummer, beställ nummer för samtal och sms i stället för två nummer (POST /v1/voice-sms-numbers eller i portalen): en fast linje i Prag som registreras hos operatören efter beställningen, vanligtvis inom 1 arbetsdag. Samtal till den besvaras bara av en agent på volais egen röstmotor (den kan varken dirigeras till SIP eller vidarekopplas), så den passar inte för en agent som körs någon annanstans.
Nyckel
Skapa en API-nyckel i portalen, under AI-assistent.
Webhook
Ställ in webhooken (PUT /v1/webhook) på samma adress dit Twilios StatusCallback går i dag och anpassa hanteringen till den nya händelseformen. Om adressen innehåller användarnamn och lösenord ska inloggningen flyttas till en egen header (headers, till exempel Authorization: Basic ...), eftersom volai avvisar en adress med inloggningsuppgifter.
Test
Innan skarp trafik flyttas över: skicka ett sms till sig själv och ring ett testsamtal till den egna mobilen.
DNS och gamla kontaktuppgifter
DNS behöver normalt inte ändras - volai använder inte den egna domänen. Kontrollera däremot webbplatser, e-postsignaturer och dokumentation där det gamla telefonnumret är inskrivet för hand.
När det är bäst att stanna hos Twilio
Migrering är inte för alla - utöver översikten ovan bör även detta vägas in:
- Utgående samtal från volai går bara till tjeckiska och slovakiska nummer (+420, +421) - utlandsnummer går inte att ringa, inte ens från ett köpt tjeckiskt nummer.
- Behovet är högre volym än 60 anrop per minut - det är den gemensamma gränsen för både REST-API:t och MCP-servern.
Börja migreringen
Registreringen tar en minut och de första 50 kr i saldo bjuder vi på - testa det nya API:t innan skarp trafik flyttas över.