Open in
Kasuta oma numbreid (VoIP, API)
Ühenda Twilio, Telnyx, SignalWire, Vonage, Plivo või mis tahes muu SIP-trunk SIP-i kaudu, impordi juba omatavad telefoninumbrid ning lase ThunderPhone
Heaks kiidetud ThunderPhone'i numbritega saab teha väljaminevaid kõnesid ja käivitada kampaaniaid. Kui eelistad kasutada oma numbreid oma VoIP-teenusepakkuja kaudu, juhendab see juhend ühendamise protsessi: testi mandaate → loo ühendus → impordi numbrid → kinnita.
Toetatud teenusepakkujad
| Teenusepakkuja | provider id | Märkused |
|---|---|---|
| Twilio | twilio | Account SID + Auth Token; üks ühendus iga Twilio konto või alamkonto kohta (vt Twilio alamkontod) |
| Telnyx | telnyx | API-võti; juhendatud seadistamine on saadaval (setup_method: guided_telnyx) |
| SignalWire | signalwire | Teenusepakkuja natiivset ühendust pole; ühenda see manual-ina SignalWire'i SIP-eelseadistusega |
| Vonage | vonage | Teenusepakkuja natiivset ühendust pole; ühenda see manual-ina Vonage'i SIP-eelseadistusega |
| Käsitsi SIP | manual | Mis tahes SIP-trunk, sealhulgas SignalWire, Vonage ja Plivo. Kui alustad juhtpaneelil ühe sellise teenusepakkuja paaniga, on ühendus endiselt manual ja salvestab valiku sip_config.preset-i (signalwire, vonage või plivo) |
1. Testi mandaate
Enne püsiva VoIP-ühenduse loomist kontrolli teenusepakkuja
mandaate, et kinnitada nende toimivust. See tagastab
verification_evidence_id, mille edastad loomise etappi, et
mandaatide testimise eest ei võetaks tasu kaks korda.
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
}
}Kui mõni kontroll ebaõnnestub, on vastuse status väärtus fail ning checks
näitab, milline etapp nurjus. Paranda teenusepakkuja poolne konfiguratsioon
(trunki määramine, IP-lubatud loend, väljaminevate kõnede autoriseerimine) ja proovi uuesti.
2. Loo ühendus
Edasta äsja saadud verification_evidence_id:
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..."
}'Vastus on VoipConnectioni objekt
olekuga status="connected". Volitused salvestatakse serveripoolselt ja neid ei
tagastata järgmiste GET-päringutega kunagi lihttekstina — volituste vahetamiseks käivita uus
test ja saada PATCH-päring uute tõenditega.
Twilio alamkontod
Twilio ühendus on seotud ühe Twilio kontoga, mille Account SID-i ja Auth Tokenit see sisaldab. Twilio hoiab telefoninumbreid ja SIP-trunke iga alamkonto sees, seega näeb peakontoga loodud ühendus ainult peakonto enda numbreid ning olemasolevat ühendust ei saa hiljem teisele alamkontole ümber lülitada.
Alamkontodel olevate numbrite kasutamiseks loo iga alamkonto jaoks üks ühendus. Töölaud teeb seda sinu eest: kui ühendad aktiivsete alamkontodega ülemkonto, kuvatakse need seadistusdialoogis, märgid soovitud kontod ja ThunderPhone loob igas neist ühenduse (ning SIP-magistraali). Sama töövoog on saadaval API kaudu:
# 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..."]}'Vastus sisaldab iga alamkonto kohta ühe rea, mille status on
created, skipped (juba ühendatud) või failed, ning error, mille põhjal saad tegutseda. Read on sõltumatud, seega ühe alamkonto tõrge ei blokeeri kunagi teisi ning discovery_id kehtib 30
minutit, nii et nurjunud rida saab lihtsalt uuesti proovida. Alamkonto tokenid
loetakse Twiliost tuvastamise ajal ja salvestatakse uuele ühendusele;
neid ei tagastata kunagi API kaudu. Iga uus ühendus impordib ja kontrollib
seejärel numbreid täpselt nagu käsitsi loodud ühendus.
Lisa "enable_transfers": true, et lubada kõnede edastamine ka iga
uue ühenduse SIP-trunkis; sealne tõrge esitatakse selle
ühenduse test_result.transfer_enable_error väljal ega nurja rida.
3. Loetle ja impordi numbrid
Vaata volitustele nähtavaid numbreid, mis ei ole veel ThunderPhone'i organisatsioonis:
curl https://api.thunderphone.com/v1/voip-connections/5/available-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Seejärel impordi soovitud numbrid:
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"]}'Iga import muutub sinu organisatsioonis telefoninumbri ressursiks, millel on number_type="voip" ja status="provisioning".
4. Kinnita iga imporditud number
Importimine registreerib numbri saadaolevana; kõnede tegelik suunamine selle kaudu vajab kinnitamist. Teenusepakkuja ühenduste (Twilio, Telnyx) puhul kontrollitakse uuesti teenusepakkuja mandaate ja SIP-i kättesaadavust. Käsitsi seadistatud SIP-ühenduse puhul proovitakse esmalt tagasisilmusega enesekõnet: ThunderPhone teeb lühikese testkõne numbrilt, sinu SIP- trunki kaudu ja tagasi samale numbrile. Kui see ei kinnita sissetulevat teed, tehakse lühike testkõne numbrilt, sinu SIP-trunki kaudu ja ThunderPhone'i numbrile. Need testid kontrollivad trunki kasutajanime, parooli, transporti, väljaminevat marsruutimist ja sissetulevate kõnede edastust. Sinu operaator arveldab nende kõnede eest nagu mis tahes muude kõnede eest.
curl -X POST https://api.thunderphone.com/v1/phone-numbers/{id}/verify-voip \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Õnnestumisel muutub voip_verification_status väärtuseks verified ja number saab oleku status="active". Sinu Telnyx kontol olev number võtab sissetulevaid kõnesid vastu ka siis, kui selle testkõne ebaõnnestub või väljaminevad kõned pole veel seadistatud: see saab oleku status="active", kus voip_verification_status on
määratud väärtusele unverified, ning vastus selgitab põhjust. Ebaõnnestumise korral kirjeldab vastus
täpselt, mis nurjus — käsitsi seadistatud trunk-liini puhul on selleks operaatori SIP-vastus, näiteks "ThunderPhone'i autentimisandmed lükati tagasi (SIP 401)" või "kõnet ei saanud suunata (SIP 404)" — paranda probleem (autentimisandmed, lubatud lähte-IP-aadressid, puuduva trunk-liini määrang operaatori juhtpaneelil) ja proovi uuesti.
Lubatud loendisse lisatud käsitsi seadistatud SIP-ühenduse puhul nurjub sissetuleva kõne test samuti siis, kui need lubatud lähte-IP-aadressid blokeeriksid tegeliku sissetuleva kõne.
5. Määra häälagendid ja võta kõne vastu
Kui number on kinnitatud, määra sissetulevate ja väljaminevate kõnede häälagendid samamoodi nagu ThunderPhone'i numbri puhul. Vaata Sissetulevate kõnede haldamine ja Väljaminevate kõnede tegemine.
Autentimisandmete vahetamine
Kui teenusepakkuja võti vahetub, korda testimise ja seejärel uuendamise protsessi:
# 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"
}'Ühendus jääb paika — numbreid ei ole vaja uuesti importida.