座席回复或发起与访客的聊天后,会打开聊天窗口的右侧面板,显示该应用程序。

示例清单

             
“位置”{“聊天”{“chat_sidebar”“资产/ iframe.html”

中提供的对象所有位置,在此位置可使用以下对象和附加动作:

事件

除了核心事件,聊天侧边栏中的应用程序可以使用以下事件:

  • channel.chat.start
  • channel.chat.end
  • channel.department.changed
  • channel.message.received
  • channel.message.sent
  • channel.textarea.changed
  • channel.ticket.created
  • channel.window.inbackground
  • channel.window.infocus
  • visitor.display_name.changed
  • visitor.email.changed
  • visitor.phone.changed
  • visitor.notes.changed

channel.chat.start

聊天开始时触发。

例子:

             
客户端“channel.chat.start”evt=>{控制台日志evt/ /例如:// -当频道信息不可用时,例如开始一个新的聊天/ / {}// -当通道信息可用时/ / {// "channel": "#supportchat:1-12345",// "display_name": "访客123",// "nick": "visitor:1-12345",// "ts": 1582100450713/ /}

channel.chat.end

聊天结束时触发。

例子:

             
客户端“channel.chat.end”evt=>{控制台日志evt/ /例如:/ / {// "chat": [// {"channel": "#supportchat:1-12345", "display_name": "Visitor 123", "nick": "Visitor:1-12345", "ts": 1582100450712},// {"channel": "#supportchat:1-12345", "display_name": "Visitor 123", "message": "hello", "nick": "Visitor:1-12345", "ts": 1582100450713},// {"channel": "#supportchat:1-12345", "display_name": "John", "nick": "agent:456", "ts": 1582100450733},/ /{“通道”:“# supportchat: 1 - 12345”,“display_name”:“约翰”,“消息”:“嗨”,“尼克”:“代理:456”,“t”:1582100450921},// {"channel": "#supportchat:1-12345", "display_name": "Visitor 123", "nick": "Visitor:1-12345", "ts": 1582100781395},/ /……/ /)/ /}

channel.department.changed

当聊天对象改变部门时触发。

例子:

             
客户端“channel.department.changed”evt=>{控制台日志evt/ /例如:/ / {// id: 12345;// "name": "test department";// "event_name": "channel.department.changed"/ /}

channel.message.received

当代理接收到消息时触发。

例子:

             
客户端“channel.message.received”evt=>{控制台日志evt/ /例如:/ / {// "channel": "#supportchat:1-12345",// "display_name": "访客123",// "message": "hello";// "nick": "visitor:1-12345",// "ts": 1582100671235/ /}

channel.message.sent

当代理发送消息时触发。

例子:

             
客户端“channel.message.sent”evt=>{控制台日志evt/ /例如:/ / {// "channel": "#supportchat:1-12345",// "display_name": "John",// "message": "hi";// "nick": "agent:456",// "ts": 1582100450921/ /}

channel.textarea.changed

当输入文本区域改变时触发。

例子:

             
客户端“channel.textarea.changed”evt=>{控制台日志evt/ /例如:/ / {// "textarea_value": "hi"/ /}

channel.ticket.created

在创建票据时触发。

例子:

             
客户端“channel.ticket.created”evt=>{控制台日志evt/ /例如:/ / {// ticket_id: 8266/ /}

channel.window.inbackground

当聊天窗口在后台时触发。

例子:

             
客户端“channel.window.inbackground”evt=>{控制台日志evt/ /例如:/ / {}

channel.window.infocus

当聊天窗口处于焦点时触发。

例子:

             
客户端“channel.window.infocus”evt=>{控制台日志evt/ /例如:/ / {}

visitor.display_name.changed

当访问者的display_name改变时触发。

例子:

             
客户端“visitor.display_name.changed”evt=>{控制台日志evt/ /例如:/ / {// "event_name": "visitor.display_name.changed",// "value": "Visitor 456"/ /}

visitor.email.changed

当访问者的电子邮件更改时触发。

例子:

             
客户端“visitor.email.changed”evt=>{控制台日志evt/ /例如:/ / {// "event_name": "visitor.email.changed",// "value": "(电子邮件保护)/ /}

visitor.phone.changed

当访客的手机更换时触发。

例子:

             
客户端“visitor.phone.changed”evt=>{控制台日志evt/ /例如:/ / {// "event_name": "visitor.phone.changed",// "value": "123456789"/ /}

visitor.notes.changed

当访客的笔记改变时触发。

例子:

             
客户端“visitor.notes.changed”evt=>{控制台日志evt/ /例如:/ / {// "event_name": "visitor.notes.changed",// "value": "new notes"/ /}

代理对象

表示当前正在查看的聊天的一部分的所有代理。

属性

代理

获取聊天中所有代理的信息。

得到
             
客户端得到“代理”
返回
             
{“代理”{<agent_id>{用户对象属性

看到CurrentUser对象属性。

聊天的对象

表示当前正在查看的聊天。

闲谈,聊天

检索聊天对象及其所有属性。

得到
             
客户端得到“聊天”
返回
             
{“聊天”{//聊天对象属性

属性

行动

chat.id

检索聊天的id。返回如果聊天还没有开始。

得到
             
客户端得到“chat.id”
返回
             
{“chat.id”字符串

chat.department

检索聊天的部门。返回如果聊天内容不属于任何部门。

得到
             
客户端得到“chat.department”
返回
             
{“chat.department”{“id”整数“名称”字符串

chat.messages

获取聊天中已发送的所有消息。

得到
             
客户端得到“chat.messages”
返回
             
{“chat.messages”{“通道”字符串“尼克”参观者:<用户id >”“代理:代理id > <”“display_name”字符串“消息”字符串“t”整数“msg_lang_code”字符串

chat.tags

获取代理添加的现有聊天标记。

要获取聊天触发器设置的标记,使用visitor.tags

得到
             
客户端得到“chat.tags”
返回
             
{“chat.tags”数组字符串

chat.tags.add

向现有聊天标记添加标记。

调用
             
客户端调用“chat.tags.add”价值
参数
  • 要添加的聊天标记字符串。
笔记
  • 只有当加载了应用程序的代理已经是聊天的一部分时,才允许此操作。
  • 要添加的标记必须是预定义标记列表的一部分。

chat.tags.remove

从现有聊天标记中删除标记。

调用
             
客户端调用“chat.tags.remove”价值
参数
  • 要删除的聊天标记字符串。
笔记

只有当加载了应用程序的代理已经是聊天的一部分时,才允许此操作。

chat.joinChat

允许应用程序强制座席加入聊天。

调用
             
客户端调用“chat.joinChat”

chat.sendChat

允许应用程序代表查看聊天的代理向聊天发送消息。

调用
             
客户端调用“chat.sendChat”价值
参数
  • 要在聊天中发送的消息字符串。
笔记

只有当查看代理已经是聊天的一部分时,才允许此操作。

chat.postToChatTextArea

允许应用程序在聊天自己的文本区域设置预定义的消息。除非座席在聊天中单击发送按钮,否则不会在聊天中发送此消息。

调用
             
客户端调用“chat.postToChatTextArea”价值
参数
  • 要显示在聊天文本区域上的消息字符串。
笔记
  • 只有当查看代理已经是聊天的一部分时,才允许此操作。
  • 此操作将使用消息覆盖文本区域的内容。

访问者对象

表示当前正在查看的聊天中的访问者。

游客

检索访问者对象及其所有属性。

得到
             
客户端得到“访客”
             
客户端{“visitor.name”value1“visitor.email”value2“visitor.phone”value3“visitor.notes”value4
返回
             
{“访客”{//访问者对象属性

属性

visitor.id

获取聊天中访问者的id。

得到
             
客户端得到“visitor.id”
返回
             
{“visitor.id”字符串

visitor.externalId

获取聊天中经过身份验证的访问者的外部id。

得到
             
客户端得到“visitor.externalId”
返回
             
{“visitor.externalId”字符串

visitor.name

获取或设置聊天中访问者的名称。

得到
             
客户端得到“visitor.name”
返回
             
{“visitor.name”字符串
             
客户端“visitor.name”价值
参数
  • 要为访问者设置的名称字符串。

visitor.displayName

类似于visitor.nameAPI,它可以用来获取或设置聊天中访问者的名字。

得到
             
客户端得到“visitor.displayName”
返回
             
{“visitor.displayName”字符串
             
客户端“visitor.displayName”价值
参数
  • 要为访问者设置的名称字符串。

visitor.email

获取或设置聊天中访问者的电子邮件。

得到
             
客户端得到“visitor.email”
返回
             
{“visitor.email”字符串
             
客户端“visitor.email”价值
参数
  • 要为访客设置的电子邮件字符串。

visitor.phone

获取或设置聊天中访问者的电话号码。

得到
             
客户端得到“visitor.phone”
返回
             
{“visitor.phone”字符串
             
客户端“visitor.phone”价值
参数
  • 要为来访者设置的电话号码字符串。

visitor.notes

获取或设置在聊天中为访问者编写的备注。

得到
             
客户端得到“visitor.notes”
返回
             
{“visitor.notes”字符串
             
客户端“visitor.notes”价值
参数
  • 为来访者设置的一串笔记。

visitor.tags

获取分配给访问者的标记,包括由聊天触发器操作设置的标记。

得到
             
客户端得到“visitor.tags”
返回
             
{“visitor.tags”数组字符串

visitor.pastChats

获取访问者过去的聊天记录。

得到
             
客户端得到“visitor.pastChats”
返回
             
{“visitor.pastChats”数组浓缩闲谈,聊天对象

看到聊天的对象属性。

visitor.pastVisits

获取访问者以前访问过的页面。

得到
             
客户端得到“visitor.pastVisits”
返回
             
{“visitor.pastVisits”{“时间戳”整数“是page_title”字符串“page_url”字符串

visitor.pageUrl

获取访问者当前在站点上查看的页面的url。

得到
             
客户端得到“visitor.pageUrl”
返回
             
{“visitor.pageUrl”字符串

visitor.browser

获取访问者正在使用的浏览器。一些可能的值是火狐Safari等。

得到
             
客户端得到“visitor.browser”
返回
             
{“visitor.browser”字符串

visitor.platform

获取访问者正在使用的平台。返回的值可能是Mac OS窗户等。

得到
             
客户端得到“visitor.platform”
返回
             
{“visitor.platform”字符串

visitor.ip

获取访问者的ip。

得到
             
客户端得到“visitor.ip”
返回
             
{“visitor.ip”字符串

visitor.device

获取访问者正在使用的设备。可能的值是桌面移动

得到
             
客户端得到“visitor.device”
返回
             
{“visitor.device”字符串

visitor.location

获取访问者当前在线所在国家/地区的全名。

得到
             
客户端得到“visitor.location”
返回
             
{“visitor.location”字符串

visitor.userAgent

获取访问者的用户代理。

得到
             
客户端得到“visitor.userAgent”
返回
             
{“visitor.userAgent”字符串