Kintamieji kiekvienam skambučiui
Pritaikykite išsaugotą agentą kiekvienam skambučiui nekeisdami jo įdiegtos užklausos, įrankių ar nustatymų.
Į išsaugoto agento raginimą įtraukite vietos žymas, tada pradėdami skambutį pateikite variables
objektą. Išsaugota konfigūracija ir versijų istorija nesikeičia. Prieš siųsdamas skambučio konfigūraciją
į balso vykdymo aplinką, ThunderPhone sugeneruoja tekstą.
Kai reikšmių nereikia, praleiskite variables, nesiųskite null (atmetama su 400).
Vietos žymos ir numatytosios reikšmės
You are calling {{name|Friend}} about account {{account_id}}.
The available appointment is {{ appointment_slot }}.Pavadinimuose skiriamos didžiosios ir mažosios raidės, jie turi atitikti [A-Za-z_][A-Za-z0-9_]*. Tarpai aplink
pavadinimą leidžiami; tarpas po | yra numatytosios reikšmės dalis ir yra
išsaugomas. {{name|Friend}} naudoja Friend, kai trūksta name arba jo reikšmė yra
null; tuščia eilutė yra aiškiai pateikta reikšmė. Trūkstamos reikšmės be
numatytosios reikšmės tampa tuščiomis eilutėmis, o jų pavadinimai rodomi unresolved_variables.
Tekstas tarp dvigubų riestinių skliaustų, kuris nėra tinkama vietos žyma, pašalinamas. Tekstas su dvigubais
riestiniais skliaustais kiekvienoje pateiktoje reikšmėje pašalinamas atskirai; reikšmė negali pašalinti
aplinkinio raginimo teksto ar kitos reikšmės. Nesutampantys dvigubų riestinių skliaustų skyrikliai taip pat
pašalinami. JSON pavyzdžiuose raginimuose negalima naudoti {{.
Reikšmės yra paprastas tekstas, niekada nevykdomos
kaip kodas ir rekursyviai neišplečiamos kaip šablonai.
Kintamieji taip pat gali būti naudojami patvirtinimo raginimuose, siunčiamuose balso pašto
pranešimuose ir sutikimo pranešimo tekste, kai šis laukas siunčiamas
telefoniniam skambučiui. Agentas neturi atskiro first_message lauko: pradinius jo nurodymus įrašykite
į raginimą. Esamos balso pašto vietos žymos {agent_name} ir {org_name}
toliau veikia.
Reikšmės gali būti eilutės, skaičiai, loginės reikšmės arba null; loginės reikšmės pateikiamos kaip true
ir false. Unicode valdymo (Cc) simboliai, išskyrus naujos eilutės (\n), tabuliacijos (\t)
ir vežimėlio grąžos (\r) simbolius, visi formatavimo (Cf) simboliai ir pakaitiniai (Cs)
kodo taškai pašalinami; \r\n normalizuojamas į \n. Kiekvienos reikšmės ilgis
pateikiant ribojamas iki 2 000 simbolių. Pateiktos eilutės taip pat išvalomos ir
sutrumpinamos prieš išsaugojimą. Pradinis objektas turi tilpti į 32 KB UTF-8 JSON; didesni objektai gauna 400
skambučio ir sesijos užklausose, o kampanijų importavimas atskirai nurodo netinkamas eilutes. Masyvai ir įdėtieji objektai nėra
priimami kaip reikšmės. Neatitinkantys metaduomenų raktai (pavyzdžiui, CSV antraštė su
tarpu) išsaugomi ir grąžinami, tačiau į juos negalima nurodyti vietos žyma.
Iš kur gaunamos reikšmės
Išeinančių skambučių API
Siųskite variables kartu su agent_id per 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"
}
}Tai taip pat veikia su numatytuoju telefono numerio išeinančių skambučių agentu arba su įterptine
config.prompt. Idempotentiškumo rakto negalima pakartotinai naudoti su skirtingais kintamaisiais.
Kampanijos CSV
Ne telefono CSV stulpeliai jau saugomi kaip kontaktų kintamieji. Kiekvienas rinkimas dabar
juos naudoja automatiškai. Naudokite antraštes, pvz., name, account_id ir
appointment_slot, kad jos atitiktų jūsų vietos rezervavimo ženklus. Esamas vardo susiejimas gali
sujungti vardo ir pavardės stulpelius į kintamąjį name.
Dinaminės konfigūracijos žiniatinklio kabliukas
Blokuojančios konfigūracijos žiniatinklio kabliuko kelyje grąžinkite išsaugotą agentą savo organizacijoje ir visas konkretaus skambučio reikšmes:
{"agent_id": 12, "variables": {"name": "Ada", "account_id": "A-17"}}Atsakymo raktai perrašo užklausos lygio kintamuosius, o kiti užklausos
raktai išlieka. Atsakymo reikšmė null parenka numatytąją vietos rezervavimo ženklo reikšmę.
Sujungtas objektas taip pat turi tilpti į 32 KB. Išsaugoto agento atsakymai priima tik
agent_id ir variables; grąžinkite įterptinę konfigūraciją, kai reikia
pakeisti raginimą ar nustatymus. Atsakymas, kuriame yra prompt, visada naudoja įterptinę
konfigūraciją: bet koks tame atsakyme esantis agent_id ignoruojamas, įskaitant null arba
ne sveikojo skaičiaus metaduomenis. Įterptinis raginimas vis tiek turi atitikti įprastą tikrinimą.
Įterptiniai žiniatinklio kabliuko atsakymai taip pat gali apimti variables. Išsaugoto agento žiniatinklio kabliuko
atsakymai naudoja įdiegtą agento A/B paskirstymą tiek telefono, tiek valdiklio skambučiams;
kintamieji pateikiami pasirinkus variantą. Gaunamiems telefono skambučiams naudokite numerį be priskirto gaunamų skambučių
agento ir sukonfigūruokite jo telefono numerio arba organizacijos žiniatinklio kabliuką; valdiklio raktai naudoja
mode="webhook". Galinio taško sistemos gaunami pranešimai nepateikia blokuojančių
konfigūracijos atsakymų.
Valdiklio ir Realtime sesijų API
POST /v1/widget/session priima aukščiausio lygio variables objektą. Jo publikuojamas
raktas parenka išsaugotą agentą. Žiniatinklio kabliuko režimo raktai persiunčia šias reikšmes į
konfigūracijos žiniatinklio kabliuką ir sujungia atsakymą, kaip aprašyta aukščiau.
Naršyklės pateikti valdiklio ir Realtime variables yra valdomi kliento, persiunčiami
nepakeisti į web.incoming po pirmiau aprašyto tikrinimo ir eilučių išvalymo bei
įtraukiami į užbaigimo žiniatinklio kabliukus ir skambučių istoriją. Nelaikykite jų
patikimais tapatybės ar autorizavimo duomenimis.
POST /v1/realtime/sessions priima variables kartu su agent_id (arba įterptine
config). Tai yra sesijos kūrimo API laukai. Realtime WebSocket
tarpininkas neperduoda kintamųjų parinkties; pateikite ją tiesiogiai
sesijos kūrimo API. Valdiklio klientai turi įtraukti variables į siunčiamą
sesijos apkrovą; SDK persiuntimas nėra šio API pakeitimo dalis. Konstruktoriaus mikrofono ir imituoti
bandomieji skambučiai nustato numatytąsias ir trūkstamas vietos rezervavimo ženklų reikšmes, tačiau neturi konkretaus skambučio
kintamųjų įvesties.
Reikšmės, grąžinamos po skambučio
GET /v1/calls, GET /v1/calls/{call_id}, telephony.complete ir web.complete apima galutinius
sujungtus variables ir unresolved_variables. Senesnės užbaigimo apkrovos,
kuriose yra data.history, taip pat juos apima:
{
"variables": {"name": "Ada", "account_id": "A-17"},
"unresolved_variables": ["appointment_slot"]
}Saugokite savo CRM arba užduoties identifikatorių kintamųjų objekte, kad galėtumėte susieti užbaigtą skambutį su jo šaltinio įrašu. Šie laukai išsaugomi kartu su skambučio įrašu; siųskite tik informaciją, kurią tinkama saugoti skambučių istorijoje ir žiniatinklio kabliukuose.
Suderinamumas su esamais raginimais
Atvaizdavimas taip pat taikomas esamiems išsaugoto agento ir A/B varianto raginimams, tiesioginėms siunčiamųjų skambučių ir realiojo laiko konfigūracijoms bei raginimams, grąžinamiems per konfigūracijos žiniatinklio kabliukus. Nežinomos {{name}} vietos žymos tampa tuščiu tekstu, net kai nepateikiama jokių variables. Prieš diegdami patikrinkite esamus raginimus, įskaitant išoriškai pateiktus tiesioginius / žiniatinklio kabliukų raginimus, kurių ThunderPhone negali inventorizuoti. Kūrimo priemonės mikrofono ir simuliacijos skambučiams taikomas toks pat numatytasis / tuščias elgesys.