Puhelukohtaiset muuttujat
Mukauta tallennettu agentti jokaista puhelua varten muuttamatta sen julkaistua kehotetta, työkaluja tai asetuksia.
Lisää paikkamerkit tallennetun agenttisi kehotteeseen ja anna sitten variables-
objekti, kun aloitat puhelun. Tallennettu määritys ja versiohistoria pysyvät
muuttumattomina. ThunderPhone renderöi tekstin ennen puhelumäärityksen lähettämistä
puheajoaikaan.
Kun arvoja ei tarvita, jätä variables pois. Älä lähetä arvoa null (hylätään koodilla 400).
Paikkamerkit ja oletusarvot
You are calling {{name|Friend}} about account {{account_id}}.
The available appointment is {{ appointment_slot }}.Nimet erottelevat kirjainkoon ja noudattavat muotoa [A-Za-z_][A-Za-z0-9_]*. Välilyönnit
nimen ympärillä ovat sallittuja; |-merkin jälkeinen välilyönti on osa oletusarvoa ja
säilytetään. {{name|Friend}} käyttää arvoa Friend, kun name puuttuu tai sen arvo on
null; tyhjä merkkijono on nimenomaisesti annettu arvo. Puuttuvat arvot ilman
oletusarvoa muuttuvat tyhjiksi merkkijonoiksi, ja niiden nimet näkyvät kentässä
unresolved_variables. Kaksoisaaltosulkeiden välissä oleva teksti, joka ei ole
kelvollinen paikkamerkki, poistetaan. Kussakin annetussa arvossa olevat
kaksoisaaltosulkeissa olevat tekstit poistetaan itsenäisesti; arvo ei voi poistaa
ympäröivää kehotetekstiä tai toista arvoa. Myös täsmäämättömät kaksoisaaltosulkeiden
erottimet poistetaan. Kehotteissa olevissa JSON-esimerkeissä ei saa käyttää merkintää {{.
Arvot ovat pelkkää tekstiä, eikä niitä koskaan arvioida
koodina tai laajenneta rekursiivisesti malleina.
Muuttujia voi esiintyä myös kuittauskehotteissa, lähtevissä vastaajaviesteissä
ja suostumusilmoituksen tekstissä, kun kyseinen kenttä lähetetään puhelua varten.
Agentilla ei ole erillistä first_message-kenttää: lisää sen aloitusohjeet
kehotteeseen. Nykyiset vastaajaviestin {agent_name}- ja {org_name}-
paikkamerkit toimivat edelleen.
Arvot voivat olla merkkijonoja, numeroita, totuusarvoja tai null; totuusarvot renderöidään arvoina true
ja false. Unicode-ohjausmerkit (Cc) lukuun ottamatta rivinvaihtoa (\n), sarkainta (\t)
ja rivinvaihtopalautusta (\r), kaikki muotoilumerkit (Cf) sekä korvikealueen (Cs)
koodipisteet poistetaan; \r\n normalisoidaan muotoon \n. Kukin arvo
rajoitetaan renderöitäessä 2 000 merkkiin. Annetut merkkijonot myös puhdistetaan ja
katkaistaan ennen tallennusta. Alkuperäisen objektin on mahduttava 32 KB:n
UTF-8 JSON -kokoon; suuremmat objektit palauttavat puhelu-/istuntopyynnöissä koodin 400, kun taas
kampanjatuonnit ilmoittavat virheelliset rivit erikseen. Taulukoita ja sisäkkäisiä objekteja ei
hyväksytä arvoiksi. Metatietoavaimet, jotka eivät vastaa muotoa (esimerkiksi CSV-otsikko, jossa on
välilyönti), säilytetään ja toistetaan, mutta niihin ei voi viitata paikkamerkillä.
Mistä arvot tulevat
Lähtevien puhelujen API
Lähetä variables yhdessä agent_id-kentän kanssa pyynnössä 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"
}
}Tämä toimii myös puhelinnumeron oletuslähtevän puheagentin tai rivinsisäisen
config.prompt-määrityksen kanssa. Idempotenssiavainta ei voi käyttää uudelleen eri muuttujilla.
Kampanjan CSV
Muut kuin puhelinnumeroita sisältävät CSV-sarakkeet tallennetaan jo yhteystietomuuttujina. Jokainen soitto
käyttää niitä nyt automaattisesti. Käytä otsikoita, kuten name, account_id ja
appointment_slot, vastaamaan paikkamerkkejäsi. Nykyinen nimikartoitus voi
yhdistää etu- ja sukunimisarakkeet muuttujaan name.
Dynaamisen määrityksen webhook
Synkronisen määrityswebhookin reitillä palauta organisaatiosi tallennettu agentti sekä puhelukohtaiset arvot:
{"agent_id": 12, "variables": {"name": "Ada", "account_id": "A-17"}}Vastauksen avaimet ylikirjoittavat pyyntötason muuttujat, kun taas muut pyynnön
avaimet säilyvät. Vastauksen arvo null valitsee paikkamerkin oletusarvon.
Yhdistetyn objektin on myös mahduttava 32 KB:iin. Tallennetun agentin vastaukset hyväksyvät vain
agent_id- ja variables-kentät; palauta rivinsisäinen määritys, kun sinun täytyy
korvata kehote tai asetukset. prompt-kentän sisältävä vastaus käyttää aina rivinsisäistä
määritystä: kaikki vastauksessa olevat agent_id-kentät ohitetaan, mukaan lukien null- tai
ei-kokonaislukumuotoiset metatiedot. Rivinsisäisen kehotteen on silti läpäistävä normaali validointi.
Rivinsisäiset webhook-vastaukset voivat sisältää myös variables-kentän. Tallennetun agentin webhook-
vastaukset käyttävät agentin käyttöönotettua A/B-jakoa sekä puhelin- että widget-puheluissa;
muuttujat renderöidään variantin valinnan jälkeen. Saapuvissa puheluissa käytä numeroa, johon ei ole määritetty saapuvien puhelujen
agenttia, ja määritä sen puhelinnumeron tai organisaation webhook; widget-avaimet käyttävät
mode="webhook". Päätepistejärjestelmän saapuvat ilmoitukset eivät tarjoa synkronisia
määritysvastauksia.
Widget- ja Realtime-istuntojen API:t
POST /v1/widget/session hyväksyy ylimmän tason variables-objektin. Sen julkaistava
avain valitsee tallennetun agentin. Webhook-tilan avaimet välittävät nämä arvot
määrityswebhookiin ja yhdistävät vastauksen yllä kuvatulla tavalla.
Selainasiakkaan hallitsemat widget-/realtime-variables-muuttujat välitetään
muuttamattomina kohteessa web.incoming yllä kuvatun validoinnin ja merkkijonojen siivouksen jälkeen,
ja ne toistetaan valmistumiswebhookeihin ja puheluhistoriaan. Älä käsittele niitä
luotettavina identiteetti- tai valtuutustietoina.
POST /v1/realtime/sessions hyväksyy variables-kentän yhdessä agent_id-kentän (tai rivinsisäisen
config-määrityksen) kanssa. Nämä ovat istunnon luonti-API:n kenttiä. Realtime WebSocket
-silta ei välitä variables-vaihtoehtoa; anna se suoraan
istunnon luonti-API:lle. Widget-asiakkaiden on sisällytettävä variables lähetettyyn
istuntopyyntöön; SDK-välitys ei kuulu tähän API-muutokseen. Builderin mikrofonilla tehdyt ja simuloidut
testipuhelut ratkaisevat oletusarvot ja puuttuvat paikkamerkit, mutta niillä ei ole puhelukohtaisten
muuttujien syötettä.
Puhelun jälkeen palautettavat arvot
GET /v1/calls, GET /v1/calls/{call_id}, telephony.complete ja web.complete sisältävät
lopulliset yhdistetyt variables- ja unresolved_variables-kentät. Vanhat valmistumisen hyötykuormat,
jotka sisältävät data.history, sisältävät myös ne:
{
"variables": {"name": "Ada", "account_id": "A-17"},
"unresolved_variables": ["appointment_slot"]
}Tallenna CRM- tai tehtävätunnisteesi muuttujaobjektiin, jotta voit yhdistää valmistuneen puhelun takaisin sen lähdetietueeseen. Nämä kentät säilytetään puhelutietueen yhteydessä; lähetä vain tietoja, jotka on asianmukaista säilyttää puheluhistoriassa ja webhookeissa.
Yhteensopivuus olemassa olevien kehotteiden kanssa
Renderöinti koskee myös olemassa olevia tallennettujen agenttien ja A/B-varianttien kehotteita, upotettuja lähteviä ja reaaliaikaisia määrityksiä sekä määrityswebhookeista palautettuja kehotteita. Tuntemattomat {{name}}-paikkamerkit muuttuvat tyhjäksi tekstiksi, vaikka variables-arvoja ei toimitettaisi. Tarkista olemassa olevat kehotteet ennen käyttöönottoa, mukaan lukien ulkoisesti toimitetut upotetut/webhook-kehotteet, joita ThunderPhone ei voi inventoida. Builderin mikrofonilla tehdyt ja simuloidut puhelut käyttävät samaa oletus-/tyhjäkäyttäytymistä.