Open in
Prijunkite savo numerius (VoIP, API)
Prijunkite Twilio arba Telnyx – arba bet kurią SIP liniją – importuokite jau turimus telefono numerius ir leiskite ThunderPhone agentams į juos atsiliepti bei iš jų skambinti.
ThunderPhone numeriai apima įeinančius skambučius, tačiau siunčiamiems skambučiams ir kampanijoms reikia numerių, kuriuos turite per savo VoIP teikėją. Šiame vadove aprašoma trijų veiksmų seka: išbandykite prisijungimo duomenis → sukurkite ryšį → importuokite numerius → patvirtinkite.
Palaikomi teikėjai
| Teikėjas | provider ID | Pastabos |
|---|---|---|
| Twilio | twilio | Paskyros SID + „Auth Token“; vienas ryšys kiekvienai „Twilio“ paskyrai arba papildomai paskyrai (žr. „Twilio“ papildomas paskyras) |
| Telnyx | telnyx | API raktas; galima vedama registracija (setup_method: guided_telnyx) |
| SignalWire | signalwire | Netrukus — šiandien prijunkite per rankinį SIP |
| Vonage | vonage | Netrukus — šiandien prijunkite per rankinį SIP |
| Rankinis SIP | manual | Bet kuris SIP magistralinis ryšys — naudokite savo konfigūraciją |
1. Išbandykite prisijungimo duomenis
Prieš kurdami išsaugomą VoIP ryšį, patikrinkite teikėjo
prisijungimo duomenis, kad įsitikintumėte, jog jie veikia. Taip grąžinamas
verification_evidence_id, kurį perduodate kūrimo veiksmui, kad už
prisijungimo duomenų tikrinimą nebūtų apmokestinta 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
parodys, kuris veiksmas nepavyko. Ištaisykite teikėjo pusės konfigūraciją
(magistralinio ryšio priskyrimą, IP leidžiamų adresų sąrašą, siunčiamų skambučių autorizavimą)
ir bandykite dar kartą.
2. Sukurkite ryšį
Perduokite 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
su status="connected". Prisijungimo duomenys saugomi serverio pusėje ir vėlesnėse
GET užklausose niekada negrąžinami kaip paprastas tekstas — norėdami juos pakeisti, atlikite naują
test ir PATCH užklausą su naujais patvirtinimo duomenimis.
Twilio subpaskyros
Twilio ryšys susiejamas su viena Twilio paskyra, kurios Account SID ir Auth Token jis turi. Twilio telefono numerius ir SIP magistrales saugo kiekvienoje subpaskyroje, todėl su pagrindine paskyra sukurtas ryšys mato tik pačios pagrindinės paskyros numerius, o esamo ryšio vėliau negalima perjungti į kitą subpaskyrą (atnaujinimas atmetamas, nes ryšio SIP magistralė yra pradinėje paskyroje).
Norėdami pasiekti subpaskyrose esančius numerius, sukurkite po vieną ryšį kiekvienai subpaskyrai. Valdymo skydelis tai atlieka už jus: prijungus pagrindinę paskyrą, turinčią aktyvių subpaskyrų, sąrankos dialogo lange jos išvardijamos, jūs pažymite norimas, o ThunderPhone kiekvienoje sukuria ryšį (ir SIP magistralę). Tas pats procesas galimas 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 subpaskyrai su status
created, skipped (jau prijungta) arba failed bei error,
pagal kurią galite imtis veiksmų. Eilutės yra nepriklausomos, todėl vienos subpaskyros
klaida niekada neblokuoja kitų, o discovery_id galioja 30
minučių, todėl nepavykusią eilutę galima tiesiog bandyti dar kartą. Subpaskyrų prieigos raktai
atradimo metu nuskaitomi iš Twilio ir saugomi naujame ryšyje;
jie niekada negrąžinami per API. Kiekvienas naujas ryšys tada importuoja
ir patvirtina numerius lygiai taip pat kaip rankiniu būdu sukurtas ryšys.
3. Išvardykite ir importuokite numerius
Peržiūrėkite prisijungimo duomenims matomus numerius, kurių 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:
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 tampa telefono numerio ištekliumi
jūsų organizacijoje su source="voip" ir status="provisioning".
4. Patvirtinkite kiekvieną importuotą numerį
Importavus numeris užregistruojamas kaip pasiekiamas; kad skambučiai iš tikrųjų būtų nukreipiami per jį, reikia patvirtinimo. Teikėjo ryšiams („Twilio“, „Telnyx“) tai iš naujo patikrina teikėjo prisijungimo duomenis ir SIP pasiekiamumą. Naudojant rankinį SIP ryšį atliekamas trumpas bandomasis skambutis (kelios sekundės, automatiškai nutraukiamas) iš numerio, per jūsų SIP magistralę, į ThunderPhone numerį — taip praktiškai patvirtinami magistralės naudotojo vardas, slaptažodis, perdavimo protokolas ir išeinančių skambučių maršrutizavimas. Jūsų ryšio teikėjas už šį skambutį apmokestina kaip už bet kurį kitą.
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 pasikeičia į verified, o
numeriui priskiriama status="active". Nesėkmės atveju atsakyme nurodoma,
kas nepavyko — naudojant rankinę magistralę tai yra ryšio teikėjo SIP atsakymas, pavyzdžiui,
"atmesti ThunderPhone prisijungimo duomenys (SIP 401)" arba "nepavyko
nukreipti skambučio (SIP 404)" — ištaisykite problemą (prisijungimo duomenis, leistinus šaltinio
IP adresus, trūkstamą magistralės priskyrimą teikėjo valdymo skydelyje) ir skambinkite
dar kartą.
5. Priskirkite agentus ir priimkite skambutį
Patvirtinus numerį, įeinančiųjų ir išeinančiųjų skambučių agentus priskirkite taip pat, kaip ThunderPhone numeriui. Žr. Įeinančiųjų skambučių tvarkymas ir Išeinančiųjų skambučių atlikimas.
Prisijungimo duomenų keitimas
Pasikeitus teikėjo raktui, pakartokite tikrinimo ir atnaujinimo procesą:
# 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 lieka vietoje — numerių iš naujo importuoti nereikia.