用户端集成 - IM在线客服
用户端发送客服消息
实现在线客服功能时,用户端发送消息调用的方法与私聊/群聊消息是一致的:
唯一的要注意的就是:创建消息时,接收方(to)为一个客服团队,而不是一个群或者一个用户。
比如,创建文本消息时,注意参数to的不同, to.type为GoEasy.IM_SCENE.CS,表明这是一条客服消息, to.id为要咨询的teamId, to.data为您自定义的客服团队信息,用于显示在会话列表。
goEasy.im.createTextMessage({
text: '你好,我想咨询一个问题',
to: { //接收方
type: GoEasy.IM_SCENE.CS,// 消息场景:客服消息
id: 'team001', //要咨询的客服团队或者商家id,比如店铺Id之类的
data: { //要咨询的客服团队或者商家信息,用于更新会话列表
name: 'GoEasy技术支持',
avatar: 'https://xxx.png'
}
},
onSuccess: (message) => {
console.log("文字消息创建成功。")
},
onFailed: (e) => {
console.log('error :', e);
}
})
用户端接收消息
监听客服消息:
function onCsMessageReceived(message) {
console.log('接收客服消息:', message);
}
goEasy.im.on(GoEasy.IM_EVENT.CS_MESSAGE_RECEIVED, onCsMessageReceived)
取消监听客服消息:
goEasy.im.off(GoEasy.IM_EVENT.CS_MESSAGE_RECEIVED, onCsMessageReceived)
会话列表
在线客服用户端会话列表的查询与变化监听,与常规的IM消息会话列表是一致的,唯一的区别就是conversation的类型cs,而不是private或group.
历史消息
在线客服用户端查询历史消息的方法, 与群聊和私聊都是一致的:
区别是查询客服历史消息时,参数type为 GoEasy.IM_SCENE.CS
。
goEasy.im.history({
type: GoEasy.IM_SCENE.CS, //查询客服消息
id: 'team001', //客服团队或者商家id
lastTimestamp: lastMessageTimeStamp,//空表示查询最新的,也可以传入上次查询的最后一条消息id,接着查询
limit: 10,//每次查询十条
onSuccess: (result) => {
console.log('历史消息', result);
},
onFailed: (error) => {
console.log('获取历史消息失败:', error);
}
});