API- iOS
iOS端原生api参考:iOS SDK 文档
原生端文档支持的功能更丰富,如果需要用相关的配置,可以参考一下。
uniapp插件提供以下方法配置:
初始化 initSdk
| 参数 | 参数说明 | 类型 | 是否必填 |
|---|---|---|---|
| appKey | 七鱼注册的企业唯一标识 | String | 是 |
| appName | 应用名称 | String | 否 |
| pkCerName | PushKit推送证书名;对应云信的pkCername(可以不传) | String | 否 |
设置用户信息(CRM信息)setUserInfo
| 参数 | 参数说明 | 类型 |
|---|---|---|
| userId | 用户唯一标识,必填且不为空,如果匿名用户则不需要调用此方法 | String |
| data | 透传数据,sdk不处理,直接转发给客服端 | String |
回调:code:200表示成功,其余表示失败
msg错误码如下:
| 错误码(msg) | 原因 |
|---|---|
| 200 | 成功 |
| -1 | 网络错误 |
| 0 | 未知错误 |
| 1 | 错误参数 |
| 2 | 必须为融合SDK |
| 3 | 帐号错误-底层通信IM帐号未登录 |
| 4 | userId错误,userId不应该为空 |
| 5 | userId变化,应走帐号切换逻辑,先调用logout |
| 8006 | 不合法请求 |
| 1001 | appkey不存在 |
| 1002 | deviceId错误 |
| 1003 | 其他错误,具体原因需要咨询服务端 |
| 1004 | auth token错误 |
打开客服页面openServiceActivity
| 参数 | 参数说明 | 类型 |
|---|---|---|
| source | 配置参数,具体传参格式及说明,参考下文表格 | 对象 |
| openMode | 打开页面的方式push/present,默认值:push | String |
| iosUi_config | iOS端使用的UI配置项,具体内容参考下文表格 | 对象 |
source 参数配置项
| 参数 | 参数说明 | 类型 |
|---|---|---|
| title | 客服页面标题 | String |
| vipLevel | vip等级 | number |
| robotId | 机器人Id | number |
| commonQuestionTemplateId | 常见问题 模板Id | number |
| robotWelcomeTemplateId | 机器人欢迎语 模板Id | number |
| staffId | 访客分流 客服Id | number |
| groupId | 访客分流 分组Id | number |
| shuntTemplateId | 多入口分流 模板Id | number |
| staffInfo | 人工客服信息,具体参数参考下文 | 对象 |
| ios_sendProduct | 是否自动发送商品卡片 | boolean |
| productDetail | 商品卡片信息,具体参数参考下文 | 对象 |
staffInfo 参数配置项
| 参数 | 参数说明 | 类型 |
|---|---|---|
| staffId | 客服ID,限制20字符 | string |
| nickName | 客服昵称,限制20字符 | string |
| robotId | 机器人Id | string |
| iconURL | 客服头像URL | string |
| accessTip | 接入提示,限制50字符 | string |
| infoDesc | 客服信息描述 | string |
productDetail 参数配置项
| 参数 | 参数说明 | 类型 |
|---|---|---|
| title | 标题 | String |
| desc | 商品描述,字符数要求小于300 | String |
| url | 跳转url,字符数要求小于1000 | String |
| picture | 商品图片链接,字符数要求小于1000 | String |
| note | 备注信息,可以显示价格,订单号等,字符数要求小于100 | String |
| show | 发送时是否在访客端隐藏,默认隐藏 | Boolean |
| sendByUser | 是否由访客主动发送,默认否;设置为YES,消息下方新增发送按钮 | Boolean |
| actionText | 发送按钮文案 | String |
| actionTextColorTip | 发送按钮文案颜色 要求传入十六进制,例如:0xFFDB7093 | String |
| cardType | 商品卡片标识,填写后有助于机器人识别商品和后续业务。共三种类型:商品(值0)、订单(值1)、自定义卡片(值2) | number |
| goodsCId | 最多100字符,商品所属类目ID,填写后有助于机器人识别商品和后续业务 | String |
| goodsCName | 最多10字,商品所属类目名称 | String |
| goodsId | 最多100字符,商品唯一标识符,填写后有助于机器人识别商品和后续业务 | String |
| orderId | 交易订单号(父订单的交易编号),当卡片类型为订单时,推荐必填 | String |
| intent | 支持商品卡片带参数给一触即达,为空则直接发送商品卡片给机器人,不为空则用这个字段内容去匹配一触即达流程 | String |
iosUi_config 参数配置项
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| themeColor | String | 七鱼蓝 | 聊天页面主题色 十六进制 |
| rightItemStyleGrayOrWhite | BOOL | true-灰色 | 导航栏右侧按钮风格 |
| showCloseSessionEntry | BOOL | false-隐藏 | 导航栏右侧退出会话按钮 |
| showHeadImage | BOOL | true-显示 | 消息流头像 |
| showTopHeadImage | BOOL | false-隐藏 | 导航栏客服头像 |
| customerHeadImageUrl | String | nil | 访客头像URL |
| customMessageTextColor | String | 白色 | 访客文本消息字体颜色 |
| customMessageHyperLinkColor | String | 白色 | 访客文本消息链接字体颜色 |
| customMessageTextFontSize | float | 16 | 访客文本消息字体大小 |
| serviceHeadImageUrl | String | nil | 客服头像图片地址 |
| isWebFirst | BOOL | FALSE | 客服头像优先级 true 管理端配置优先 false 代码配置优先 |
| serviceMessageTextColor | String | 深灰色 | 客服文本消息字体颜色 |
| serviceMessageHyperLinkColor | String | 七鱼蓝 | 客服文本消息链接字体颜色 |
| serviceMessageTextFontSize | float | 16 | 客服文本消息字体大小 |
| tipMessageTextColor | String | 白色 | 提示文本消息字体颜色 |
| tipMessageTextFontSize | float | 12 | 提示文本消息字体大小 |
| bypassDisplayMode | number | 底部(值为2) | 访客分流展示模式 1中间展示,2底部展示 |
| sessionMessageSpacing | float | 0 | 消息竖直方向间距 |
| headMessageSpacing | float | 4 | 头像与消息气泡间距 |
| messageButtonTextColor | String | 白色 | 消息内强提示按钮文字颜色 |
| messageButtonBackColor | String | 七鱼蓝 | 消息内强提示按钮底色 |
| actionButtonTextColor | String | 灰色 | 输入框上方操作按钮文字颜色 |
| actionButtonBorderColor | String | 灰色 | 输入框上方操作按钮边框颜色 |
| inputTextColor | String | 深灰色 | 输入框字体颜色 |
| inputTextFontSize | float | 14 | 输入框字体大小 |
| inputTextPlaceholder | String | 默认文案 | 输入框占位文案 |
| showAudioEntry | BOOL | true-显示 | 输入栏语音按钮-人工 |
| showAudioEntryInRobotMode | BOOL | true-显示 | 输入栏语音按钮-机器人 |
| showEmoticonEntry | BOOL | true-显示 | 输入栏表情按钮 |
| showImageEntry | BOOL | true-显示 | 输入栏相机按钮 |
| imagePickerColor | String | 七鱼蓝 | 照片/视频选择页面主题颜色 |
| autoShowKeyboard | BOOL | true-弹出 | 自动弹出键盘 |
| bottomMargin | float | 0 | 聊天页面距离界面底部间距 |
| showShopEntrance | BOOL | false-隐藏 | 导航栏右侧商铺入口按钮 |
| showSessionListEntrance | BOOL | false-隐藏 | 会话列表入口按钮 |
| sessionListEntrancePosition | BOOL | true-右上角 | 会话列表入口位置 |
| sessionTipTextColor | String | 橘色 | 会话窗口上方提示条字体颜色 |
| sessionTipTextFontSize | CGFloat | 14 | 会话窗口上方提示条字体大小 |
| sessionTipBackgroundColor | String | 黄色 | 会话窗口上方提示条背景颜色 |
logout方法
切换账号时需要调此方法,再调setUserInfo 回调:success:true或者1表示成功,false或者0表示失败。setUserInfo如果报错5,则表示需要先调用logout方法,然后再调用setUserInfo方法
updateOptions()
| 参数 | 参数说明 | 类型 |
|---|---|---|
| isPullMessageFromServer | 帐号登录后是否拉取漫游消息 | Boolean |
该方法只有isPullMessageFromServer适用于iOS端,其他参数设置仅对安卓生效。
sendProductMessage()
参数参考上文productDetail部分
sendTextMessage()
| 参数 | 参数说明 | 类型 |
|---|---|---|
| text | 发送消息的内容 | String |
allUnreadCount() 获取未读消息数
无入参,返回String类型的未读消息数
clearUnreadCount() 清空未读消息数
无入参,无返回值
##监听和回调方法
requestStaffBeforeBlock() 请求客服前的回调
无入参,即将请求客服时会触发回调
requestStaffAfterBlock() 请求客服后的回调
无入参,请求客服后会触发回调
linkClick() 点击超链接回调
| 参数 | 参数说明 | 类型 |
|---|---|---|
| isUserDefaultWebView | 传1则使用七鱼默认webview打开链接,传0或者不传这个字段,则只有回调,不打开webview,webview的打开交给开发者自行实现 | Boolean |
点击超链时会触发回调
commodityActionBlock() 订单卡片按钮点击事件
无入参,点击订单卡片按钮会触发回调
onUnreadCountChangedCallback() 未读消息数发生变化回调
无入参,未读消息数发生变化会触发回调
onReceiveMessageCallback() 收到新的消息回调
无入参,收到新的消息会触发回调,回调携带的参数如下:
| 参数 | 参数说明 | 类型 |
|---|---|---|
| text | 消息文本内容 | String |
| type | 消息类型(0-文本、1-图片、2-语音、3-视频、4-文件、5-自定义) | number |
| timeStamp | 消息时间 | number |
回调事件
| 回调事件 | 功能 |
|---|---|
| requestStaffBeforeBlock | 请求客服前会触发回调 |
| requestStaffAfterBlock | 请求客服后会触发回调 |
| linkClick | 点击链接时的回调。isUserDefaultWebView传1则使用七鱼默认webview打开链接,传0或者不传这个字段,则只有回调,不打开webview,webview的打开交给开发者自行实现 |
| commodityActionBlock | 订单卡片按钮点击事件 |
| onUnreadCountChangedCallback | 未读消息数发生变化触发回调 |
| onReceiveMessageCallback | 收到消息时会触发 |
| photoPermissionCallback | 相册权限被拒绝后再次需要使用麦克风时的回调,不实现此方法默认使用七鱼的效果。默认文案:请在iPhone的“设置-隐私-照片”选项中,允许访问你的相册 |
| cameraPermissionCallback | 相机权限被拒绝后再次需要使用麦克风时的回调,不实现此方法默认使用七鱼的效果。默认文案:请在iPhone的“设置-隐私-相机”选项中,允许访问你的相机 |
| microPermissionCallback | 麦克风权限被拒绝后再次需要使用麦克风时的回调,不实现此方法默认使用七鱼的效果。默认文案:请在iPhone的“设置-隐私-麦克风”选项中,允许访问你的麦克风 |
这篇文档有帮助吗?