ThunderPhone 2.0 jau čia.Viską atlikite savarankiškai – nuo 2 ct/min.Skaityti pranešimą

Developer cookbook

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

Iš savo kodo inicijuokite DI valdomą išeinantį skambutį – apklausų, tolesnių veiksmų ar patvirtinimo srautams.

Išeinantys skambučiai leidžia pateikti ThunderPhone paskirties numerį ir agento konfigūraciją, kad AI atliktų skambutį jūsų vardu. Įprasti naudojimo atvejai:

  • Susitikimų patvirtinimai
  • Pakartotiniai skambučiai apklausoms
  • Pakartotiniai bandymai po praleisto skambučio
  • Pranešimai pagal dispečerinį modelį

Būtinosios sąlygos

  1. Naudokite savo VoIP numerį

    Kad galėtumėte atlikti išeinančius skambučius, turite turėti from_number per VoIP ryšį. ThunderPhone 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, kad patvirtintume jūsų rytojaus susitikimą 15 val.…“ Nustatykite outbound_speak_order į agent_first (numatytąją reikšmę).

  3. Išlaikykite teigiamą balansą

    Išeinantys skambučiai grąžina 402 Payment Required, jei balansas yra ≤ $0.00. Papildykite balansą per POST /v1/billing/top-up arba įjunkite automatinį papildymą.

Atlikite skambutį naudodami išsaugotą agentą

Paprasčiausias būdas — nurodyti agentą pagal 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
  }'

Atsakymas:

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

Atlikite skambutį su įterpta konfigūracija

Jei norite naudoti vienkartinę instrukciją, kurios neverta išsaugoti kaip agento, vietoj to pateikite config. Forma atitinka call.incoming žiniatinklio kabliuko atsako 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į

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

Klaidos, kurias verta apdoroti

KlaidaSprendimas
402 Payment RequiredPapildykite balansą arba įjunkite automatinį papildymą
403 išeinantys skambučiai blokuojami (ThunderPhone numeris)Vietoj to naudokite VoIP numerį
403 išeinantys skambučiai blokuojami (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; galima saugiai bandyti dar kartą

Valdymas laukimo trukme

Ilgi išeinantys skambučiai, kai abonentas lėtai atsako (IVR medžiai, eilės), gali būti apriboti naudojant max_hold_seconds:

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

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


Kiti veiksmai