Open in
Naudokite savo numerius (VoIP, API)
Prijunkite Twilio, Telnyx, SignalWire, Vonage, Plivo ar bet kurį kitą SIP magistralinį ryšį per SIP, importuokite jau turimus telefono numerius ir leiskite ThunderPhone agentams į juos atsiliepti bei iš jų skambinti.
Patvirtinti ThunderPhone numeriai gali skambinti ir vykdyti kampanijas. Jei norite naudoti jums priklausančius numerius per savo VoIP teikėją, šiame vadove aprašomas prisijungimo procesas: išbandyti prisijungimo duomenis → sukurti jungtį → importuoti numerius → patvirtinti.
Palaikomi teikėjai
| Teikėjas | provider ID | Pastabos |
|---|---|---|
| Twilio | twilio | Paskyros SID + autentifikavimo prieigos raktas; viena jungtis kiekvienai Twilio paskyrai ar antrinei paskyrai (žr. Twilio antrinės paskyros) |
| Telnyx | telnyx | API raktas; galima vedama pradinė sąranka (setup_method: guided_telnyx) |
| SignalWire | signalwire | Nėra vietinės teikėjo jungties; prijunkite kaip manual naudodami SignalWire SIP išankstinį nustatymą |
| Vonage | vonage | Nėra vietinės teikėjo jungties; prijunkite kaip manual naudodami Vonage SIP išankstinį nustatymą |
| Rankinis SIP | manual | Bet kuri SIP magistralė, įskaitant SignalWire, Vonage ir Plivo. Jei valdymo skydelyje pradedate nuo vienos iš šių teikėjų plytelių, jungtis vis tiek yra manual ir pasirinkimą saugo sip_config.preset (signalwire, vonage arba plivo) |
1. Išbandykite prisijungimo duomenis
Prieš kurdami išsaugomą VoIP jungtį, patikrinkite teikėjo
prisijungimo duomenis, kad patvirtintumėte, jog jie veikia. Taip gausite
verification_evidence_id, kurį perduosite kūrimo veiksmui, kad už
prisijungimo duomenų testavimą nebūtų imamas mokestis du kartus.
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
}
}Jei kuris nors patikrinimas nepavyksta, atsakymo status bus fail, o
checks nurodys, kuris veiksmas nepavyko. Ištaisykite teikėjo pusės
konfigūraciją (magistralinio ryšio priskyrimą, IP leidžiamų adresų sąrašą,
leidimą skambinti) ir bandykite dar kartą.
2. Sukurkite ryšį
Pateikite ką tik gautą 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..."
}'Atsakymas yra VoipConnection objektas,
kurio status="connected". Prisijungimo duomenys saugomi serverio pusėje ir vėlesnėse
GET užklausose niekada negrąžinami kaip paprastasis tekstas — norėdami juos pakeisti,
paleiskite naują test ir atlikite PATCH su naujais įrodymais.
Twilio subpaskyros
Twilio ryšys susietas su viena Twilio paskyra, kurios paskyros SID ir autentifikavimo prieigos raktą jis turi. Twilio saugo telefonų numerius ir SIP magistrales kiekvienoje antrinėje paskyroje, todėl su pirmine paskyra sukurtas ryšys mato tik pačios pirminės paskyros numerius, o esamo ryšio vėliau negalima perjungti į kitą antrinę paskyrą.
Norėdami pasiekti subpaskyrose esančius numerius, sukurkite po vieną ryšį kiekvienai subpaskyrai. Valdymo skydelis tai atlieka už jus: prijungus pagrindinę paskyrą su aktyviomis subpaskyromis, sąrankos dialogo lange jos pateikiamos sąraše, pažymite norimas, o ThunderPhone kiekvienoje sukuria ryšį (ir SIP magistralę). Tą patį procesą galima atlikti per API:
# 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..."]}'Atsakyme pateikiama po vieną eilutę kiekvienai papildomai paskyrai su status
reikšme created, skipped (jau prijungta) arba failed, taip pat su error,
pagal kurią galite imtis veiksmų. Eilutės yra nepriklausomos, todėl vienos papildomos paskyros
klaida niekada neblokuoja kitų, o discovery_id galioja 30
minučių, todėl nepavykusią eilutę galima tiesiog bandyti dar kartą. Papildomų paskyrų prieigos raktai
aptikimo metu nuskaitomi iš Twilio ir išsaugomi naujame ryšyje;
jie niekada negrąžinami per API. Kiekvienas naujas ryšys tada importuoja
ir patikrina numerius lygiai taip pat, kaip rankiniu būdu sukurtas ryšys.
Pridėkite "enable_transfers": true, kad taip pat įjungtumėte skambučių peradresavimą kiekvieno
naujo ryšio SIP magistralei; klaida ten nurodoma to ryšio
test_result.transfer_enable_error ir nelaikoma eilutės klaida.
3. Peržiūrėkite ir importuokite numerius
Peržiūrėkite jūsų prisijungimo duomenims matomus numerius, kurie dar nėra ThunderPhone organizacijoje:
curl https://api.thunderphone.com/v1/voip-connections/5/available-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Tada importuokite norimus numerius:
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"]}'Kiekvienas importuotas numeris jūsų organizacijoje tampa telefono numerio ištekliumi
su number_type="voip" ir status="provisioning".
4. Patvirtinkite kiekvieną importuotą numerį
Importavus numeris užregistruojamas kaip pasiekiamas; norint iš tikrųjų nukreipti per jį skambučius, reikia patvirtinimo. Teikėjo jungtims (Twilio, Telnyx) tai iš naujo patikrina teikėjo kredencialus ir SIP pasiekiamumą. Naudojant rankinę SIP jungtį, pirmiausia bandomas grįžtamojo ryšio skambutis: ThunderPhone atlieka trumpą bandomąjį skambutį iš numerio, per jūsų SIP magistralę, atgal į tą patį numerį. Jei taip nepavyksta patvirtinti įeinančio ryšio, sistema atlieka trumpą bandomąjį skambutį iš numerio, per jūsų SIP magistralę, į ThunderPhone numerį. Šiais bandymais tikrinamas magistralės naudotojo vardas, slaptažodis, perdavimo protokolas, išeinančių skambučių maršrutizavimas ir įeinančių skambučių pristatymas. Jūsų ryšio teikėjas už šiuos skambučius apmokestina kaip už bet kuriuos kitus.
curl -X POST https://api.thunderphone.com/v1/phone-numbers/{id}/verify-voip \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Sėkmės atveju voip_verification_status pakeičiama į verified, o
numerio būsena tampa status="active". Numeris jūsų Telnyx paskyroje
toliau priima įeinančius skambučius, jei bandomasis skambutis nepavyksta
arba dar nesukonfigūruoti išeinantys skambučiai: jo būsena tampa status="active", o voip_verification_status
nustatoma į unverified, ir atsakyme nurodoma priežastis. Nesėkmės atveju
atsakyme išsamiai nurodoma,
kas nepavyko — rankinio magistralinio ryšio atveju tai yra ryšio teikėjo SIP atsakymas, pavyzdžiui, "atmetė ThunderPhone prisijungimo duomenis (SIP 401)" arba "nepavyko nukreipti skambučio (SIP 404)" — ištaisykite problemą (prisijungimo duomenis, leidžiamus šaltinio IP adresus, trūkstamą magistralinio ryšio priskyrimą teikėjo valdymo skydelyje) ir bandykite dar kartą.
Jei rankinė SIP jungtis įtraukta į leidžiamųjų sąrašą, įeinančio skambučio testas taip pat nepavyks, jei tie leidžiami šaltinio IP adresai blokuotų realų įeinantį skambutį.
5. Priskirkite agentus ir priimkite skambutį
Patvirtinus numerį, įeinančių ir išeinančių skambučių agentus priskiriate taip pat, kaip ThunderPhone numeriui. Žr. Įeinančių skambučių tvarkymas ir Išeinančių skambučių inicijavimas.
Prisijungimo duomenų keitimas
Kai pasikeičia teikėjo raktas, dar kartą atlikite tikrinimo ir atnaujinimo eigą:
# 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"
}'Ryšys išlieka — numerių iš naujo importuoti nereikia.