Open in
Bruk dine egne numre (VoIP, API)
Koble til Twilio eller Telnyx, eller SignalWire, Vonage, Plivo og enhver annen SIP-trunk via SIP, importer telefonnumrene du allerede eier, og la ThunderPhone-stemmeagenter besvare og foreta samtaler med dem.
Godkjente ThunderPhone-numre kan ringe utgående samtaler og kjøre kampanjer. Hvis du foretrekker å bruke numre du eier gjennom din egen VoIP-leverandør, veileder denne guiden deg gjennom tilkoblingsflyten: test legitimasjon → opprett tilkobling → importer numre → verifiser.
Støttede leverandører
| Leverandør | provider-ID | Merknader |
|---|---|---|
| Twilio | twilio | Account SID + Auth Token; én tilkobling per Twilio-konto eller underkonto (se Twilio-underkontoer) |
| Telnyx | telnyx | API-nøkkel; veiledet oppsett tilgjengelig (setup_method: guided_telnyx) |
| SignalWire | signalwire | Ingen innebygd leverandørtilkobling; koble den til som manual med SignalWire SIP-forhåndsinnstillingen |
| Vonage | vonage | Ingen innebygd leverandørtilkobling; koble den til som manual med Vonage SIP-forhåndsinnstillingen |
| Manuell SIP | manual | Enhver SIP-trunk, inkludert SignalWire, Vonage og Plivo. Hvis du starter fra en av disse leverandørflisene i dashbordet, er tilkoblingen fortsatt manual og lagrer valget i sip_config.preset (signalwire, vonage eller plivo) |
1. Test legitimasjon
Før du oppretter en lagret VoIP-tilkobling, test leverandørens
legitimasjon for å bekrefte at den fungerer. Dette returnerer en
verification_evidence_id som du sender til opprettelsestrinnet, slik at
legitimasjonen ikke blir belastet to ganger for testing.
curl -X POST https://api.thunderphone.com/v1/voip-connections/test \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "telnyx",
"credentials": { "apiKey": "KEY...", "connectionId": "123456" },
"sip_config": { "domain": "acme.sip.telnyx.com" }
}'{
"status": "pass",
"verification_evidence_id": "b9a2...",
"suggested_connection_name": "Telnyx: Acme Main (+15550001234)",
"checks": {
"credentials_valid": true,
"inbound_reachable": true,
"outbound_authorized": true
}
}Hvis en kontroll feiler, blir responsens status fail, og checks
viser hvilket trinn som feilet. Rett opp konfigurasjonen hos leverandøren (tildeling av
trunk, IP-tillatelsesliste, autorisasjon for utgående samtaler), og prøv på nytt.
2. Opprett tilkoblingen
Send verification_evidence_id du nettopp fikk:
curl -X POST https://api.thunderphone.com/v1/voip-connections \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Telnyx Main",
"provider": "telnyx",
"setup_method": "api_key",
"credentials": { "apiKey": "KEY...", "connectionId": "123456" },
"sip_config": { "domain": "acme.sip.telnyx.com" },
"verification_evidence_id": "b9a2..."
}'Responsen er et VoipConnection-objekt
med status="connected". Legitimasjon lagres på serversiden og returneres aldri
i klartekst av påfølgende GET-kall — for å rotere den, kjør en ny
test og PATCH med den nye dokumentasjonen.
Twilio-underkontoer
En Twilio-tilkobling er knyttet til den ene Twilio-kontoen den har Account SID og Auth Token for. Twilio lagrer telefonnumre og SIP-trunker i hver underkonto, så en tilkobling som er opprettet med hovedkontoen, bare ser hovedkontoens egne numre, og en eksisterende tilkobling kan ikke senere byttes til en annen underkonto.
For å få tilgang til numre i underkontoer oppretter du én tilkobling per underkonto. Kontrollpanelet gjør dette for deg: Når du kobler til en foreldrekonto med aktive underkontoer, viser oppsettsdialogen dem. Du krysser av for dem du vil ha, og ThunderPhone oppretter en tilkobling (og en SIP-trunk) i hver av dem. Den samme flyten er tilgjengelig via API-et:
# Discover active subaccounts visible to the parent credentials
curl -X POST https://api.thunderphone.com/v1/voip-connections/twilio/subaccounts \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"credentials": {"accountSid": "ACparent...", "authToken": "..."}}'{
"discovery_id": "7c1e...",
"parent": { "sid": "ACparent...", "friendly_name": "Acme" },
"subaccounts": [
{ "sid": "ACsupport...", "friendly_name": "Acme Support", "already_connected": false, "connection_id": null },
{ "sid": "ACsales...", "friendly_name": "Acme Sales", "already_connected": true, "connection_id": 5 }
]
}# Create a connection for each selected subaccount
curl -X POST https://api.thunderphone.com/v1/voip-connections/twilio/subaccounts/connect \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"discovery_id": "7c1e...", "subaccount_sids": ["ACsupport..."]}'Svaret inneholder én rad per underkonto med status lik
created, skipped (allerede tilkoblet) eller failed, samt en error
du kan handle på. Radene er uavhengige, så en feil i én underkonto
blokkerer aldri de andre, og en discovery_id er gyldig i 30
minutter, slik at en mislykket rad enkelt kan prøves på nytt. Tokenene for underkontoer
leses fra Twilio på oppdagelsestidspunktet og lagres i den nye tilkoblingen;
de returneres aldri av API-et. Hver nye tilkobling importerer og
verifiserer deretter numre på nøyaktig samme måte som en tilkobling du opprettet manuelt.
Legg til "enable_transfers": true for også å aktivere viderekobling av samtaler for hver
nye tilkoblings SIP-trunk; en feil der rapporteres i den
tilkoblingens test_result.transfer_enable_error og gjør ikke at raden mislykkes.
3. List opp og importer numre
Se gjennom numrene som er synlige for legitimasjonen din, og som ikke allerede er i en ThunderPhone-organisasjon:
curl https://api.thunderphone.com/v1/voip-connections/5/available-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Importer deretter dem du vil ha:
curl -X POST https://api.thunderphone.com/v1/voip-connections/5/import-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"numbers": ["+15550001234", "+15550009999"]}'Hver import blir en telefonnummerressurs
i organisasjonen din med number_type="voip" og status="provisioning".
4. Verifiser hvert importerte nummer
Import registrerer nummeret som tilgjengelig; for å faktisk rute samtaler gjennom det kreves verifisering. For leverandørtilkoblinger (Twilio, Telnyx) kontrolleres leverandørlegitimasjonen og SIP-tilgjengeligheten på nytt. For en manuell SIP-tilkobling prøves først et selvoppringingsanrop i sløyfe: ThunderPhone foretar et kort testanrop fra nummeret, via SIP- trunken din, tilbake til samme nummer. Hvis det ikke verifiserer den innkommende ruten, faller systemet tilbake til et kort testanrop fra nummeret, via SIP-trunken din, til et ThunderPhone-nummer. Disse testene kontrollerer trunkens brukernavn, passord, transport, utgående ruting og innkommende levering. Operatøren din fakturerer disse samtalene som alle andre.
curl -X POST https://api.thunderphone.com/v1/phone-numbers/{id}/verify-voip \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Ved vellykket verifisering endres voip_verification_status til verified, og
nummeret får status="active". Et nummer i din egen Telnyx-konto
fortsetter å motta innkommende anrop når testanropet mislykkes eller utgående anrop
ikke er satt opp ennå: det får status="active" med voip_verification_status
satt til unverified, og svaret oppgir hvorfor. Ved feil forklarer svaret
hva som mislyktes — for en manuell trunk er det leverandørens SIP-svar, for
eksempel "avviste ThunderPhones påloggingsopplysninger (SIP 401)" eller "kunne
ikke rute et anrop (SIP 404)" — korriger det (påloggingsopplysninger, tillatte
kilde-IP-er, en manglende trunktilordning i leverandørens kontrollpanel) og prøv igjen.
For en manuell SIP-tilkobling med tillatelsesliste mislykkes testen for innkommende samtaler også hvis disse tillatte kilde-IP-adressene ville blokkert en reell innkommende samtale.
5. Tilordne agenter og ta imot et anrop
Når nummeret er verifisert, tilordner du stemmeagenter for innkommende og utgående samtaler på samme måte som for et ThunderPhone-nummer. Se Håndter innkommende samtaler og Foreta utgående samtaler.
Roterende påloggingsopplysninger
Når en leverandørnøkkel roteres, kjører du test-deretter-oppdater-flyten på nytt:
# 1. Test the new credentials
curl -X POST https://api.thunderphone.com/v1/voip-connections/test ...
# 2. PATCH the connection with the new evidence
curl -X PATCH https://api.thunderphone.com/v1/voip-connections/{id} \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"credentials": { "apiKey": "NEW_KEY..." },
"verification_evidence_id": "fresh-evidence-id"
}'Tilkoblingen forblir på plass — du trenger ikke importere numrene på nytt.