ThunderPhone 2.0 ir klāt.Sāciet patstāvīgi — no 2 ¢/min.Lasīt paziņojumu

Developer cookbook

Veiciet izejošos zvanus (API)

Aktivizējiet MI vadītu izejošo zvanu no sava koda — aptaujām, pēcpārbaudei vai apstiprināšanas plūsmām.

Izejošie zvani ļauj nodot ThunderPhone galamērķa numuru un balss aģenta konfigurāciju, lai AI veiktu zvanu jūsu vārdā. Tipiski lietojuma gadījumi:

  • Tikšanās apstiprinājumi
  • Atkārtoti zvani aptaujām
  • Atkārtota saziņa pēc neatbildēta zvana
  • Dispečera tipa paziņojumi

Priekšnosacījumi

  1. Izvēlieties numuru, no kura var veikt izejošos zvanus

    Izmantojiet numuru, kas jums pieder, izmantojot VoIP savienojumu, vai pieprasiet atļauju izmantot savus ThunderPhone numurus izejošajiem zvaniem lapā Phone Numbers. ThunderPhone numuri sākotnēji ir paredzēti tikai ienākošajiem zvaniem. ThunderPhone katru pieprasījumu pārskata manuāli; pēc apstiprināšanas ar šiem numuriem var veikt zvanus līdz apstiprinātajam dienas limitam (tas tiek atiestatīts plkst. 00:00 UTC) un palaist kampaņas, un jūs varat pieprasīt lielāku limitu. Klientu VoIP numuriem nav dienas limita, tāpēc mēs tos iesakām izejošajiem zvaniem. Skatiet Izmantojiet savus numurus.

  2. Izveidojiet aģentu

    Izejošajiem zvaniem pielāgota uzvedne parasti sākas ar to, ka balss aģents nosauc sevi un zvana mērķi — "Labdien, zvana Acme, lai apstiprinātu jūsu rītdienas vizīti plkst. 15.00…" Iestatiet outbound_speak_order uz agent_first (noklusējuma vērtība).

  3. Uzturiet pozitīvu atlikumu

    Izejošie zvani atgriež 402 Payment Required, ja atlikums ir ≤ $0.00. Papildiniet atlikumu vai iespējojiet automātisko papildināšanu sadaļā Organization → Billing Settings informācijas panelī. Jūsu sk_live_ atslēga var pārbaudīt atlikumu ar GET /v1/billing, bet nevar papildināt atlikumu vai mainīt automātisko papildināšanu.

Veiciet zvanu ar saglabātu balss aģentu

Vienkāršākais veids — norādiet balss aģentu pēc 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":   "+14155552671",
    "agent_id":    12
  }'

Atbilde:

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

Veiciet zvanu ar iekļautu konfigurāciju

Ja vēlaties vienreizēju uzvedni, kuru nav vērts saglabāt kā balss aģentu, tā vietā nododiet config. Struktūra atbilst call.incoming tīmekļa āķa atbildes shēmai:

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":   "+14155552671",
    "config": {
      "prompt":  "You are confirming Jane Doe appointment for 3pm tomorrow…",
      "voice":   "john",
      "product": "spark"
    }
  }'

Sekojiet līdzi zvanam

Vienlaikus abonējiet telephony.complete tīmekļa āķi — tas ir ātrākais veids, kā uzzināt, ka zvans ir beidzies. Ja nevarat pieņemt ienākošos tīmekļa āķus, ik pēc dažām sekundēm periodiski pieprasiet GET /v1/calls/{call_id}; ierakstā pēc zvana beigām ir pieejami end_reason, duration_seconds un ieraksta URL.

Ja jūsu balss aģents ir konfigurēts strukturētu datu iegūšanai pēc zvana, šie dati tiek piegādāti atsevišķi pēc pabeigšanas procesa noslēguma.

Nododiet katra zvana mainīgos saglabātam balss aģentam

Saglabātie balss aģenti uzvednes tekstā var izmantot vietturus, piemēram, {{name}} vai {{name|there}}. Veicot izejošo zvanu ar agent_id, nododiet variables ar šī zvana vērtībām:

