ഓരോ കോളിലുമുള്ള വേരിയബിളുകൾ
ഡിപ്ലോയ് ചെയ്ത prompt, ടൂളുകൾ, അല്ലെങ്കിൽ ക്രമീകരണങ്ങൾ മാറ്റാതെ ഓരോ കോളിനും സേവ് ചെയ്ത ഏജന്റിനെ വ്യക്തിഗതമാക്കുക.
നിങ്ങളുടെ സേവ് ചെയ്ത ഏജന്റിന്റെ prompt-ൽ പ്ലേസ്ഹോൾഡറുകൾ ചേർക്കുക, തുടർന്ന് ഒരു കോൾ ആരംഭിക്കുമ്പോൾ variables
ഒബ്ജക്റ്റ് നൽകുക. സേവ് ചെയ്ത കോൺഫിഗറേഷനും പതിപ്പ് ചരിത്രവും മാറ്റമില്ലാതെ
തുടരും. കോൾ കോൺഫിഗറേഷൻ വോയ്സ് റൺടൈമിലേക്ക് അയയ്ക്കുന്നതിന് മുമ്പ് ThunderPhone ടെക്സ്റ്റ് റെൻഡർ ചെയ്യുന്നു.
മൂല്യങ്ങളൊന്നും ആവശ്യമില്ലാത്തപ്പോൾ variables ഒഴിവാക്കുക; null അയയ്ക്കരുത് (400 ഉപയോഗിച്ച് നിരസിക്കപ്പെടും).
പ്ലേസ്ഹോൾഡറുകളും ഡിഫോൾട്ടുകളും
You are calling {{name|Friend}} about account {{account_id}}.
The available appointment is {{ appointment_slot }}.പേരുകൾ കേസ്-സെൻസിറ്റീവാണ്, കൂടാതെ [A-Za-z_][A-Za-z0-9_]* പിന്തുടരുന്നു. പേരിന് ചുറ്റുമുള്ള
വൈറ്റ്സ്പേസ് അനുവദനീയമാണ്; |-ന് ശേഷമുള്ള വൈറ്റ്സ്പേസ് ഡിഫോൾട്ടിന്റെ ഭാഗമാണ്, അത്
നിലനിർത്തപ്പെടും. name ഇല്ലാതെയോ null ആയിരിക്കുമ്പോഴോ {{name|Friend}}, Friend ഉപയോഗിക്കുന്നു;
ഒരു ശൂന്യ സ്ട്രിംഗ് വ്യക്തമായി നൽകിയ മൂല്യമാണ്. ഡിഫോൾട്ടില്ലാത്ത നഷ്ടമായ മൂല്യങ്ങൾ
ശൂന്യ സ്ട്രിംഗുകളാകുന്നു, അവയുടെ പേരുകൾ unresolved_variables-ൽ ദൃശ്യമാകും.
സാധുവായ പ്ലേസ്ഹോൾഡറല്ലാത്ത ഇരട്ട ബ്രേസുകൾക്കിടയിലുള്ള ടെക്സ്റ്റ് നീക്കംചെയ്യപ്പെടും. നൽകിയ ഓരോ മൂല്യത്തിനുള്ളിലുമുള്ള
ഇരട്ട-ബ്രേസ്ഡ് ടെക്സ്റ്റ് സ്വതന്ത്രമായി നീക്കംചെയ്യപ്പെടും; ഒരു മൂല്യത്തിന് ചുറ്റുമുള്ള prompt ടെക്സ്റ്റോ
മറ്റൊരു മൂല്യമോ നീക്കംചെയ്യാനാകില്ല. പൊരുത്തപ്പെടാത്ത ഇരട്ട-ബ്രേസ് ഡിലിമിറ്ററുകളും
നീക്കംചെയ്യപ്പെടും. prompt-കളിലെ JSON ഉദാഹരണങ്ങളിൽ {{ ഉപയോഗിക്കരുത്.
മൂല്യങ്ങൾ പ്ലെയിൻ ടെക്സ്റ്റാണ്; അവ ഒരിക്കലും കോഡായി എവാലുവേറ്റ് ചെയ്യുകയോ
ടെംപ്ലേറ്റുകളായി ആവർത്തിച്ച് എക്സ്പാൻഡ് ചെയ്യുകയോ ചെയ്യില്ല.
അക്നോളഡ്ജ്മെന്റ് prompt-കളിലും ഔട്ട്ബൗണ്ട് വോയ്സ്മെയിൽ
സന്ദേശങ്ങളിലും ഒരു ഫോൺ കോളിനായി ആ ഫീൽഡ് അയയ്ക്കുമ്പോൾ സമ്മത പ്രഖ്യാപന ടെക്സ്റ്റിലും വേരിയബിളുകൾ ഉൾപ്പെടുത്താം. ഏജന്റിന് പ്രത്യേക first_message ഫീൽഡ് ഇല്ല:
അതിന്റെ ആരംഭ നിർദേശങ്ങൾ prompt-ൽ ചേർക്കുക. നിലവിലുള്ള വോയ്സ്മെയിൽ {agent_name} കൂടാതെ {org_name}
പ്ലേസ്ഹോൾഡറുകൾ പ്രവർത്തിക്കുന്നത് തുടരും.
മൂല്യങ്ങൾ സ്ട്രിംഗുകൾ, നമ്പറുകൾ, ബൂളിയനുകൾ, അല്ലെങ്കിൽ null ആകാം; ബൂളിയനുകൾ true
എന്നും false എന്നും റെൻഡർ ചെയ്യപ്പെടും. ന്യൂലൈൻ (\n), ടാബ് (\t),
കാരേജ് റിട്ടേൺ (\r) എന്നിവ ഒഴികെയുള്ള Unicode കൺട്രോൾ (Cc) പ്രതീകങ്ങൾ, എല്ലാ ഫോർമാറ്റ് (Cf) പ്രതീകങ്ങളും,
സറോഗേറ്റ് (Cs) കോഡ് പോയിന്റുകളും നീക്കംചെയ്യപ്പെടും; \r\n, \n ആയി നോർമലൈസ് ചെയ്യപ്പെടും. റെൻഡർ ചെയ്യുമ്പോൾ ഓരോ മൂല്യത്തിനും
2,000 പ്രതീകങ്ങളുടെ പരിധിയുണ്ട്. നൽകിയ സ്ട്രിംഗുകളും സ്റ്റോറേജിന് മുമ്പ് ക്ലീൻ ചെയ്ത്
ട്രങ്കേറ്റ് ചെയ്യപ്പെടും. യഥാർത്ഥ ഒബ്ജക്റ്റ് UTF-8 JSON-ന്റെ 32 KB-ൽ ഒതുങ്ങണം; വലുതായ
ഒബ്ജക്റ്റുകൾക്ക് കോൾ/സെഷൻ റിക്വസ്റ്റുകളിൽ 400 ലഭിക്കും, അതേസമയം ക്യാമ്പെയ്ൻ ഇംപോർട്ടുകൾ അസാധുവായ വരികളെ ഓരോന്നായി റിപ്പോർട്ട് ചെയ്യും.
അറേകളും നെസ്റ്റഡ് ഒബ്ജക്റ്റുകളും മൂല്യങ്ങളായി സ്വീകരിക്കില്ല. പൊരുത്തപ്പെടാത്ത മെറ്റാഡാറ്റ കീകൾ
(ഉദാഹരണത്തിന് സ്പേസുള്ള ഒരു CSV ഹെഡർ) നിലനിർത്തുകയും എക്കോ ചെയ്യുകയും ചെയ്യും, പക്ഷേ അവയെ പ്ലേസ്ഹോൾഡർ ഉപയോഗിച്ച് റഫറൻസ് ചെയ്യാനാകില്ല.
മൂല്യങ്ങൾ എവിടെ നിന്നാണ് വരുന്നത്
ഔട്ട്ബൗണ്ട് API
POST /v1/call-ൽ agent_id-നൊപ്പം variables അയയ്ക്കുക:
{
"from_number": "+15551234567",
"to_number": "+14155550199",
"agent_id": 12,
"variables": {
"name": "Ada",
"account_id": "A-17",
"appointment_slot": "Tuesday at 10 AM"
}
}ഫോൺ നമ്പറിന്റെ ഡിഫോൾട്ട് ഔട്ട്ബൗണ്ട് ഏജന്റിനൊപ്പവും അല്ലെങ്കിൽ ഇൻലൈൻ
config.prompt ഉപയോഗിച്ചും ഇത് പ്രവർത്തിക്കും. വ്യത്യസ്ത വേരിയബിളുകളുള്ള ഒരു idempotency key വീണ്ടും ഉപയോഗിക്കാനാവില്ല.
കാമ്പെയ്ൻ CSV
ഫോൺ അല്ലാത്ത CSV കോളങ്ങൾ ഇതിനകം കോൺടാക്റ്റ് വേരിയബിളുകളായി സംഭരിച്ചിരിക്കുന്നു. ഓരോ ഡയലും
ഇപ്പോൾ അവ സ്വയമേവ ഉപയോഗിക്കുന്നു. നിങ്ങളുടെ പ്ലേസ്ഹോൾഡറുകളുമായി പൊരുത്തപ്പെടുത്താൻ name, account_id, കൂടാതെ
appointment_slot പോലുള്ള ഹെഡറുകൾ ഉപയോഗിക്കുക. നിലവിലുള്ള നെയിം മാപ്പിങ്ങിന്
ഫസ്റ്റ്, ലാസ്റ്റ് നെയിം കോളങ്ങൾ സംയോജിപ്പിച്ച് name വേരിയബിൾ സൃഷ്ടിക്കാനാകും.
ഡൈനാമിക് കോൺഫിഗറേഷൻ വെബ്ഹുക്ക്
ബ്ലോക്കിംഗ് കോൺഫിഗറേഷൻ വെബ്ഹുക്ക് പാതയിൽ, നിങ്ങളുടെ ഓർഗനൈസേഷനിലെ ഒരു സേവ് ചെയ്ത ഏജന്റും ഓരോ കോളിനുമുള്ള മൂല്യങ്ങളും തിരികെ നൽകുക:
{"agent_id": 12, "variables": {"name": "Ada", "account_id": "A-17"}}റെസ്പോൺസിലെ കീകൾ റിക്വസ്റ്റ്-ലെവൽ വേരിയബിളുകളെ ഓവർറൈറ്റ് ചെയ്യും, മറ്റ് റിക്വസ്റ്റ്
കീകൾ അതേപടി തുടരും. null ആയ റെസ്പോൺസ് മൂല്യം പ്ലേസ്ഹോൾഡറിന്റെ ഡിഫോൾട്ട് തിരഞ്ഞെടുക്കും.
ലംബിച്ച ഒബ്ജക്റ്റ് 32 KB-യ്ക്കുള്ളിലും ഒതുങ്ങണം. സേവ് ചെയ്ത ഏജന്റ് റെസ്പോൺസുകൾ agent_id-യും
variables-ഉം മാത്രം സ്വീകരിക്കും; prompt അല്ലെങ്കിൽ ക്രമീകരണങ്ങൾ മാറ്റേണ്ടപ്പോൾ ഒരു ഇൻലൈൻ കോൺഫിഗറേഷൻ തിരികെ നൽകുക. prompt ഉൾക്കൊള്ളുന്ന റെസ്പോൺസ് എപ്പോഴും ഇൻലൈൻ
കോൺഫിഗറേഷനാണ് ഉപയോഗിക്കുന്നത്: null അല്ലെങ്കിൽ പൂർണസംഖ്യയല്ലാത്ത മെറ്റാഡേറ്റ ഉൾപ്പെടെ, ആ റെസ്പോൺസിലെ ഏത് agent_id-യും അവഗണിക്കപ്പെടും. ഇൻലൈൻ prompt സാധാരണ വാലിഡേഷൻ ഇപ്പോഴും വിജയിക്കണം.
ഇൻലൈൻ വെബ്ഹുക്ക് റെസ്പോൺസുകളിൽ variables ഉൾപ്പെടുത്താനും കഴിയും. സേവ് ചെയ്ത ഏജന്റ് വെബ്ഹുക്ക്
റെസ്പോൺസുകൾ ഫോൺ, വിഡ്ജറ്റ് കോളുകൾ രണ്ടിലും ഏജന്റിന്റെ ഡിപ്ലോയ് ചെയ്ത A/B വിഭജനം ഉപയോഗിക്കും;
വേരിയബിളുകൾ വേരിയന്റ് തിരഞ്ഞെടുപ്പിന് ശേഷം റെൻഡർ ചെയ്യും. ഇൻബൗണ്ട് ഫോൺ കോളുകളിൽ, നിയോഗിച്ച ഇൻബൗണ്ട്
ഏജന്റില്ലാത്ത ഒരു നമ്പർ ഉപയോഗിച്ച് അതിന്റെ ഫോൺ-നമ്പർ അല്ലെങ്കിൽ ഓർഗനൈസേഷൻ വെബ്ഹുക്ക് കോൺഫിഗർ ചെയ്യുക;
വിഡ്ജറ്റ് കീകൾ mode="webhook" ഉപയോഗിക്കുന്നു. എൻഡ്പോയിന്റ്-സിസ്റ്റം ഇൻകമിംഗ് അറിയിപ്പുകൾ ബ്ലോക്കിംഗ്
കോൺഫിഗറേഷൻ റെസ്പോൺസുകൾ നൽകുന്നില്ല.
വിഡ്ജറ്റ്, റിയൽടൈം സെഷൻ API-കൾ
POST /v1/widget/session ഒരു ടോപ്പ്-ലെവൽ variables ഒബ്ജക്റ്റ് സ്വീകരിക്കുന്നു. അതിന്റെ publishable
key സേവ് ചെയ്ത ഏജന്റിനെ തിരഞ്ഞെടുക്കുന്നു. വെബ്ഹുക്ക്-മോഡ് കീകൾ ഈ മൂല്യങ്ങൾ
കോൺഫിഗറേഷൻ വെബ്ഹുക്കിലേക്ക് ഫോർവേഡ് ചെയ്യുകയും മുകളിൽ വിവരിച്ച പ്രകാരം റെസ്പോൺസ് ലയിപ്പിക്കുകയും ചെയ്യുന്നു.
ബ്രൗസർ നൽകുന്ന വിഡ്ജറ്റ്/റിയൽടൈം variables ക്ലയന്റ് നിയന്ത്രിക്കുന്നവയാണ്; മുകളിൽ വിവരിച്ച വാലിഡേഷനും
സ്ട്രിംഗ് ക്ലീൻഅപ്പിനും ശേഷം അവ web.incoming-ൽ മാറ്റമില്ലാതെ ഫോർവേഡ് ചെയ്യപ്പെടുകയും
കമ്പ്ലീഷൻ വെബ്ഹുക്കുകളിലും കോൾ ഹിസ്റ്ററിയിലും പ്രതിഫലിപ്പിക്കപ്പെടുകയും ചെയ്യുന്നു. അവയെ വിശ്വസനീയമായ
ഐഡന്റിറ്റി അല്ലെങ്കിൽ ഓതറൈസേഷൻ ഡാറ്റയായി കണക്കാക്കരുത്.
POST /v1/realtime/sessions, agent_id-നൊപ്പം (അല്ലെങ്കിൽ ഇൻലൈൻ
config-നൊപ്പം) variables സ്വീകരിക്കുന്നു. ഇവ സെഷൻ-ക്രിയേറ്റ് API ഫീൽഡുകളാണ്. റിയൽടൈം WebSocket
ബ്രിഡ്ജ് variables ഓപ്ഷൻ ഫോർവേഡ് ചെയ്യുന്നില്ല; അത് നേരിട്ട്
സെഷൻ-ക്രിയേറ്റ് API-യിലേക്ക് നൽകുക. വിഡ്ജറ്റ് ക്ലയന്റുകൾ പോസ്റ്റ് ചെയ്യുന്ന
സെഷൻ പേലോഡിൽ variables ഉൾപ്പെടുത്തണം; SDK ഫോർവേഡിംഗ് ഈ API മാറ്റത്തിന്റെ ഭാഗമല്ല. ബിൽഡർ മൈക്കും സിമുലേറ്റ് ചെയ്ത
ടെസ്റ്റ് കോളുകളും ഡിഫോൾട്ടുകളും നഷ്ടപ്പെട്ട പ്ലേസ്ഹോൾഡറുകളും റെസോൾവ് ചെയ്യും, എന്നാൽ ഓരോ കോളിനുമുള്ള
വേരിയബിളുകൾ നൽകാനുള്ള ഇൻപുട്ട് അവയ്ക്കില്ല.
കോളിന് ശേഷം തിരികെ ലഭിക്കുന്ന മൂല്യങ്ങൾ
GET /v1/calls, GET /v1/calls/{call_id}, telephony.complete, കൂടാതെ web.complete എന്നിവയിൽ
അവസാനമായി ലയിപ്പിച്ച variables-ഉം unresolved_variables-ഉം ഉൾപ്പെടും. data.history ഉൾക്കൊള്ളുന്ന
ലെഗസി കമ്പ്ലീഷൻ പേലോഡുകളിലും അവ ഉൾപ്പെടും:
{
"variables": {"name": "Ada", "account_id": "A-17"},
"unresolved_variables": ["appointment_slot"]
}പൂർത്തിയാക്കിയ കോൾ അതിന്റെ ഉറവിട റെക്കോർഡുമായി ബന്ധിപ്പിക്കാൻ നിങ്ങളുടെ CRM അല്ലെങ്കിൽ ടാസ്ക് ഐഡന്റിഫയർ വേരിയബിളുകളുടെ ഒബ്ജക്റ്റിൽ സംഭരിക്കുക. ഈ ഫീൽഡുകൾ കോൾ റെക്കോർഡിനൊപ്പം നിലനിർത്തപ്പെടും; കോൾ ഹിസ്റ്ററിയിലും വെബ്ഹുക്കുകളിലും നിലനിർത്താൻ അനുയോജ്യമായ വിവരങ്ങൾ മാത്രം അയയ്ക്കുക.
നിലവിലുള്ള prompt അനുയോജ്യത
റണ്ടറിംഗ് നിലവിലുള്ള സേവ് ചെയ്ത ഏജന്റ്, A/B വേരിയന്റ് prompt-ുകളിലും ഇൻലൈൻ
ഔട്ട്ബൗണ്ട്, റിയൽടൈം കോൺഫിഗറേഷനുകളിലും കോൺഫിഗറേഷൻ webhook-ുകൾ വഴി ലഭിക്കുന്ന prompt-ുകളിലും ബാധകമാണ്. variables നൽകിയിട്ടില്ലെങ്കിലും, അറിയാത്ത {{name}} പ്ലേസ്ഹോൾഡറുകൾ ശൂന്യ വാചകമായി മാറും. ThunderPhone-ന് ഇൻവെന്ററി ചെയ്യാനാകാത്ത, ബാഹ്യമായി നൽകുന്ന ഇൻലൈൻ/webhook prompt-ുകൾ ഉൾപ്പെടെ, റോൾഔട്ടിന് മുമ്പ് നിലവിലുള്ള prompt-ുകൾ പരിശോധിക്കുക. Builder mic, സിമുലേഷൻ കോളുകൾക്കും ഇതേ ഡിഫോൾട്ട്/ശൂന്യ സ്വഭാവം ബാധകമാണ്.