ThunderPhone 2.0 ir klāt.Sāciet uzreiz — no 2 centiem minūtē.Lasīt paziņojumu

Developer cookbook

Mainīgie katram zvanam

Personalizējiet saglabātu balss aģentu katram zvanam, nemainot tā izvietoto uzvedni, rīkus vai iestatījumus.

Ievietojiet vietturus sava saglabātā balss aģenta uzvednē, pēc tam, sākot zvanu, norādiet objektu variables. Saglabātā konfigurācija un versiju vēsture paliek nemainīga. ThunderPhone atveido tekstu pirms zvana konfigurācijas nosūtīšanas uz balss izpildlaiku.

Ja vērtības nav nepieciešamas, izlaidiet variables; nesūtiet null (tiek noraidīts ar 400).

Vietturi un noklusējuma vērtības

You are calling {{name|Friend}} about account {{account_id}}.
The available appointment is {{ appointment_slot }}.

Nosaukumi ir reģistrjutīgi un atbilst [A-Za-z_][A-Za-z0-9_]*. Atstarpes ap nosaukumu ir atļautas; atstarpe pēc | ir noklusējuma vērtības daļa un tiek saglabāta. {{name|Friend}} izmanto Friend, ja name nav norādīts vai ir null; tukša virkne ir skaidri norādīta vērtība. Trūkstošās vērtības bez noklusējuma vērtības kļūst par tukšām virknēm, un to nosaukumi tiek parādīti unresolved_variables. Teksts starp divkāršajām figūriekavām, kas nav derīgs vietturis, tiek noņemts. Divkāršajās figūriekavās ietvertais teksts katrā norādītajā vērtībā tiek noņemts neatkarīgi; vērtība nevar noņemt apkārtējo uzvednes tekstu vai citu vērtību. Tiek noņemti arī nesaskaņoti divkāršo figūriekavu atdalītāji. JSON piemēros uzvednēs nedrīkst izmantot {{. Vērtības ir vienkāršs teksts, tās nekad netiek izpildītas kā kods vai rekursīvi izvērstas kā veidnes.

Mainīgie var būt arī apstiprinājuma uzvednēs, izejošo balss pasta ziņojumos un piekrišanas paziņojuma tekstā, ja šis lauks tiek nosūtīts tālruņa zvanam. Aģentam nav atsevišķa lauka first_message: tā sākuma norādījumus ievietojiet uzvednē. Esošie balss pasta vietturi {agent_name} un {org_name} turpina darboties.

Vērtības var būt virknes, skaitļi, Būla vērtības vai null; Būla vērtības tiek atveidotas kā true un false. Unicode vadības (Cc) rakstzīmes, izņemot jauno rindu (\n), tabulāciju (\t) un rindas atgriezi (\r), visas formāta (Cf) rakstzīmes un aizstājējzīmes (Cs) koda punkti tiek noņemti; \r\n tiek normalizēts uz \n. Katra vērtība atveidošanas laikā ir ierobežota līdz 2 000 rakstzīmēm. Norādītās virknes tiek notīrītas un saīsinātas arī pirms glabāšanas. Sākotnējam objektam jāietilpst 32 KB UTF-8 JSON datu; lielāki objekti zvana/session pieprasījumos saņem 400, savukārt kampaņu importēšanā nederīgās rindas tiek ziņotas atsevišķi. Masīvi un ligzdoti objekti netiek pieņemti kā vērtības. Neatbilstošas metadatu atslēgas (piemēram, CSV galvene ar atstarpi) tiek saglabātas un atgrieztas, bet uz tām nevar atsaukties ar vietturi.

No kurienes tiek iegūtas vērtības

Izejošā API

Nosūtiet variables kopā ar agent_id pie POST /v1/call:

{
  "from_number": "+15551234567",
  "to_number": "+14155550199",
  "agent_id": 12,
  "variables": {
    "name": "Ada",
    "account_id": "A-17",
    "appointment_slot": "Tuesday at 10 AM"
  }
}

Tas darbojas arī ar tālruņa numura noklusējuma izejošo balss aģentu vai ar iekļautu config.prompt. Idempotences atslēgu nevar izmantot atkārtoti ar atšķirīgiem mainīgajiem.

Kampaņas CSV

CSV kolonnas, kas nav tālruņa numuri, jau tiek saglabātas kā kontaktpersonas mainīgie. Katrs zvans tagad tos izmanto automātiski. Izmantojiet galvenes, piemēram, name, account_id un appointment_slot, lai tās atbilstu jūsu vietturiem. Esošā vārda kartēšana var apvienot vārda un uzvārda kolonnas mainīgajā name.

Dinamiskās konfigurācijas tīmekļa aizķere

Bloķējošās konfigurācijas tīmekļa aizķeres ceļā atgrieziet jūsu organizācijā saglabātu balss aģentu kopā ar katra zvana vērtībām:

{"agent_id": 12, "variables": {"name": "Ada", "account_id": "A-17"}}

Atbildes atslēgas pārraksta pieprasījuma līmeņa mainīgos, bet pārējās pieprasījuma atslēgas paliek nemainītas. Atbildes vērtība null atlasa viettura noklusējuma vērtību. Apvienotajam objektam arī jāietilpst 32 KB. Saglabāta balss aģenta atbildes pieņem tikai agent_id un variables; atgrieziet iekļautu konfigurāciju, ja jāaizstāj uzvedne vai iestatījumi. Atbilde, kurā ir prompt, vienmēr izmanto iekļautu konfigurāciju: jebkurš agent_id šajā atbildē tiek ignorēts, tostarp nulles vai neveselu skaitļu metadati. Iekļautajai uzvednei joprojām jāiztur parastā validācija. Iekļautās tīmekļa aizķeres atbildēs var būt arī variables. Saglabāta balss aģenta tīmekļa aizķeres atbildes izmanto balss aģenta izvietoto A/B sadalījumu gan tālruņa, gan logrīka zvaniem; mainīgie tiek atveidoti pēc varianta atlases. Ienākošajiem tālruņa zvaniem izmantojiet numuru bez piešķirta ienākošā balss aģenta un konfigurējiet tā tālruņa numura vai organizācijas tīmekļa aizķeri; logrīka atslēgās izmantojiet mode="webhook". Galapunktu sistēmas ienākošie paziņojumi nenodrošina bloķējošas konfigurācijas atbildes.

Logrīka un Realtime sesiju API

POST /v1/widget/session pieņem augstākā līmeņa variables objektu. Tā publicējamā atslēga atlasa saglabāto balss aģentu. Tīmekļa aizķeres režīma atslēgas pārsūta šīs vērtības uz konfigurācijas tīmekļa aizķeri un apvieno atbildi, kā aprakstīts iepriekš. Pārlūka nodrošinātie logrīka/reāllaika variables ir klienta kontrolēti, pēc iepriekš aprakstītās validācijas un virkņu tīrīšanas tiek pārsūtīti burtiski web.incoming notikumā un tiek atspoguļoti pabeigšanas tīmekļa aizķerēs un zvanu vēsturē. Neuzskatiet tos par uzticamiem identitātes vai autorizācijas datiem.

POST /v1/realtime/sessions pieņem variables kopā ar agent_id (vai iekļautu config). Tie ir sesijas izveides API lauki. Realtime WebSocket tilts nepārsūta mainīgo opciju; norādiet to tieši sesijas izveides API. Logrīka klientiem jāiekļauj variables nosūtītajā sesijas kravā; SDK pārsūtīšana nav daļa no šīs API izmaiņas. Builder mikrofona un simulētie testa zvani atrisina noklusējuma vērtības un trūkstošos vietturus, bet tiem nav katra zvana mainīgo ievades.

Vērtības, kas tiek atgrieztas pēc zvana

GET /v1/calls, GET /v1/calls/{call_id}, telephony.complete un web.complete ietver galīgos apvienotos variables un unresolved_variables. Mantotās pabeigšanas kravas, kurās ir data.history, tās arī ietver:

{
  "variables": {"name": "Ada", "account_id": "A-17"},
  "unresolved_variables": ["appointment_slot"]
}

Saglabājiet savu CRM vai uzdevuma identifikatoru mainīgo objektā, lai pabeigto zvanu saistītu atpakaļ ar tā avota ierakstu. Šie lauki tiek saglabāti kopā ar zvana ierakstu; nosūtiet tikai tādu informāciju, ko ir pieņemami saglabāt zvanu vēsturē un tīmekļa aizķerēs.

Saderība ar esošajām uzvednēm

Atveidošana attiecas arī uz esošajām saglabāto aģentu un A/B variantu uzvednēm, iekļautajām izejošo un reāllaika konfigurācijām, kā arī uzvednēm, kas tiek atgrieztas no konfigurācijas tīmekļa aizķerēm. Nezināmi vietturi {{name}} kļūst par tukšu tekstu pat tad, ja nav norādīti variables. Pirms ieviešanas pārbaudiet esošās uzvednes, tostarp ārēji nodrošinātas iekļautās/tīmekļa aizķeru uzvednes, kuras ThunderPhone nevar inventarizēt. Veidotāja mikrofona un simulācijas zvaniem tiek piemērota tā pati noklusējuma/tukšuma darbība.