Kõnepõhised muutujad
Isikupärasta salvestatud häälagent iga kõne jaoks, muutmata selle juurutatud prompti, tööriistu ega seadeid.
Paiguta kohatäited oma salvestatud häälagendi viipa, seejärel määra kõne alustamisel objekt variables. Salvestatud konfiguratsioon ja versiooniajalugu jäävad muutmata. ThunderPhone renderdab teksti enne kõne konfiguratsiooni häälekäitusajale saatmist.
Kui väärtusi pole vaja, jäta variables välja; ära saada null (lükatakse tagasi koodiga 400).
Kohatäited ja vaikeväärtused
You are calling {{name|Friend}} about account {{account_id}}.
The available appointment is {{ appointment_slot }}.Nimed on tõstutundlikud ja järgivad mustrit [A-Za-z_][A-Za-z0-9_]*. Nime ümber olevad tühikud on lubatud; tühik pärast märki | on vaikeväärtuse osa ja säilitatakse. {{name|Friend}} kasutab väärtust Friend, kui name puudub või on
null; tühi string on selgesõnaliselt määratud väärtus. Ilma vaikeväärtuseta puuduvad väärtused muutuvad tühjadeks stringideks ja nende nimed kuvatakse väljal unresolved_variables. Topeltsulgude vahel olev tekst, mis ei ole kehtiv kohatäide, eemaldatakse. Iga määratud väärtuse sees olev topeltsulgudes tekst eemaldatakse iseseisvalt; väärtus ei saa eemaldada ümbritsevat viibateksti ega teist väärtust. Eemaldatakse ka paarita topeltsulgude eraldajad. Viipades olevates JSON-i näidetes ei tohi kasutada {{.
Väärtused on lihttekst ja neid ei käivitata kunagi koodina
ega laiendata rekursiivselt mallidena.
Muutujad võivad esineda ka kinnituse viipades, väljaminevates kõneposti
sõnumites ja nõusolekuteate tekstis, kui see väli telefonikõne jaoks saadetakse. Häälagendil ei ole eraldi välja first_message: lisa selle avamisjuhised viipa. Olemasolevad kõneposti kohatäited {agent_name} ja {org_name}
töötavad edasi.
Väärtused võivad olla stringid, arvud, tõeväärtused või null; tõeväärtused renderdatakse kujul true
ja false. Unicode'i juhtmärgid (Cc) peale reavahetuse (\n), tabeldusmärgi (\t)
ja reavahetuse (\r), kõik vormindusmärgid (Cf) ning asenduskoodipunktid (Cs)
eemaldatakse; \r\n normaliseeritakse väärtuseks \n. Iga väärtus
on renderdamisel piiratud 2 000 märgiga. Määratud stringid puhastatakse ja
kärbitakse samuti enne salvestamist. Algne objekt peab mahtuma 32 KB UTF-8 JSON-i; suuremad objektid saavad kõne/seansi päringutes vastuseks 400, samas kui
kampaaniate importimisel teatatakse vigastest ridadest eraldi. Massiive ja pesastatud objekte ei
aktsepteerita väärtustena. Mittevastavad metaandmete võtmed (näiteks tühikuga CSV-päis) säilitatakse ja tagastatakse, kuid neile ei saa kohatäitega viidata.
Kust väärtused pärinevad
Väljamineva kõne API
Saada variables koos agent_id-ga päringus 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"
}
}See toimib ka telefoninumbri vaikimisi väljaminevate kõnede agendiga või tekstisisese
config.prompt-iga. Idempotentsusvõtit ei saa kasutada uuesti erinevate muutujatega.
Kampaania CSV
Mitte-telefoninumbrite CSV-veerud salvestatakse juba kontaktimuutujatena. Iga valimine
kasutab neid nüüd automaatselt. Kasuta kohatäidetele vastavaid päiseid, näiteks name, account_id ja
appointment_slot. Olemasolev nime vastendus saab ühendada ees- ja perekonnanime veerud muutujaks name.
Dünaamilise konfiguratsiooni webhook
Blokeerival konfiguratsiooni webhooki teel tagasta oma organisatsiooni salvestatud agent koos kõnepõhiste väärtustega:
{"agent_id": 12, "variables": {"name": "Ada", "account_id": "A-17"}}Vastuse võtmed kirjutavad üle päringutaseme muutujad, samal ajal kui muud päringu
võtmed jäävad alles. Vastuse väärtus null valib kohatäite vaikimisi väärtuse.
Ühendatud objekt peab samuti mahtuma 32 KB sisse. Salvestatud agendi vastused aktsepteerivad ainult
agent_id ja variables; tagasta tekstisisene konfiguratsioon, kui pead asendama viipa või seaded. Vastus, mis sisaldab prompt, kasutab alati tekstisisest
konfiguratsiooni: selles vastuses olevat agent_id eiratakse, sealhulgas nulli või
mitte-täisarvuliste metaandmete korral. Tekstisisene viip peab endiselt läbima tavapärase valideerimise.
Tekstisisesed webhooki vastused võivad samuti sisaldada variables. Salvestatud agendi webhooki
vastused kasutavad agendi juurutatud A/B-jaotust nii telefoni- kui vidinakõnede puhul;
muutujad renderdatakse pärast variandi valimist. Sissetulevate telefonikõnede puhul kasuta numbrit, millele pole määratud sissetulevate kõnede
agenti, ning seadista selle telefoninumbri või organisatsiooni webhook; vidina võtmed kasutavad
mode="webhook". Lõpp-punkti süsteemi sissetulevad teavitused ei paku blokeeriva
konfiguratsiooni vastuseid.
Vidina ja Realtime'i seansi API-d
POST /v1/widget/session aktsepteerib tipptasemel objekti variables. Selle avaldatav
võti valib salvestatud agendi. Webhooki režiimi võtmed edastavad need väärtused
konfiguratsiooni webhookile ja ühendavad vastuse eespool kirjeldatud viisil.
Brauseri saadetud vidina/Realtime'i variables on kliendi kontrollitavad, edastatakse
pärast eespool kirjeldatud valideerimist ja stringide puhastamist muutmata kujul sündmuses web.incoming
ning kajastatakse lõpetamise webhookides ja kõneajaloos. Ära käsitle neid
usaldusväärsete identiteedi- või autoriseerimisandmetena.
POST /v1/realtime/sessions aktsepteerib variables koos agent_id-ga (või tekstisisese
config-iga). Need on seansi loomise API väljad. Realtime'i WebSocketi
sild ei edasta muutujate valikut; edasta see otse
seansi loomise API-le. Vidina kliendid peavad lisama variables postitatud
seansi koormasse; SDK edastamine ei kuulu selle API muudatuse alla. Builderi mikrofoni- ja simuleeritud
testkõned lahendavad vaikimisi väärtused ja puuduvad kohatäited, kuid neil puudub kõnepõhiste
muutujate sisend.
Pärast kõnet tagastatavad väärtused
GET /v1/calls, GET /v1/calls/{call_id}, telephony.complete ja web.complete sisaldavad
lõplikke ühendatud variables ja unresolved_variables. Pärand-lõpetamise koormad,
mis sisaldavad data.history, sisaldavad neid samuti:
{
"variables": {"name": "Ada", "account_id": "A-17"},
"unresolved_variables": ["appointment_slot"]
}Salvesta oma CRM-i või ülesande identifikaator muutujate objekti, et ühendada lõpetatud kõne tagasi selle lähtekirjega. Need väljad säilitatakse koos kõnekirjega; saada ainult teavet, mida on sobiv säilitada kõneajaloos ja webhookides.
Ühilduvus olemasolevate promptidega
Renderdamist rakendatakse ka olemasolevatele salvestatud agentide ja A/B-variantide promptidele, reasisestele
väljaminevatele ja reaalajas konfiguratsioonidele ning konfiguratsiooni veebikonksude tagastatud promptidele. Tundmatud
{{name}} kohatäited muutuvad tühjaks tekstiks isegi siis, kui variables pole määratud. Kontrolli enne juurutamist olemasolevaid prompte, sealhulgas väliselt edastatud reasiseseid/veebikonksu prompte, mida ThunderPhone ei saa inventeerida.
Builderi mikrofoni- ja simulatsioonikõnedes rakendatakse sama vaike-/tühikäitumist.