平台业务
分配商家
本节说明平台业务中如何指定商家或子企业客服。
分配商家
平台电商版本针对QYSessionViewController扩展了分类QYPOPSessionViewController,增加了shopId配置项,可通过设置连接指定商家的客服:
//平台电商需要设置的店铺Id,不是平台电商不需要设置
sessionViewController.shopId = @"123456";平台会话管理
本节说明平台业务中的会话列表、会话状态、未读数和商家信息管理能力。
会话列表
平台电商版本会话列表未读数/会话项获取、监听变化等功能与非平台版本相同,主要有以下区别:
会话列表(海外版不支持)
可通过如下接口主动获取会话列表,用于构建会话列表页面:
/**
* 获取所有会话的列表;非平台电商用户,只有一个会话项,平台电商用户,有多个会话项
*
* @return 包含SessionInfo的数组
*/
- (NSArray<QYSessionInfo *> *)getSessionList;如需收到会话列表变化通知,实现委托中如下方法即可:
/**
* 会话列表变化;非平台电商用户,只有一个会话项,平台电商用户,有多个会话项
*/
- (void)onSessionListChanged:(NSArray<QYSessionInfo *> *)sessionList;会话列表数据以数组形式提供,每个数组元素为QYSessionInfo对象,提供如下属性:
| 属性 | 类型 | 说明 |
|---|---|---|
| lastMessageText | NSString | 会话最后一条消息文本 |
| lastMessage | NIMMessage | 会话最后一条消息 |
| lastMessageType | NSInteger | 消息类型:文本(值0)/图片(值1)/语音(值2)/视频(值3)/文件(值4)/自定义(值5),除了这些值均无效 |
| unreadCount | NSInteger | 会话未读数 |
| status | NSInteger | 会话状态:无(值0,默认状态)/排队中(值1)/会话中(值2) |
| lastMessageTimeStamp | NSTimeInterval | 会话最后一条消息时间戳 |
| hasTrashWords | BOOL | 是否存在垃圾词汇,垃圾词汇判断标准由服务端制定,默认NO |
删除会话项
因平台电商可同时有多个会话项,故支持删除某一会话,使用QYPOPConversationManager中如下接口:
/**
* 删除会话列表中的会话
*
* @param shopId 商铺ID 必填,默认为空字符串
* @param isDelete 是否删除消息记录,YES删除,NO不删除 必填,默认为NO
*/
- (void)deleteRecentSessionByShopId:(NSString *)shopId deleteMessages:(BOOL)isDelete;通过指定shopId删除对应商户会话项。
会话信息扩展
平台电商版本针对QYSessionInfo扩展了分类QYPOPSessionInfo,增加了三个属性如下:
| 属性 | 类型 | 说明 |
|---|---|---|
| shopId | NSString | 商户ID,具有唯一性,具体生成规则由服务端决定 |
| avatarImageUrlString | NSString | 商户logo |
| sessionName | NSString | 会话名称 |
消息信息扩展
平台电商版本针对QYMessageInfo扩展了分类QYPOPMessageInfo,增加了三个属性如下:
| 属性 | 类型 | 说明 |
|---|---|---|
| shopId | NSString | 商户ID |
| avatarImageUrlString | NSString | 商户logo |
| sender | NSString | 发送者(访客) |
平台业务
本节收纳平台企业或平台电商相关的基础说明和平台补充内容。
七鱼 iOS SDK 支持平台电商功能,即可实现同时与主商户/多个子商户对话。相关头文件定义在 QIYU_iOS_SDK/ExportHeaders/POP 目录中,在需要使用的地方import "QYPOPSDK.h"。
这篇文档有帮助吗?