ThunderPhone 2.0 је стигао.Почните самостално, већ од 2 ¢/мин.Прочитајте објаву

Developer cookbook

Упућивање одлазних позива (API)

Покрените одлазни позив који води вештачка интелигенција из сопственог кода — за анкете, накнадне контакте или токове потврде.

Одлазно позивање вам омогућава да ThunderPhone-у проследите одредишни број и конфигурацију агента, а да АИ обави позив у ваше име. Типични случајеви употребе:

  • Потврде термина
  • Повратни позиви за анкете
  • Накнадни контакти „из другог покушаја“ после пропуштеног позива
  • Обавештења у стилу диспечерске службе

Предуслови

  1. Обезбедите VoIP број

    За одлазно позивање потребно је да поседујете from_number преко VoIP везе. ThunderPhone бројеви су само за долазне позиве. Погледајте Користите сопствене бројеве.

  2. Направите агента

    Упит прилагођен одлазним позивима обично почиње тако што се агент представља и наводи своју сврху — „Здраво, овде Acme, зовемо да потврдимо ваш термин сутра у 15 часова…“ Подесите outbound_speak_order на agent_first (подразумевана вредност).

  3. Одржавајте позитивно стање

    Одлазни позиви враћају 402 Payment Required ако је стање ≤ $0.00. Допуните стање путем POST /v1/billing/top-up или омогућите аутоматску допуну.

Обавите позив са сачуваним агентом

Најједноставнији начин — референцирајте агента према 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":   "+14155550199",
    "agent_id":    12
  }'

Одговор:

{ "call_id": 987654321, "status": "initiated" }

Обавите позив са уметнутом конфигурацијом

Ако желите једнократни упит који није вредно сачувати као агента, уместо тога проследите config. Структура одговара шеми одговора за 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":   "+14155550199",
    "config": {
      "prompt":  "You are confirming Jane Doe appointment for 3pm tomorrow…",
      "voice":   "john",
      "product": "spark"
    }
  }'

Пратите позив

Паралелно се претплатите на telephony.complete вебхуку — то је најбржи начин да сазнате да је позив завршен. Ако не можете да примате долазне вебхукове, проверавајте GET /v1/calls/{call_id} сваких неколико секунди; запис садржи end_reason, duration_seconds и URL снимка када се позив заврши.

Грешке које вреди обрадити

ГрешкаРешење
402 Payment RequiredДопуните стање или омогућите аутоматску допуну
403 одлазни позиви блокирани (ThunderPhone број)Уместо тога обезбедите 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 минута).


Следећи кораци