Open in
Uskutočňovanie odchádzajúcich hovorov (API)
Spustite odchádzajúci hovor riadený AI z vlastného kódu — pre prieskumy, následné kontaktovanie alebo potvrdzovacie procesy.
Odchádzajúce volania vám umožňujú odovzdať ThunderPhone cieľové číslo a konfiguráciu agenta, aby AI uskutočnila hovor vo vašom mene. Typické prípady použitia:
- Potvrdenia termínov
- Spätné volania v rámci prieskumov
- Následné kontaktovanie na druhý pokus po zmeškanom hovore
- Oznámenia v štýle dispečingu
Predpoklady
- Vyberte číslo s povolenými odchádzajúcimi hovormi
Použite číslo, ktoré vlastníte prostredníctvom pripojenia VoIP, alebo požiadajte o povolenie používať svoje čísla ThunderPhone na odchádzajúce hovory na stránke Telefónne čísla. Čísla ThunderPhone sú spočiatku určené iba pre prichádzajúce hovory. ThunderPhone každú žiadosť posudzuje manuálne; po schválení môžu tieto čísla uskutočňovať hovory do schváleného denného limitu (ktorý sa obnovuje o 00:00 UTC) a spúšťať kampane. Môžete tiež požiadať o vyšší limit. Zákaznícke čísla VoIP nemajú denný limit, preto ich odporúčame na odchádzajúce hovory. Pozrite si Použitie vlastných čísel.
- Vytvorte agenta
Výzva zameraná na odchádzajúce hovory zvyčajne začína tým, že sa hlasový agent predstaví a uvedie svoj účel — „Dobrý deň, tu je Acme, voláme vám, aby sme potvrdili váš zajtrajší termín o 15:00…“ Nastavte
outbound_speak_ordernaagent_first(predvolené nastavenie). - Udržiavajte kladný zostatok
Odchádzajúce hovory vrátia
402 Payment Required, ak je zostatok ≤$0.00. Doplňte zostatok alebo povoľte automatické dobíjanie v sekcii Organizácia → Nastavenia fakturácie na paneli. Váš kľúčsk_live_môže skontrolovať zostatok pomocouGET /v1/billing, ale nemôže doplniť zostatok ani zmeniť automatické dobíjanie.
Uskutočnite hovor s uloženým agentom
Najjednoduchší spôsob — odkážte na agenta podľa 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
}'Odpoveď:
{ "call_id": 987654321, "status": "initiated" }Uskutočnite hovor s vloženou konfiguráciou
Ak chcete jednorazovú výzvu, ktorú sa neoplatí ukladať ako agenta,
namiesto toho odovzdajte config. Štruktúra zodpovedá schéme odpovede webhooku
call.incoming:
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"
}
}'Sledujte hovor
Súbežne sa prihláste na odber
webhooku telephony.complete —
je to najrýchlejší spôsob, ako zistiť, že hovor skončil. Ak nemôžete prijímať prichádzajúce
webhooky, každých niekoľko sekúnd sa dotazujte na GET /v1/calls/{call_id}; záznam po
skončení hovoru obsahuje end_reason, duration_seconds a adresu URL nahrávky.
Ak je váš hlasový agent nastavený na extrakciu štruktúrovaných údajov po hovore, tieto údaje sa doručia samostatne po dokončení finalizácie.
Odovzdávanie premenných pre jednotlivé hovory uloženému agentovi
Uložení agenti môžu v texte promptu používať zástupné symboly ako {{name}} alebo {{name|there}}.
Keď uskutočňujete odchádzajúci hovor s agent_id, odovzdajte variables
s hodnotami pre daný hovor:
{
"from_number": "+[REDACTED_PHONE]",
"to_number": "+[REDACTED_PHONE]",
"agent_id": 12,
"variables": {
"name": "Jordan"
}
}Použite reťazcové hodnoty s kľúčmi podľa názvu zástupného symbolu. Tieto premenné platia pre
uložených agentov; vložený príklad config v tejto príručke ich nepoužíva.
Stavy zlyhania, ktoré sa oplatí ošetriť
| Chyba | Riešenie |
|---|---|
402 Payment Required | Doplňte zostatok alebo povoľte automatické dobíjanie |
400 s code: destination_not_allowed | ThunderPhone na toto číslo nevolá: neplatné čísla, tiesňové čísla, čísla so zvýšenou sadzbou, krátke kódy alebo krajiny so sankciami. Z čísel ThunderPhone možno volať iba na bežné americké a kanadské čísla (nie na čísla so zvýšenou sadzbou). reason uvádza, o ktorý prípad ide; pozrite si blokované destinácie |
409 s retryable: false pre číslo ThunderPhone | Riaďte sa hodnotou code: požiadajte o odchádzajúce volania na stránke Telefónne čísla, počkajte na prebiehajúce posúdenie alebo použite iné oprávnené číslo |
429 s code: platform_outbound_daily_limit_reached | Organizácia už využila dnešný limit odchádzajúcich hovorov z čísel ThunderPhone. Počkajte na resets_at (00:00 UTC), požiadajte o vyšší limit na stránke Telefónne čísla alebo volajte z čísla vo vlastnom pripojení VoIP |
429 s code: concurrent_call_limit_reached | Organizácia má súčasne prebiehajúci maximálny počet hovorov podľa svojho limitu súbežných hovorov (predvolene 20; započítavajú sa prichádzajúce, odchádzajúce, webové a testovacie hovory). Pokus zopakujte po uplynutí počtu sekúnd uvedeného v hlavičke Retry-After alebo po skončení hovoru; pre zvýšenie limitu napíšte na support@thunderphone.com |
429 s code: same_number_too_soon | Na rovnaké to_number ste volali pred menej ako 10 sekundami. Pokus zopakujte po uplynutí počtu sekúnd uvedeného v hlavičke Retry-After |
409 s retryable: false pre zákaznícke číslo VoIP | Opravte stav uvedený v code; pri zlyhaní overenia spustite POST /v1/phone-numbers/{id}/verify-voip |
Konflikt idempotencie 409 | Kľúč znovu použite iba s pôvodnou normalizovanou požiadavkou alebo odošlite nový kľúč |
404 from_number is not registered to this organization | Overte, že from_number zodpovedá aktívnemu telefónnemu číslu vo vašej organizácii. Túto odpoveď vráti aj číslo, ktoré sa už zriaďuje, zlyhalo, uvoľňuje sa alebo bolo uvoľnené |
500 iba s poľom detail | Nie je nakonfigurovaný žiadny odchádzajúci trunk. Kontaktujte podporu; nejde o problém so stavom čísla, ktorý môžete opraviť |
502 Bad Gateway | Dočasné zlyhanie SIP / LiveKit; pokus môžete bezpečne zopakovať |
Úplný stabilný zoznam kódov oprávnenosti a oba formáty odpovede 409 nájdete v
referencii odchádzajúcich hovorov.
Ak aktívne číslo prestane spĺňať podmienky po prijatí požiadavky, ale pred
uskutočnením hovoru, finálna kontrola vráti neopakovateľný obsah odpovede 409.
Riadenie času čakania
Odchádzajúce hovory, ktoré sa predlžujú, pretože volaný reaguje pomaly
(stromy IVR, fronty), môžete obmedziť pomocou max_hold_seconds:
{
"from_number": "+15551234567",
"to_number": "+14155552671",
"agent_id": 12,
"max_hold_seconds": 120
}Agent hovor ukončí, ak za posledných N sekúnd nebol prijatý žiadny ľudský hlasový prejav. Predvolená hodnota je 900 sekúnd (15 minút).
Ďalšie kroky
Každé pole požiadavky a kód chyby.
Odosielajte dokončené odchádzajúce hovory do svojho systému.
Automatické dobíjanie, aby odchádzajúce hovory nikdy nezlyhali pre nedostatok zostatku.
Pred nasadením do produkcie otestujte svojho hlasového agenta pre odchádzajúce hovory nanečisto.