{
  "from_number": "+[REDACTED_PHONE]",
  "to_number": "+[REDACTED_PHONE]",
  "agent_id": 12,
  "variables": {
    "name": "Jordan"
  }
}

Izmantojiet virkņu vērtības, kuru atslēgas atbilst vietturu nosaukumiem. Šie mainīgie attiecas uz saglabātajiem balss aģentiem; šīs rokasgrāmatas iekļautajā config piemērā tie netiek izmantoti.

Kļūmju režīmi, kurus vērts apstrādāt

KļūdaRisinājums
402 Payment RequiredPapildiniet bilanci vai iespējojiet automātisko papildināšanu
400 ar code: destination_not_allowedThunderPhone nezvana uz šo numuru: nederīgi numuri, ārkārtas palīdzības numuri, paaugstinātas maksas numuri, īsie kodi vai sankcionētu valstu numuri. No ThunderPhone numuriem var zvanīt tikai uz parastajiem ASV un Kanādas numuriem (ne uz paaugstinātas maksas numuriem). reason norāda, kurš no tiem; skatiet bloķētos galamērķus
409 ar retryable: false ThunderPhone numuramRīkojieties atbilstoši code: pieprasiet izejošo zvanu iespēju lapā Tālruņa numuri, gaidiet, līdz tiek pabeigta izskatīšana, vai izmantojiet citu atbilstošu numuru
429 ar code: platform_outbound_daily_limit_reachedOrganizācija ir izmantojusi šodienas izejošo zvanu limitu no ThunderPhone numuriem. Gaidiet līdz resets_at (00:00 UTC), pieprasiet lielāku limitu lapā Tālruņa numuri vai zvaniet no numura savā VoIP savienojumā
429 ar code: concurrent_call_limit_reachedOrganizācijai vienlaikus notiek tik zvanu, cik atļauj tās vienlaicīgo zvanu limits (pēc noklusējuma 20, ieskaitot ienākošos, izejošos, tīmekļa un testa zvanus). Mēģiniet vēlreiz pēc Retry-After galvenē norādītā sekunžu skaita vai pēc zvana beigām; rakstiet uz support@thunderphone.com, lai palielinātu limitu
429 ar code: same_number_too_soonJūs zvanījāt uz to pašu to_number mazāk nekā pirms 10 sekundēm. Mēģiniet vēlreiz pēc Retry-After galvenē norādītā sekunžu skaita
409 ar retryable: false klienta VoIP numuramNovērsiet code norādīto stāvokli; verifikācijas kļūmju gadījumā izpildiet POST /v1/phone-numbers/{id}/verify-voip
409 idempotences konfliktsIzmantojiet atslēgu atkārtoti tikai ar sākotnējo normalizēto pieprasījumu vai nosūtiet jaunu atslēgu
404 from_number is not registered to this organizationPārliecinieties, vai from_number atbilst aktīvam tālruņa numuram jūsu organizācijā. Šo atbildi atgriež arī numurs, kura aktivizēšana jau notiek, ir neizdevusies, tiek atbrīvots vai ir atbrīvots
500 tikai ar lauku detailNav konfigurēts neviens izejošais tranks. Sazinieties ar atbalsta dienestu; tā nav numura stāvokļa problēma, ko varat novērst
502 Bad GatewayPārejoša SIP / LiveKit kļūme; varat droši mēģināt vēlreiz

Skatiet izejošo zvanu atsauci, lai iegūtu pilnu stabilo atbilstības kodu sarakstu un abas 409 atbilžu formas. Ja aktīvs numurs vairs neatbilst prasībām pēc pieprasījuma pieņemšanas, bet pirms zvana veikšanas, galīgā pārbaude atgriež neatkārtojamas 409 atbildes saturu.

Gaidīšanas laika kontrole

Izejošo zvanu ilgumu, kas ieilgst, jo izsauktais abonents reaģē lēni (IVR izvēlnes, rindas), var ierobežot ar max_hold_seconds:

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

Balss aģents pārtrauc zvanu, ja pēdējās N sekundēs nav saņemts cilvēka audio. Noklusējuma vērtība ir 900 sekundes (15 minūtes).


Nākamās darbības