Извършвайте изходящи обаждания (API)
Изходящите обаждания ви позволяват да подадете номер на получател и конфигурация на агент към ThunderPhone, а ИИ да осъществи обаждането от ваше име. Типични случаи на употреба:
- Потвърждения на срещи
- Обратни обаждания за анкети
- Последващи обаждания „втори опит“ след пропуснато обаждане
- Известия в стил диспечеризация
Предварителни изисквания
- Осигурете VoIP номер
За изходящи обаждания трябва да притежавате
from_numberчрез VoIP връзка. Демо номерата са само за входящи обаждания. Вижте Използване на собствени номера. - Създайте агент
Подканата за изходящи обаждания обикновено започва с това агентът да се представи и да посочи целта си — „Здравейте, обажда се Acme, за да потвърдим вашата среща за утре в 15:00 ч.…“ Задайте
outbound_speak_orderнаagent_first(по подразбиране). - Поддържайте положителен баланс
Изходящите обаждания връщат
402 Payment Required, ако балансът е ≤$0.00. Заредете средства чрезPOST /v1/billing/top-upили активирайте автоматично презареждане.
Осъществете обаждане със запазен агент
Най-лесният начин — посочете агент чрез идентификатор:
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": "+14155550199",
"agent_id": 12
}'
Отговор:
{ "call_id": 987654321, "status": "initiated" }
Осъществете обаждане с вградена конфигурация
Ако искате еднократна подкана, която не си заслужава да бъде запазена като агент,
подайте вместо това config. Структурата съответства на схемата на отговора на
call.incoming webhook:
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": "+14155550199",
"config": {
"prompt": "You are confirming Jane Doe appointment for 3pm tomorrow…",
"voice": "john",
"product": "spark"
}
}'
Проследете обаждането
Успоредно с това се абонирайте за
telephony.complete webhook —
това е най-бързият начин да разберете, че обаждането е приключило. Ако не можете да приемате входящи
webhook събития, проверявайте GET /v1/calls/{call_id} на всеки няколко секунди; записът
включва end_reason, duration_seconds и URL адреса на записа, след като обаждането приключи.
Грешки, които си струва да обработвате
| Грешка | Решение |
|---|---|
402 Payment Required | Заредете баланс или активирайте автоматично презареждане |
403 изходящите обаждания са блокирани (демо номер) | Вместо това осигурете VoIP номер |
403 изходящите обаждания са блокирани (непотвърден VoIP) | Изпълнете POST /v1/phone-numbers/{id}/verify-voip |
404 from_number is not registered to this organization | Потвърдете, че from_number съответства на телефонен номер, който притежавате |
502 Bad Gateway | Временна грешка в SIP / LiveKit; безопасно е да опитате отново |
Управление на времето на изчакване
Изходящите разговори, които се проточват, защото отсрещната страна отговаря бавно
(IVR дървета, опашки), могат да бъдат ограничени с max_hold_seconds:
{
"from_number": "+15551234567",
"to_number": "+14155550199",
"agent_id": 12,
"max_hold_seconds": 120
}
Агентът прекратява разговора, ако през последните N секунди не е получен човешки звук. Стойността по подразбиране е 900 (15 минути).
Следващи стъпки
Всяко поле на заявката и всеки код за грешка.
Предавайте завършените изходящи разговори към вашата система.
Автоматично зареждане, така че изходящите разговори никога да не се провалят поради недостатъчен баланс.
Извършете пробно изпълнение на изходящия си агент преди продукционна среда.