Open in
Vykdykite išeinančius skambučius (API)
Iš savo kodo inicijuokite DI valdomą išeinantį skambutį – apklausos, tolesnio susisiekimo ar patvirtinimo scenarijams.
Skambinimas į išorę leidžia perduoti paskirties numerį ir agento konfigūraciją ThunderPhone, kad DI atliktų skambutį jūsų vardu. Įprasti naudojimo atvejai:
- Vizitų patvirtinimai
- Pakartotiniai skambučiai apklausoms
- Pakartotiniai bandymai po praleisto skambučio
- Pranešimai pagal dispečerinį modelį
Būtinosios sąlygos
- Pasirinkite numerį, įgalintą skambučiams į išorę
Naudokite numerį, kurį turite per VoIP ryšį, arba paprašykite leidimo naudoti savo ThunderPhone numerius skambučiams į išorę puslapyje Phone Numbers. ThunderPhone numeriai iš pradžių skirti tik įeinantiems skambučiams. ThunderPhone kiekvieną užklausą peržiūri rankiniu būdu; ją patvirtinus, šiais numeriais galima skambinti iki patvirtinto dienos limito (jis atnaujinamas 00:00 UTC) ir vykdyti kampanijas, o jūs galite prašyti didesnio limito. Klientų VoIP numeriams dienos limitas netaikomas, todėl rekomenduojame juos naudoti skambučiams į išorę. Žr. Naudokite savo numerius.
- Sukurkite agentą
Skambučiams į išorę pritaikytas raginimas paprastai prasideda tuo, kad agentas prisistato ir nurodo savo paskirtį — „Sveiki, čia Acme, skambiname patvirtinti jūsų rytdienos susitikimą 15 val.…“ Nustatykite
outbound_speak_orderįagent_first(numatytoji reikšmė). - Palaikykite teigiamą balansą
Skambinant į išorę grąžinamas
402 Payment Required, jei balansas yra ≤$0.00. Papildykite balansą arba įjunkite automatinį papildymą skydelio Organizacija → Atsiskaitymo nustatymai skiltyje. Jūsųsk_live_raktas gali patikrinti balansą naudodamasGET /v1/billing, tačiau negali papildyti balanso ar keisti automatinio papildymo nustatymų.
Atlikite skambutį naudodami išsaugotą agentą
Paprasčiausias būdas — nurodyti agentą pagal id:
curl -X POST https://api.thunderphone.com/v1/call \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_number": "+15551234567",
"to_number": "+14155552671",
"agent_id": 12
}'Atsakymas:
{ "call_id": 987654321, "status": "initiated" }Atlikite skambutį su įterptine konfigūracija
Jei norite vienkartinio raginimo, kurio neverta išsaugoti kaip agento,
vietoje to perduokite config. Struktūra atitinka
call.incoming saityno kablio atsakymo schemą:
curl -X POST https://api.thunderphone.com/v1/call \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_number": "+15551234567",
"to_number": "+14155552671",
"config": {
"prompt": "You are confirming Jane Doe appointment for 3pm tomorrow…",
"voice": "john",
"product": "spark"
}
}'Sekite skambutį
Tuo pačiu metu prenumeruokite
telephony.complete žiniatinklio kablį —
greičiausią būdą sužinoti, kad skambutis baigtas. Jei negalite priimti įeinančių
žiniatinklio kablių, kas kelias sekundes tikrinkite GET /v1/calls/{call_id}; įraše
pateikiami end_reason, duration_seconds ir įrašo URL, kai skambutis baigiasi.
Jei jūsų agentas nustatytas išskirti struktūrinius duomenis po skambučio, šie duomenys pateikiami atskirai, kai užbaigimas baigiamas.
Perduokite kiekvieno skambučio kintamuosius išsaugotam agentui
Išsaugoti agentai raginimo tekste gali naudoti vietos rezervavimo ženklus, pvz., {{name}} arba {{name|there}}.
Kai inicijuojate išeinantį skambutį su agent_id, perduokite
variables su to skambučio reikšmėmis:
{
"from_number": "+[REDACTED_PHONE]",
"to_number": "+[REDACTED_PHONE]",
"agent_id": 12,
"variables": {
"name": "Jordan"
}
}Naudokite eilutės reikšmes, kurių raktai atitinka vietos rezervavimo ženklo pavadinimą. Šie kintamieji taikomi
išsaugotiems agentams; šio vadovo įterptiniame config pavyzdyje jie nenaudojami.
Klaidų scenarijai, kuriuos verta apdoroti
| Klaida | Sprendimas |
|---|---|
402 Payment Required | Papildykite balansą arba įjunkite automatinį papildymą |
400 su code: destination_not_allowed | ThunderPhone neskambina šiuo numeriu: pagalbos numeriais, trumpaisiais kodais arba į sankcionuotas šalis. Iš ThunderPhone numerių galima skambinti tik į įprastus JAV ir Kanados numerius (ne padidinto tarifo). reason nurodo, kuris atvejis taikomas; žr. blokuojamos paskirties vietos |
409 su retryable: false ThunderPhone numeriui | Vadovaukitės code: Telefono numerių puslapyje paprašykite įjungti išeinančius skambučius, palaukite vykstančios peržiūros arba naudokite kitą tinkamą numerį |
429 su code: platform_outbound_daily_limit_reached | Organizacija išnaudojo šiandienos iš ThunderPhone numerių atliekamų išeinančių skambučių limitą. Palaukite resets_at (00:00 UTC), Telefono numerių puslapyje paprašykite didesnio limito arba skambinkite iš numerio savo VoIP jungtyje |
429 su code: concurrent_call_limit_reached | Organizacijoje vienu metu vyksta tiek skambučių, kiek leidžia jos vienalaikių skambučių limitas (pagal numatytuosius nustatymus 20, skaičiuojant įeinančius, išeinančius, žiniatinklio ir bandomuosius skambučius). Bandykite dar kartą praėjus Retry-After antraštėje nurodytam sekundžių skaičiui arba pasibaigus skambučiui; norėdami padidinti limitą, rašykite support@thunderphone.com |
429 su code: same_number_too_soon | Tuo pačiu to_number skambinote prieš mažiau nei 10 sekundžių. Bandykite dar kartą praėjus Retry-After antraštėje nurodytam sekundžių skaičiui |
409 su retryable: false kliento VoIP numeriui | Ištaisykite code nurodytą būseną; jei nepavyko patvirtinimas, vykdykite POST /v1/phone-numbers/{id}/verify-voip |
409 idempotentiškumo konfliktas | Pakartotinai naudokite raktą tik su pradine normalizuota užklausa arba siųskite naują raktą |
404 from_number is not registered to this organization | Patvirtinkite, kad from_number atitinka aktyvų telefono numerį jūsų organizacijoje. Šis atsakymas taip pat grąžinamas numeriui, kuris jau ruošiamas, nepavyko, atlaisvinamas arba atlaisvintas |
500 tik su detail lauku | Nesukonfigūruotas išeinančių skambučių magistralinis kanalas. Susisiekite su palaikymo komanda; tai nėra numerio būsenos problema, kurią galite ištaisyti |
502 Bad Gateway | Laikinas SIP / LiveKit sutrikimas; galima saugiai bandyti dar kartą |
Visą nekintantį tinkamumo kodų sąrašą ir abi 409 atsakymo formas rasite
išeinančių skambučių nuorodoje.
Jei aktyvus numeris tampa netinkamas po to, kai užklausa priimama, bet prieš
inicijuojant skambutį, galutinis patikrinimas grąžina nekartotiną 409 naudingąjį krūvį.
Laukimo laiko valdymas
Išeinantys skambučiai, kurie užtrunka, nes skambučio gavėjas lėtai atsako
(IVR meniu medžiai, eilės), gali būti apriboti naudojant max_hold_seconds:
{
"from_number": "+15551234567",
"to_number": "+14155552671",
"agent_id": 12,
"max_hold_seconds": 120
}Agentas nutraukia skambutį, jei per paskutines N sekundes negautas žmogaus balsas. Numatytoji reikšmė yra 900 (15 minučių).
Tolesni veiksmai
Visi užklausos laukai ir klaidų kodai.
Siųskite užbaigtų išeinančių skambučių srautą į savo sistemą.
Įjunkite automatinį papildymą, kad išeinantys skambučiai niekada nepavyktų dėl balanso.
Išbandykite savo išeinančių skambučių agentą bandomuoju režimu prieš diegdami gamybinėje aplinkoje.