Open in
Uporabite lastne številke (VoIP, API)
Povežite Twilio, Telnyx, SignalWire, Vonage, Plivo ali kateri koli drug SIP trunk prek SIP, uvozite telefonske številke, ki jih že imate, in omogočite glasovnim agentom ThunderPhone, da nanje odgovarjajo in z njih kličejo.
Odobrene številke ThunderPhone lahko opravljajo odhodne klice in izvajajo kampanje. Če želite uporabljati številke, ki jih imate v lasti prek lastnega ponudnika VoIP, vas ta vodnik vodi skozi postopek povezovanja: preizkusite poverilnice → ustvarite povezavo → uvozite številke → preverite.
Podprti ponudniki
| Ponudnik | ID provider | Opombe |
|---|---|---|
| Twilio | twilio | SID računa + žeton za preverjanje pristnosti; ena povezava na račun ali podračun Twilio (glejte podračune Twilio) |
| Telnyx | telnyx | Ključ API; na voljo je vodeno uvajanje (setup_method: guided_telnyx) |
| SignalWire | signalwire | Ni izvorne povezave s ponudnikom; povežite ga kot manual s prednastavitvijo SignalWire SIP |
| Vonage | vonage | Ni izvorne povezave s ponudnikom; povežite ga kot manual s prednastavitvijo Vonage SIP |
| Ročni SIP | manual | Kateri koli SIP trunk, vključno s SignalWire, Vonage in Plivo. Če začnete z eno od ploščic teh ponudnikov na nadzorni plošči, je povezava še vedno manual in izbiro shrani v sip_config.preset (signalwire, vonage ali plivo) |
1. Preizkusite poverilnice
Preden ustvarite trajno povezavo VoIP, preverite poverilnice ponudnika,
da potrdite, da delujejo. S tem pridobite
verification_evidence_id, ki ga posredujete koraku ustvarjanja, da
za preizkušanje poverilnic ni treba dvakrat plačati.
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
}
}Če katero koli preverjanje ne uspe, bo status odgovora fail, v
checks pa bo prikazano, pri katerem koraku je prišlo do napake. Popravite
konfiguracijo na strani ponudnika (dodelitev trunka, seznam dovoljenih
IP-naslovov, pooblastilo za odhodne klice) in poskusite znova.
2. Ustvarite povezavo
Posredujte verification_evidence_id, ki ste ga pravkar pridobili:
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..."
}'Odgovor je objekt VoipConnection
s status="connected". Poverilnice so shranjene na strežniški strani in jih nadaljnje
zahteve GET nikoli ne vrnejo v odprtem besedilu — za zamenjavo izvedite nov
test in PATCH z novim dokazilom.
Podračuni Twilio
Povezava Twilio je vezana na en račun Twilio, katerega Account SID in Auth Token vsebuje. Twilio hrani telefonske številke in SIP trunke znotraj vsakega podračuna, zato povezava, ustvarjena z nadrejenim računom, vidi le lastne številke nadrejenega računa, obstoječe povezave pa pozneje ni mogoče preklopiti na drug podračun.
Za dostop do številk v podračunih ustvarite eno povezavo za vsak podračun. Nadzorna plošča to naredi namesto vas: ko povežete nadrejeni račun z aktivnimi podračuni, so ti navedeni v pogovornem oknu za nastavitev, izberete želene, ThunderPhone pa v vsakem ustvari povezavo (in SIP trunk). Enak postopek je na voljo prek API-ja:
# 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..."]}'Odgovor vsebuje eno vrstico za vsak podračun s status created,
skipped (že povezan) ali failed ter error, na podlagi katerega
lahko ukrepate. Vrstice so neodvisne, zato napaka v enem podračunu
nikoli ne blokira drugih, discovery_id pa ostane veljaven 30 minut,
zato lahko neuspešno vrstico preprosto poskusite znova. Žetoni
podračunov se ob odkrivanju preberejo iz Twilio in shranijo v novi
povezavi; API jih nikoli ne vrne. Vsaka nova povezava nato uvozi in
preveri številke povsem enako kot povezava, ki ste jo ustvarili ročno.
Dodajte "enable_transfers": true, da za SIP-trunk vsake nove povezave
vklopite tudi preusmeritve klicev; napaka pri tem je navedena v
test_result.transfer_enable_error te povezave in ne povzroči
neuspeha vrstice.
3. Navedite in uvozite številke
Preglejte številke, vidne vašim poverilnicam, ki še niso v organizaciji ThunderPhone:
curl https://api.thunderphone.com/v1/voip-connections/5/available-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Nato uvozite želene:
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"]}'Vsak uvoz ustvari vir telefonske številke
v vaši organizaciji z number_type="voip" in status="provisioning".
4. Preverite vsako uvoženo številko
Uvoz številko registrira kot razpoložljivo; za dejansko usmerjanje klicev prek nje je potrebno preverjanje. Pri povezavah s ponudniki (Twilio, Telnyx) se s tem znova preverijo poverilnice ponudnika in dosegljivost SIP. Pri povezavi ročni SIP se najprej poskusi samoklic s povratno zanko: ThunderPhone opravi kratek preskusni klic s številke, prek vašega SIP trunka, nazaj na isto številko. Če s tem ni mogoče preveriti dohodne poti, se uporabi kratek preskusni klic s številke, prek vašega SIP trunka, na številko ThunderPhone. Ti preskusi preverijo uporabniško ime, geslo, transport, odhodno usmerjanje in dostavo dohodnih klicev vašega trunka. Vaš operater te klice zaračuna enako kot vse druge.
curl -X POST https://api.thunderphone.com/v1/phone-numbers/{id}/verify-voip \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Ob uspehu se voip_verification_status spremeni v verified, številka pa preide v status="active". Številka v vašem lastnem računu Telnyx še naprej sprejema dohodne klice, če njen preskusni klic ne uspe ali odhodni klici še niso nastavljeni: preide v status="active" z voip_verification_status, nastavljenim na unverified, odgovor pa navede razlog. Ob neuspehu odgovor podrobno navede,
kaj ni uspelo — pri ročnem tranku je to odgovor SIP operaterja, na primer "zavrnil poverilnice ThunderPhone (SIP 401)" ali "klica ni bilo mogoče usmeriti (SIP 404)" — odpravite težavo (poverilnice, dovoljeni izvorni IP-naslovi, manjkajoča dodelitev tranka na nadzorni plošči ponudnika) in znova pokličite.
Pri ročni povezavi SIP z dovoljenim seznamom preskus dohodnega klica prav tako ne uspe, če bi ti dovoljeni izvorni naslovi IP blokirali dejanski dohodni klic.
5. Dodelite agente in sprejemajte klice
Ko je številka preverjena, dohodne in odhodne agente dodelite enako kot pri številki ThunderPhone. Glejte Obravnava dohodnih klicev in Izvajanje odhodnih klicev.
Menjava poverilnic
Ko zamenjate ključ ponudnika, znova izvedite postopek preverjanja in nato posodobitve:
# 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"
}'Povezava ostane nespremenjena — številk ni treba znova uvoziti.