ThunderPhone 2.0 je tu.Začnite sami, že od 2 ¢/min.Preberite obvestilo

Developer cookbook

Opravljanje odhodnih klicev (API)

Iz lastne kode sprožite odhodni klic z umetno inteligenco – za ankete, nadaljnje korake ali potrditev.

Odhodno klicanje vam omogoča, da ThunderPhone posredujete ciljno številko in konfiguracijo agenta, AI pa v vašem imenu opravi klic. Običajni primeri uporabe:

  • Potrditve terminov
  • Povratni klici za ankete
  • Nadaljnji stiki ob »drugem poskusu« po zgrešenemu klicu
  • Obvestila v slogu dispečerskega sistema

Predpogoji

  1. Zagotovite VoIP-številko

    Za odhodno klicanje morate imeti v lasti from_number prek povezave VoIP. Številke ThunderPhone so samo za dohodne klice. Glejte Uporabite lastne številke.

  2. Ustvarite agenta

    Poziv, prilagojen odhodnim klicem, se običajno začne tako, da se agent predstavi in navede svoj namen — »Pozdravljeni, kliče Acme, da potrdi vaš jutrišnji termin ob 15.00 …« Nastavite outbound_speak_order na agent_first (privzeta vrednost).

  3. Ohranite pozitivno stanje

    Odhodni klici vrnejo 402 Payment Required, če je stanje ≤ $0.00. Dobroimetje napolnite prek POST /v1/billing/top-up ali omogočite samodejno ponovno nalaganje.

Opravite klic s shranjenim agentom

Najpreprostejša možnost — sklicujte se na agenta po ID-ju:

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
  }'

Odgovor:

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

Opravite klic z vgrajeno konfiguracijo

Če želite enkraten poziv, ki ga ni vredno shraniti kot agenta, namesto tega posredujte config. Oblika ustreza shemi odgovora za 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"
    }
  }'

Spremljajte klic

Vzporedno se naročite na telephony.complete webhook — to je najhitrejši način, da izveste, da se je klic končal. Če ne morete sprejemati dohodnih webhookov, vsakih nekaj sekund preverjajte GET /v1/calls/{call_id}; zapis po koncu klica vključuje end_reason, duration_seconds in URL posnetka.

Načini napak, ki jih je vredno obravnavati

NapakaRešitev
402 Payment RequiredNapolnite dobroimetje ali omogočite samodejno ponovno nalaganje
403 odhodno klicanje blokirano (številka ThunderPhone)Namesto tega zagotovite VoIP-številko
403 odhodno klicanje blokirano (nepreverjen VoIP)Zaženite POST /v1/phone-numbers/{id}/verify-voip
404 from_number is not registered to this organizationPotrdite, da se from_number ujema s telefonsko številko, ki je v vaši lasti
502 Bad GatewayPrehodna napaka SIP / LiveKit; ponovni poskus je varen

Nadzor časa čakanja

Odhodne klice, ki trajajo dolgo, ker se klicana oseba počasi odziva (drevesa IVR, čakalne vrste), lahko omejite z max_hold_seconds:

{
  "from_number": "+15551234567",
  "to_number":   "+14155550199",
  "agent_id":    12,
  "max_hold_seconds": 120
}

Agent prekine klic, če v zadnjih N sekundah ni prejel človeškega zvoka. Privzeta vrednost je 900 (15 minut).


Naslednji koraki