一洽客服系统-第三方智能问答机器人接入
1.问答交互流程
1.1 问答交互流程图
1.2 问答交互接口
第三方提供消息交互接口,Echat在需要查询答案时将问题以及必要的信息post给此接口进行答案查询。
接口地址例如:https://chat.robot.org/robot/
1.2.1 接口上线
在配置接口后,上线成功后,一洽会开通第三方机器人问答处理。上线校验方式如下:
已GET请求携带的签名和回传验证字符串echoStr参数向需要上线的接口发送请求,接口提供方验证签名合法后返回echoStr的值,一洽收到后对比发送和回传的echoStr值是否一致,一致则上线成功。
参数 | 是否可选 | 描述 |
---|---|---|
signature | 必选 | 一洽加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 |
timestamp | 必选 | 时间戳 |
nonce | 必选 | 随机数 |
echoStr | 必选 | 验证校验参数 |
开发者通过检验signature对请求进行校验。若确认此次GET请求来自一洽服务器,请返回参数echoStr的值,则接入生效,否则接入失败。加密/校验流程如下:
1)将token、timestamp、nonce三个参数进行字典序排序 2)将三个参数字符串拼接成一个字符串进行sha1加密 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于一洽
1.2.2 问答接口基础参数
GET参数:每次问答一洽都会携带签名信息和请求类型向问答接口发起请求
参数 | 是否可选 | 描述 |
---|---|---|
signature | 必选 | 一洽加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 |
timestamp | 必选 | 时间戳 |
nonce | 必选 | 随机数 |
dataType | 必选 | 本次请求的业务数据类型 qaData:问答数据,请求问题的答案 evaluatData:答案满意度反馈数据(解决、未解决) eventData: 事件反馈,在访客问答的过程中产生的事件,例如:选择列表问题、点击转人工、取消信息收集、提交信息收集等 recommendData:正在输入的数据,如果支持输入联想可开启此数据接收 |
签名验证方式和接口上线时的验证方式一致。
接口POST数据企业可选择是否加密,加解密请参考:消息加解密规范
1.2.3 访客问题检索(自动应答)
在第三方机器人问答系统接入成功后,一洽会将访客咨询的问题,提交给问答接口来检索问题答案,检索问题答案时提交的接口信息如下:
dataType=qaData
POST内容:一洽会将问题以及对话的一些基础信息组装成json格式的数据,已raw的方式post给问答接口
JSON数据组成如下:
对象 | 参数 | 类型 | 描述 |
---|---|---|---|
msgId | long | 请求消息ID,全局唯一,接口幂等性判定 | |
tm | long | 请求消息产生时的时间戳 | |
baseInfo | Object | 问答请求的基础信息 | |
sessionId | String | 此次访客对话的sessionId,用来区分每一次对话 | |
media | int | 本次访客请求的来源渠道 1:pc web 2:mobile web 3:iphone sdk 4:android sdk 5:微信 6:sdk(不区分ios、android)7:小程序 8:新浪微博 其他:自定义渠道 | |
mediaId | String | 本次访客请求的来源渠道ID 访客来源为PC或者mobile时此值为"web" 访客来源为app时,此值为接入SDK的AppID 访客来源为百度时,此值为百度接入的渠道ID 访客来源为微信时,此值为微信公众号的AppID 访客来源为自定义渠道时,此值为自定义渠道的mediaId | |
mediaName | String | 本次访客请求的来源渠道名称 访客来源为PC或者mobile时此值为"web" 访客来源为app时,此值为接入SDK的AppName 访客来源为百度时,此值为百度接入的渠道名称 访客来源为微信时,此值为微信公众号的别名,如果未设置别名则使用公众号名称 访客来源为自定义渠道时,此值为自定义渠道的名称 | |
lan | String | 本次访客请求的语言设定 zh:中文 en:英文 ja:日文 fr:法文 ko:韩文 | |
chatInfo | Object | 产生问题的对话信息。 | |
echatTag | String | 本次会话的业务咨询标签。 | |
lastChatTime | String | 上次对话时间,如果之前有来访过则返回上次来访时间,时间格式yyyy-MM-dd HH:mm:ss |
|
chatTimes | int | 本次会话是当前访客第几次会话 | |
visitTimes | int | 本次来访是当前访客第来访。注:访客浏览了加入echat.js的客户页面后算作来访 | |
myData | String | 访客接入对话时,企业设置的业务数据(任意值,最大长度255字节) | |
keyword | String | 访客来访渠道为搜索引擎时的搜索关键字 | |
routeInfo | Object | 本次会话路由信息 | |
routeId | long | 本次会话所选定的路由ID | |
routeName | int | 本次会话所选定的路由名称 | |
routeStatus | int | 本次会话所选定路由,在访客咨询问题时客服接待状态 1:在线 2:离线 | |
userInfo | Object | 访客的基本信息 | |
vipId | String | 访客所在渠道的唯一ID,如:微信渠道的openId,会员的uid | |
vipType | int | 访客类型 0:web匿名 1:会员 2:sdk匿名 4:微信访客 6:小程序访客 7:新浪微博访客 | |
visitorName | String | 当前咨询访客的名字 | |
locationInfo | Object | 访客的地理位置信息 | |
ip | Long | 访客的来源ip(非web渠道访问没有来源ip) | |
country | String | 访客所在国家(ip解析或者微信等渠道的个人信息获得) | |
province | String | 访客所在省份(ip解析或者微信等渠道的个人信息获得) | |
city | String | 访客所在城市(ip解析或者微信等渠道的个人信息获得) | |
questionInfo | String | 问题信息 | |
question | String | 访客本次咨询的问题,和docId两者二选一 | |
docId | String | 相关问题或者相似问题访客直接通过序号选择的知识ID,由问答接口返回的列表问题中获取 | |
unsatisfyTimes | int | 访客本次会话中提交为不满意的次数 | |
visitorId | String | 反馈访客的ID,可作为访客的唯一身份识别 |
提交的明文数据示例:
{
"baseInfo":{
"lan":"zh",
"media":1,
"sessionId":"123456"
},
"chatInfo":{
"chatTimes":5,
"echatTag":"商务合作",
"keyword":"客服系统",
"lastChatTime":"2018-03-01 20:00:00",
"myData":"osName:ios,newwork:1,prod:base",
"visitTimes":9
},
"locationInfo":{
"city":"成都市",
"country":"中国",
"ip":1857829435,
"province":"四川省"
},
"msgId":987654321,
"questionInfo":{
"question":"请问智能业务机器人可以支持微信渠道吗?",
"unsatisfyTimes":2
},
"routeInfo":{
"routeId":3333,
"routeName":"官网商务合作",
"routeStatus":2
},
"tm":1523719930922,
"userInfo":{
"vipId":"88888888",
"vipType":0,
"visitorName":"张先生"
},
"visitorId": "web88888888"
}
提交的密文数据示例:
YrU6kXHIBgy03Vq9QbJU54cwPSxyJlgeJJV8/xCDlsFPONdHhoJzINJqVI5Wo6yVJMjaOaf5Xt1Wup3UQo5/lDnRM3y5hnxGcI82f7aQ0wRcm4HQVvHmwqP+9+lnBbLL
接口返回规范:
问答接口接收到一洽的请求后,同步将检索结果组装成json格式的数据返回给一洽,返回的json数据详细描述如下:
对象 | 参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|---|
searchId | String | 可选 | 此次问题检索ID,在问题反馈或者其他事件反馈时和问题检索过程进行关联 | |
queryType | int | 必选 | 此次问题检索的结果 1: 没有答案 2: 准确答案(精准匹配) 3: 准确答案(完全匹配) 4: 有相似问题 5: 转人工 | |
answerType | int | 必选 | 答案类型,在queryType==2 or queryType==3 时有效. 1:基础知识(一问一答的基础知识) 2:引导问题(机器人反问选择或者任务型知识) 3:寒暄问题 只有answerType==1时才需要收集用户的满意度反馈 |
|
answerMedia | int | 必选 | 问题答案的媒介类型 0:文本类型(纯文本、超文本) 1:图片 2:语音 3:视频 4:图文消息(不支持微信渠道) 5:微信图文消息(仅支持微信渠道) | |
answer | String | 可选 | 问题答案 如果没有答案时(queryType==1),answer有内容则认为是无答案提示语(可以在没有答案,禁用词出现,查询失败时返回对应的文本),如果answer为空则使用一洽的配置的无答案提示语 如果是相似问题时(queryType==4),answer有内容则认为是相似问题提示语,如果没有则使用一洽配置的相似问题提示语 如果是转人工指令(queryType==5),answer有内容则认为是转人工的提示语,如果没有则使用一洽配置的转人工提示语 |
|
feedback | String | 可选 | 是否需要收集用户的满意度反馈,0:不需要收集 1:需要收集。如不传此字段默认answerType==1时才设置需要收集用户的满意度反馈 | |
docId | String | 可选 | 在(queryType==2 or queryType==3 and answerType==1)时,需要收集用户的满意度反馈,此时必须有docId,否则无法针对知识进行满意度反馈收集 | |
segWords | String[] | 可选 | 所检索question的分词结果 | |
sentimentTag | int | 可选 | 情感标识。 -1:负面情绪 1:正面情绪 | |
sentimentProbability | double | 可选 | 情感分析的正负面情绪概率 ,取值0-1 | |
sensitiveWords | String[] | 可选 | 所问问题中包含的敏感词 | |
knowledgeList | Object[] | 可选 | 相关、相似问题列表。 queryType==2 or queryType==3时此列表为相关问题列表 queryType==4时此列表为相似问题列表 |
|
question | String | 必选 | 问题标准问法 | |
docId | String | 必选 | 问题ID,在访客通过指令或者点击选择问题时,通过docId来检索答案 |
1.2.4 访客输入联想
在第三方机器人问答系统接入成功后,一洽会将访客正在输入的问题,提交给问答接口来检索匹配的问题列表,获取相似问题列表时提交的信息如下:
dataType=suggestData
POST内容:一洽会将输入内容以及对话的一些基础信息组装成json格式的数据,已raw的方式post给问答接口
JSON数据组成如下
对象 | 参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|---|
msgId | Long | 必选 | 请求消息ID,全局唯一,接口幂等性判定 | |
tm | Long | 必选 | 请求消息产生时的时间戳 | |
maxCount | int | 必选 | 最大返回的输入联想问题条数 | |
baseInfo | Object | 必选 | 问答请求的基础信息 | |
sessionId | String | 必选 | 此次访客对话的sessionId,用来区分每一次对话 | |
media | int | 必选 | 本次访客请求的来源渠道 1:pc web 2:mobile web 3:iphone sdk 4:android sdk 5:微信 6:sdk(不区分ios、android)7:小程序 8:新浪微博 其他:自定义渠道 | |
lan | String | 必选 | 本次访客请求的语言设定 zh:中文 en:英文 ja:日文 fr:法文 ko:韩文 | |
chatInfo | Object | 可选 | 产生问题的对话信息。 | |
echatTag | String | 可选 | 本次会话的业务咨询标签。 | |
lastChatTime | String | 可选 | 上次对话时间,如果之前有来访过则返回上次来访时间,时间格式yyyy-MM-dd HH:mm:ss | |
chatTimes | int | 可选 | 本次会话是当前访客第几次会话 | |
visitTimes | int | 可选 | 本次来访是当前访客第来访。注:访客浏览了加入echat.js的客户页面后算作来访 | |
myData | String | 必选 | 访客接入对话时,企业设置的业务数据(任意值,最大长度255字节) | |
keyword | String | 可选 | 访客来访渠道为搜索引擎时的搜索关键字 | |
routeInfo | Object | 可选 | 本次会话路由信息 | |
routeId | long | 可选 | 本次会话所选定的路由ID | |
routeName | int | 可选 | 本次会话所选定的路由名称 | |
routeStatus | int | 可选 | 本次会话所选定路由,在访客咨询问题时客服接待状态 1:在线 2:离线 | |
userInfo | Object | 可选 | 访客的基本信息 | |
vipId | String | 可选 | 访客所在渠道的唯一ID,如:微信渠道的openId,会员的uid | |
vipType | int | 可选 | 访客类型 0:web匿名 1:会员 2:sdk匿名 4:微信访客 6:小程序访客 7:新浪微博访客 | |
visitorName | String | 可选 | 当前咨询访客的名字 | |
locationInfo | Object | 可选 | 访客的地理位置信息 | |
ip | Long | 可选 | 访客的来源ip(非web渠道访问没有来源ip) | |
country | String | 选 | 访客所在国家(ip解析或者微信等渠道的个人信息获得) | |
province | String | 可选 | 访客所在省份(ip解析或者微信等渠道的个人信息获得) | |
city | String | 可选 | 访客所在省份(ip解析或者微信等渠道的个人信息获得) | |
questionInfo | String | 必选 | 访客输入的信息 | |
question | String | 可选 | 访客输入的内容 |
提交的明文数据示例:
{
"baseInfo":{
"lan":"zh",
"media":1,
"sessionId":"123456"
},
"chatInfo":{
"chatTimes":5,
"echatTag":"商务合作",
"keyword":"客服系统",
"lastChatTime":"2018-03-01 20:00:00",
"myData":"osName:ios,newwork:1,prod:base",
"visitTimes":9
},
"locationInfo":{
"city":"成都市",
"country":"中国",
"ip":1857829435,
"province":"四川省"
},
"msgId":987654321,
"questionInfo":{
"question":"一洽智能客服",
},
"routeInfo":{
"routeId":3333,
"routeName":"官网商务合作",
"routeStatus":2
},
"tm":1523719930922,
"userInfo":{
"vipId":"88888888",
"vipType":0,
"visitorName":"张先生"
}
}
提交的密文数据示例:
YrU6kXHIBgy03Vq9QbJU54cwPSxyJlgeJJV8/xCDlsFPONdHhoJzINJqVI5Wo6yVJMjaOaf5Xt1Wup3UQo5/lDnRM3y5hnxGcI82f7aQ0wRcm4HQVvHmwqP+9+lnBbLL
接口返回规范:
问答接口接收到一洽的请求后,同步将检索结果组装成json格式的数据返回给一洽,返回的json数据详细描述如下:
对象 | 参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|---|
searchId | String | 可选 | 此次问题检索ID,在问题反馈或者其他事件反馈时和问题检索过程进行关联 | |
segWords | String[] | 可选 | 所检索question的分词结果 | |
sentimentTag | int | 可选 | 情感标识。 -1:负面情绪 1:正面情绪 | |
sentimentProbability | double | 可选 | 情感分析的正负面情绪概率 ,取值0-1 | |
sensitiveWords | String[] | 可选 | 所问问题中包含的敏感词 | |
knowledgeList | Object[] | 必选 | 相似问题列表。 | |
question | String | 必选 | 问题标准问法 | |
docId | String | 必选 | 问题ID,在客服选择发送了某个问题后,会将docId作为选择事件的值通知给开发者。 |
1.2.5 客服智能辅助
在第三方机器人问答系统接入成功后,一洽会将人工客服聊天过程中收到的访客发送的问题,提交给问答接口来检索机器人建议的答案列表,获取智能推荐列表时提交的信息如下:
dataType=recommendData
POST内容:一洽会将访客问题以及对话的一些基础信息组装成json格式的数据,已raw的方式post给问答接口
JSON数据组成如下:
对象 | 参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|---|
msgId | Long | 必选 | 请求消息ID,全局唯一,接口幂等性判定 | |
tm | Long | 必选 | 请求消息产生时的时间戳 | |
maxCount | int | 必选 | 最大返回的输入联想问题条数 | |
minMatchScore | double | 必选 | 一洽查询推荐问题列表返回值的配置要求,避免返回无效推荐,例如0.5表示只有知识匹配问题答案的概率超过50%才返回。 | |
baseInfo | Object | 必选 | 问答请求的基础信息 | |
sessionId | String | 必选 | 此次访客对话的sessionId,用来区分每一次对话 | |
media | int | 必选 | 本次访客请求的来源渠道 1:pc web 2:mobile web 3:iphone sdk 4:android sdk 5:微信 6:sdk(不区分ios、android)7:小程序 8:新浪微博 其他:自定义渠道 | |
lan | String | 必选 | 本次访客请求的语言设定 zh:中文 en:英文 ja:日文 fr:法文 ko:韩文 | |
chatInfo | Object | 可选 | 产生问题的对话信息。 | |
echatTag | String | 可选 | 本次会话的业务咨询标签。 | |
lastChatTime | String | 可选 | 上次对话时间,如果之前有来访过则返回上次来访时间,时间格式yyyy-MM-dd HH:mm:ss | |
chatTimes | int | 可选 | 本次会话是当前访客第几次会话 | |
visitTimes | int | 可选 | 本次来访是当前访客第来访。注:访客浏览了加入echat.js的客户页面后算作来访 | |
myData | String | 可选 | 访客接入对话时,企业设置的业务数据(任意值,最大长度255字节) | |
keyword | String | 可选 | 访客来访渠道为搜索引擎时的搜索关键字 | |
routeInfo | Object | 可选 | 本次会话路由信息 | |
routeId | long | 可选 | 本次会话所选定的路由ID | |
routeName | int | 可选 | 本次会话所选定的路由名称 | |
routeStatus | int | 可选 | 本次会话所选定路由,在访客咨询问题时客服接待状态 1:在线 2:离线 | |
userInfo | Object | 可选 | 访客的基本信息 | |
vipId | String | 可选 | 访客所在渠道的唯一ID,如:微信渠道的openId,会员的uid | |
vipType | int | 可选 | 访客类型 0:web匿名 1:会员 2:sdk匿名 4:微信访客 6:小程序访客 7:新浪微博访客 | |
visitorName | String | 可选 | 当前咨询访客的名字 | |
locationInfo | Object | 可选 | 访客的地理位置信息 | |
ip | Long | 可选 | 访客的来源ip(非web渠道访问没有来源ip) | |
country | String | 选 | 访客所在国家(ip解析或者微信等渠道的个人信息获得) | |
province | String | 可选 | 访客所在省份(ip解析或者微信等渠道的个人信息获得) | |
city | String | 可选 | 访客所在省份(ip解析或者微信等渠道的个人信息获得) | |
staffInfo | Object | 可选 | 接待对话的客服信息 | |
staffId | int | 可选 | 请求智能辅助的客服ID | |
staffLogname | String | 可选 | 客服账号(手机/邮箱) | |
staffNickName | String | 可选 | 客服昵称-对外 | |
staffName | String | 可选 | 客服名称-对内 | |
questionInfo | String | 必选 | 访客输入的信息 | |
question | String | 可选 | 访客输入的内容 |
提交的明文数据示例:
{
"baseInfo":{
"lan":"zh",
"media":1,
"sessionId":"123456"
},
"chatInfo":{
"chatTimes":5,
"echatTag":"商务合作",
"keyword":"客服系统",
"lastChatTime":"2018-03-01 20:00:00",
"myData":"osName:ios,newwork:1,prod:base",
"visitTimes":9
},
"locationInfo":{
"city":"成都市",
"country":"中国",
"ip":1857829435,
"province":"四川省"
},
"msgId":987654321,
"questionInfo":{
"question":"一洽智能客服系统介绍",
},
"routeInfo":{
"routeId":3333,
"routeName":"官网商务合作",
"routeStatus":2
},
"tm":1523719930922,
"userInfo":{
"vipId":"88888888",
"vipType":0,
"visitorName":"张先生"
}
}
提交的密文数据示例:
YrU6kXHIBgy03Vq9QbJU54cwPSxyJlgeJJV8/xCDlsFPONdHhoJzINJqVI5Wo6yVJMjaOaf5Xt1Wup3UQo5/lDnRM3y5hnxGcI82f7aQ0wRcm4HQVvHmwqP+9+lnBbLL
接口返回规范:
问答接口接收到一洽的请求后,同步将检索结果组装成json格式的数据返回给一洽,返回的json数据详细描述如下:
对象 | 参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|---|
searchId | String | 可选 | 此次问题检索ID,在问题反馈或者其他事件反馈时和问题检索过程进行关联 | |
segWords | String[] | 可选 | 所检索question的分词结果 | |
sentimentTag | int | 可选 | 情感标识。 -1:负面情绪 1:正面情绪 | |
sentimentProbability | double | 可选 | 情感分析的正负面情绪概率 ,取值0-1 | |
sensitiveWords | String[] | 可选 | 所问问题中包含的敏感词 | |
knowledgeList | Object[] | 必选 | 相似问题列表。 | |
question | String | 必选 | 问题标准问法 | |
answer | String | 必选 | 推荐知识的答案 | |
answerMedia | int | 必选 | 问题答案的媒介类型 0:文本类型(纯文本、超文本) 1:图片 2:语音 3:视频 4:echat图文消息 5:微信图文消息 默认:0 |
|
docId | String | 必选 | 问题ID,在客服选择发送了某个问题后,会将docId作为选择事件的值通知给开发者。 | |
matchScore | double | 必选 | 此知识和访客所问问题的匹配度,值范围0-1,1代表系统认为此知识时访客所问问题的准确答案,一洽会根据配置自动发送给访客作为回答。 |
1.2.6 访客满意度反馈
在访客知识问答中如果访客对问答接口提供的答案选择了满意或者不满意,一洽会将访客的反馈结果反馈给问答接口,以方便第三方知识库合理优化知识答案
dataType=evaluatData
POST内容:一洽会将问题结果的反馈组装成json格式的数据,以raw的方式post给问答接口,访客选择“解决",”未解决"一洽会发送一次返回结果,在选择了未解决原因后会在发一次请求通知
参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|
msgId | long | 必选 | 请求消息ID,全局唯一,接口幂等性判定 |
tm | long | 必选 | 请求消息产生时的时间戳 |
sessionId | String | 必选 | 此次访客对话的sessionId,用来区分每一次对话 |
searchId | String | 可选 | 此次事件反馈所在的查询的ID,在需要满意度反馈原因时此ID可用来和满意度的反馈信息进行关联,此ID为问答接口中机器人系统返回的查询ID |
queryId | String | 可选 | 此字段的作用同searchId,如果机器人系统未返回searchId字段的话可使用此字段作为反馈的唯一标识,此ID为Echat的业务查询ID |
visitorId | String | 必选 | 反馈访客的ID,可作为访客的唯一身份识别 |
ip | Long | 可选 | 访客的网络IP地址 |
question | String | 可选 | 原始访客问句 |
docId | String | 可选 | 事件所在答案的docid。比如满意度反馈的答案的docid、问题选择所在的答案的docid、转接人工发生的答案的docid |
eventType | int | 必选 | 事件类型。 1:满意度反馈 2:满意度原因反馈 3:问题选择(列表问题选择) 4:转人工点击 |
eventValue | String | 可选 | 事件值,不同的时间类型时间值不同。 eventType == 1:解决未解决值, 1:满意 2:不满意 eventType == 2:解决未解原因,比如:词不达意,信息不足等 eventType == 3:值为所选问题的docId eventType==4: 转接人工的原因: 1:不满意次数达到上限点击转接 2:没有答案次数达到上限点击转接 3:对话工具栏点击人工客服转接 4:访客输入转人工关键字自动转接 5:第三方接口转人工 eventType==5: 选择的联想问题的docId eventType==6: 客服选择的推荐问题的docId |
此接口返回"success"或者空则表示接口调用成功。
1.2.7 访客操作事件反馈
在访客知识问答中如果访客进行了问题选择点击、转人工点击等,一洽会将访客的操作反馈结接口,以方便第三方知识库分析用户的行为,改善知识结构
dataType=eventData
POST内容:一洽会将问操作事件组装成json格式的数据,以raw的方式post给问答接口
数据格式定义同满意度反馈
此接口返回"success"或者空则表示接口调用成功。
1.2.8 非文本答案格式定义(answer)
1.2.8.1 图片消息
格式:json
例如:
"answer":{
"picUrl":"http://www.xxx.com/picUrl",
"thumbUrl":"http://www.xxx.com/thumbUrl"
}
参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|
picUrl | string | 是 | 图片地址,大小不超过5M |
thumbUrl | string | 是 | 图片缩略图地址 |
1.2.8.2 语音消息(仅微信支持)
格式:json
例如:
"answer":{
"format":"mp3",
"fileUrl":"http://www.xxx.com/fileUrl",
"fileSize":1024,
"duration":6
}
参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|
fileUrl | string | 是 | 语音文件地址 |
fileSize | int | 是 | 语音文件大小 单位(kb),最大2M |
format | string | 是 | 音频格式 mp3 amr |
duration | int | 是 | 音频时长 单位 (s) 最长60s |
1.2.8.3 视频消息
格式:json
例如:
"answer":{
"fileUrl":"http://www.xxx.com/fileUrl",
"fileSize":1024,
"thumbUrl":"http://www.xxx.com/thumbUrl"
}
参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|
fileUrl | string | 是 | 视频地址,只支持mp4格式 |
thumbUrl | string | 是 | 视频缩略图地址 |
fileSize | int | 是 | 视频文件大小 单位(kb) 大小不超过10M |
1.2.8.4 echat图文消息
格式:json
例如:
"answer":{
"eventId":"eventId",
"content":"在这里填写图文消息的内容在这里填写图文消息的内容在这里填写图文消息的内容",
"imageUrl":"http://tfile.rainbowred.com/group1/M00/00/12/rBAKCFkifSKAa7stAAAQFFe-9nU432.jpg",
"title":"这里是标题",
"urlForVisitor":"http('http://m.echatsoft.com','inner')",
"urlForStaff":"http('http://m.echatsoft.com','inner')",
"memo":"这里是备注",
}
参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|
eventId | String | 否 | 图文消息的ID,可自定义前缀或者其他格式来通知业务系统图文消息的消息类型:比如:prod-123 ,order-123等 |
title | String | 否 | 图文消息的标题,如:新款风衣 |
content | String | 否 | 图文消息的描述,只支持div span style属性,如:产品的价格,优化信息等 |
imageUrl | String | 是 | 图文消息的图片地址 |
urlForVisitor | String | 否 | 图文消息提供给访客打开的url,可以为空。 url允许两种协议: http协议: 支持新窗口打开以及对话窗口的互动窗口打开。协议格式:http(url,openType) 新窗口打开:http('http://m.echatsoft.com','blank') 互动窗口打开:http('http://m.echatsoft.com','inner') 小程序协议:支持保留对话窗口打开小程序页面,支持销毁对话窗口打开小程序页面。 协议格式:xcx(url,openType) 保留对话窗口打开小程序页面:xcx('/pages/addFunction/addFunction','navigateTo') 不保留对话窗口打开小程序页面:xcx('/pages/addFunction/addFunction','redirectTo') 跳转至小程序导航页:xcx('/pages/addFunction/addFunction','switchTab') |
urlForStaff | String | 否 | 图文消息提供给客服打开的url,可以为空。支持http[s]协议和apiUrl协议。 http协议和urlForVisitor参数中的http协议一致. apiUrl协议:apiUrl(pageId,openType). pageId:业务系统的页面ID openType:打开类型 reload:重载打开 hash:不刷新已有的业务系统页面. 重载打开:apiUrl(123,'reload'); hash打开:apiUrl(123,'hash'); |
memo | String | 否 | 图文消息的描述,如:产品评价等 |
图文消息效果图示如下:
1.2.8.5 微信图文消息
格式:json
例如:
"answer":{
"articleCount":1,
"articles":[
{
"title":"图文消息title",
"description":"图文消息描述",
"picUrl":"https://www.echatsoft.com/wp-content/images/logo.png",
"url":"https://www.echatsoft.com"
}
]
}
对象 | 参数 | 类型 | 是否可选 | 描述 |
---|---|---|---|---|
articleCount | int | 是 | 图文消息个数 | |
articles | 是 | 图文消息信息,注意,如果图文数超过限制,则将只发限制内的条数 | ||
title | string | 是 | 图文消息标题 | |
description | string | 是 | 图文消息描述 | |
picUrl | string | 是 | 图片链接,支持JPG、PNG格式,较好的效果为大图360200,小图200200 | |
url | string | 是 | 点击图文消息跳转链接 |