Vykdykite išeinančius skambučius (API)

Skambinimas į išorę leidžia perduoti ThunderPhone paskirties numerį ir agento konfigūraciją, kad balso agentas atliktų skambutį jūsų vardu. Įprasti naudojimo atvejai:

Būtinos sąlygos

  1. Pateikite VoIP numerį

    Norint skambinti į išorę, jums turi priklausyti from_number per VoIP ryšį. Demonstraciniai numeriai skirti tik įeinantiems skambučiams. Žr. Naudokite savo numerius.

  2. Sukurkite agentą

    Išeinantiems skambučiams pritaikyta instrukcija paprastai prasideda tuo, kad agentas prisistato ir nurodo savo tikslą — „Sveiki, čia Acme, skambiname patvirtinti jūsų rytdienos susitikimą 15 val.…“ Nustatykite outbound_speak_order į agent_first (numatytoji reikšmė).

  3. Palaikykite teigiamą balansą

    Skambinant į išorę grąžinama 402 Payment Required, jei balansas yra ≤ $0.00. Papildykite balansą naudodami POST /v1/billing/top-up arba įjunkite automatinį papildymą.

Atlikite skambutį su išsaugotu agentu

Paprasčiausias būdas — nurodyti agentą pagal identifikatorių:

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

Atsakymas:

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

Atlikite skambutį su įterptine konfigūracija

Jei norite vienkartinės instrukcijos, kurios neverta išsaugoti kaip agento, vietoj to perduokite config. Struktūra atitinka call.incoming webhook 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":   "+14155550199",
    "config": {
      "prompt":  "You are confirming Jane Doe appointment for 3pm tomorrow…",
      "voice":   "john",
      "product": "spark"
    }
  }'

Stebėkite skambutį

Tuo pat metu užsiprenumeruokite telephony.complete webhook — tai greičiausias būdas sužinoti, kad skambutis baigtas. Jei negalite priimti įeinančių webhook užklausų, tikrinkite GET /v1/calls/{call_id} kas kelias sekundes; įraše pateikiami end_reason, duration_seconds ir įrašo URL, kai skambutis baigiasi.

Klaidos būsenos, kurias verta apdoroti

KlaidaSprendimas
402 Payment RequiredPapildykite balansą arba įjunkite automatinį papildymą
403 skambinimas į išorę blokuojamas (demonstracinis numeris)Vietoj to pateikite VoIP numerį
403 skambinimas į išorę blokuojamas (nepatvirtintas VoIP)Paleiskite POST /v1/phone-numbers/{id}/verify-voip
404 from_number is not registered to this organizationPatvirtinkite, kad from_number atitinka jums priklausantį telefono numerį
502 Bad GatewayLaikinas SIP / LiveKit sutrikimas; saugu bandyti dar kartą

Valdymas laukimo laiku

Ilgai trunkantiems išeinantiems skambučiams, kai atsiliepiantis asmuo lėtai reaguoja (IVR medžiai, eilės), galima nustatyti ribą naudojant max_hold_seconds:

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

Agentas nutraukia skambutį, jei per paskutines N sekundžių nebuvo gauta žmogaus garso. Numatytoji reikšmė yra 900 (15 minučių).


Tolesni veiksmai