开发者文档 开发者文档
帮助中心 (opens new window)
帮助中心 (opens new window)
  • 呼叫中心V6

    • 接口功能规范
    • 基础管理 API
    • 数据服务 API
    • 呼叫能力 (https)
    • 呼叫能力 (JS-SDK)
    • 呼叫能力 (UI电话条)
    • 呼叫事件 (TS)
    • 呼叫能力 (Andorid-SDK)
    • 呼叫能力 (iOS-SDK)
  • 外呼机器人V5
  • 语音类产品 API
  • 呼叫中心V6
智齿科技
2022-09-15
目录

iOS-sdk

# iOS 集成说明

智齿客服为企业提供了一整套完善的智能客服解决方案。智齿呼叫 SDK 为其提供所有呼叫相关功能支持,仅需提供使用的账户,就能完成呼叫任务、外呼、呼叫监听、呼叫记录等操作。

智齿呼叫 SDK 具有以下特性:

  • 提供登录-使用-退出完整流程。
  • 分 2 种登录模块,外部登录同步 token 和常规用户名、密码登录。
  • 支持呼叫话机注册、呼叫记录查询、呼叫监听、坐席状态切换等基础功能。

图片

相关限制及注意事项:
1、iOS SDK 新版支持 iOS9 以上版本,同时支持 iPhone、iPad,支持竖屏和横屏。

2、目前发布 XCode 版本为 XCode 12.3.1,建议使用新版开发。

3、iOS 需要麦克风权限,否则呼叫功能无法使用。

4、SDK 不可与智齿客服 APP 中的呼叫功能以及智齿 PC 工作台中呼叫功能同时使用。

# 文档介绍

# ● 集成流程示意图

图片

# ● 文件说明

SDK 包含(SobotCall.framework、SobotCommon.framework、SobotCall.bundle和SobotCommon.bundle)、SobotCallDemo、和 Doc 相关说明文档。

文件 描述
SobotCall.framework 智齿呼叫 SDK 代码库
SobotCommon.framework 智齿代码基础依赖库
SobotCommon.bundle 基础工具包的资源库,包含图片文件、多语言文件、颜色
SobotCall.bundle SDK资源库,包含图片文件、多语言文件、颜色
SobotCallApi.h 该文件提供接入功能
SobotCallParameter.h 基础UI配置参数类
SobotCallCacheEntity.h 基础功能参数类(域名、颜色、语言、显示模式等)
SobotCallHomeController.h 呼叫入口界面
SobotCallClient.h 基础功能

# 集成方式

# ● 手动集成

下载链接:iOS_CallSDK_2.0.0 (opens new window)

解压[iOS_SDK],添加必要文件SobotCall.framework、SobotCommon.framework、SobotCommon.bundle和SobotCall.bundle到你的工程里。

# ● CocoaPods 集成

在podfile中加入:

// 使用最新版本
pod 'SobotCallSDK'

1
2
3

如果搜索不到最新版本,请运行以下命令更新 CocoaPods 仓库:

pod repo update --verbose
如果无法更新到最新版本,可以删除索引文件,重新尝试
rm ~/Library/Caches/CocoaPods/search_index.json

1
2
3
4

清除pod缓存:

删除代码中的pod 文件夹,
pod cache clean SobotCallSDK
再重新 pod install
1
2
3

# 功能说明

# ● 域名设置

域名说明:

  • 默认SaaS平台域名为:https://api.sobot.com。

  • 如果您是腾讯云服务,请设置为:https://www.soboten.com。

  • 如果您是本地化部署,请使用自己的部署的服务域名。

示例代码:


	SobotCallCacheEntity *config = [[SobotCallCacheEntity alloc] initWithBundleName:@"SobotCall"];
	    
    // 通用接口服务地址
    config.openApiHost = @"https://api.sobot.com";
    // 呼叫接口服务地址
    config.callApiHost = @"https://openapi.sobot.com";
    // 坐席信令服务
    config.stompSocketUri = @"wss://openapi.sobot.com/v6.0.0/webmsg/cc-webmsg";
    // janus 消息监听服务
    config.janusSocketUri = @"wss://rtc.sobot.com.cn/janus";
    
    // janus 代理服务
    config.sipProxy = @"sip:192.168.30.68:5060";
   
   
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ● 初始化

初始化参数和调用方式:初始化信息 SobotCallCacheEntity 设置功能相关属性;初始化方法为本地执行,不会有异步请求,设置后立即生效。

主要调用代码如下:

【注意:启动智齿呼叫 SDK 之前,必须调用初始化接口 initWithConfig,否则将无法启动 SDK 】

方法:



/// 初始化配置
/// @param config  SobotCallCacheEntity 配置类,域名/国际化/资源
/// @param kitInfo SobotKitConfig 配置类
/// @param resultBlock 初始化回调 (NSInteger code,id _Nullable obj,NSString *_Nullable msg);
+(void)initWithConfig:(SobotCallCacheEntity *) config  kitInfo:(SobotCallParameter *)kitInfo result:(SobotCallResultBlock) resultBlock;




1
2
3
4
5
6
7
8
9
10
11

参数:

参数 类型 必填 描述
config NSObject 是 软件基础配置,指定域名、资源名称、语言等
kitInfo NSObject 是 UI相关配置
resultBlock Block 否 初始化状态回调,code=1 成功

示例代码:


SobotCallCacheEntity *config = [[SobotCallCacheEntity alloc] initWithBundleName:@"SobotCall"];
	// 指定bundle名称
    config.bundleName = @"SobotCall"; 
    // 指定国际化文件在bundle中的路径
    config.languageTableName = @"SobotLocal";     
    // 指定国际化文件名称
    config.languagePathInBundle = @"Localizable"; 
    // 指定颜色在bundle中的文件名称
    config.colorTableName = @"SobotColor";
    // 指定语言
    config.absoluetelanguage = @"zh-Hans";
    
    // 通用接口服务地址
    config.openApiHost = @"https://api.sobot.com";
    // 呼叫接口服务地址
    config.callApiHost = @"https://openapi.sobot.com";
    // 坐席信令服务
    config.stompSocketUri = @"wss://openapi.sobot.com/v6.0.0/webmsg/cc-webmsg";
    // janus 消息监听服务
    config.janusSocketUri = @"wss://rtc.sobot.com.cn/janus";
    
    // janus 代理服务
    config.sipProxy = @"sip:192.168.30.68:5060";
    SobotCallParameter *kitInfo = [[SobotCallParameter alloc]init];
    kitInfo.showHomeBack = NO;
    [SobotCallApi initWithConfig:config kitInfo:kitInfo result:^(NSInteger code, id  _Nullable obj, NSString * _Nullable msg) {

    }];

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# ● 权限设置

需要加入的权限

<key>NSMicrophoneUsageDescription</key>
<string>语音通话需要访问您的麦克风权限</string>
1
2
# ● 启动智齿页面
# 1. 启动呼叫首页

方式1:直接使用我们提供的方法,自动完成登录并跳转页面。 方法:


/// 启动SDK 进入呼叫SDK首页
/// @param account  账号
/// @param loginPwd 密码
/// @param vc 启动VC
/// @param resultBlock 回调结果
+(void)startWithAcount:(NSString *)account password:(NSString *)loginPwd viewController:(UIViewController *)vc result:(SobotResultBlock) resultBlock;

/// 添加启动页面
/// token 非accessToken,账号登录返回的地址,内部自动判断新旧版本
+(void)startWithToken:(NSString *) token viewController:(UIViewController *) vc result:(SobotCallResultBlock) resultBlock;
    
    
1
2
3
4
5
6
7
8
9
10
11
12
13

参数

参数 类型 必填 描述
account NSString 是 客服账户
loginPwd NSString 是 客服账户密码
vc UIViewController 是 执行跳转的vc
resultBlock Block 否 执行结果,code=1 为成功

示例代码:


[SobotCallApi startWithAcount:loginAccount password:password viewController:self result:^(NSInteger code, id  _Nullable obj, NSString * _Nullable msg) {
}];

1
2
3
4

方式2:直接创建 SobotCallHomeController,自己完成登录并跳转页面。需要先完成登录,然后再执行跳转。 方法:



/// 登录
/// @param account 账号
/// @param loginPwd 密码
/// @param resultBlock 回调结果
+(void)loginUser:(NSString *)account password:(NSString * )loginPwd result:(SobotCallResultBlock) resultBlock;

/// 登录(使用token)
/// @param account 账号
/// @param loginPwd 密码
/// @param token token
/// @param resultBlock 回调结果
+(void)loginUser:(NSString *)account password:(NSString * )loginPwd  token:(NSString *) token  result:(SobotCallResultBlock) resultBlock;
1
2
3
4
5
6
7
8
9
10
11
12
13
14

参数

参数 类型 必填 描述
account NSString 是 客服账户
loginPwd NSString 否 客服账户密码,仅 token 为空时使用
token NSString 否 已登录的 token,使用token方式时不要设置密码,设置密码会重新登录,刷新token
vc UIViewController 是 执行跳转的 vc
resultBlock Block 否 执行结果,code=1 为成功

事例:



[SobotCallApi loginUser:fieldUserName.text password:fieldPassword.text token:fieldToken.text result:^(NSInteger code, id  _Nullable obj, NSString * _Nullable msg) {
    if(code == 1){
		// 直接创建VC,自行决定使用
		SobotCallHomeController *orderHomeVC = [[SobotCallHomeController alloc]init];
    }
}];

1
2
3
4
5
6
7
8
9
# ● 登录


/// 登录
/// @param account 账号
/// @param loginPwd 密码
/// @param resultBlock 回调结果
+(void)loginUser:(NSString *)account password:(NSString * )loginPwd result:(SobotCallResultBlock) resultBlock;

/// 登录(使用token)
/// @param account 账号
/// @param loginPwd 密码
/// @param token token
/// @param resultBlock 回调结果
+(void)loginUser:(NSString *)account password:(NSString * )loginPwd  token:(NSString *) token  result:(SobotCallResultBlock) resultBlock;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# ● 退出登录

     
/// 退出SDK
/// @param resultBlock 回调结果
+(void)outSobotUser:(SobotCallResultBlock) resultBlock;

1
2
3
4
5
6
# ● 设置调试模式


/// 设置是否 Debug模式,默认为NO,不显示日志
/// @param isShowDebug  YES or NO
+(void)setShowDebug:(BOOL) isShowDebug;

1
2
3
4
5
6

# 配置类属性说明

# ● SobotCallParameter 类说明

配置立即生效,使用 SobotCallApi.h 中的如下函数配置,初始化和直接配置后配置覆盖前一个设置值;

参数 类型 必填 描述
showHomeBack BOOL 否 首页是否显示返回按钮,默认NO,不显示。

设置方法:

/// 更改kitConfig配置
/// @param kitConfig  congfig配置
+(void)configKitInfo:(SobotCallParameter *) kitConfig;


/// 初始化配置
/// @param config  SobotCallCacheEntity 配置类,域名/国际化/资源
/// @param kitInfo SobotKitConfig 配置类
/// @param resultBlock 初始化回调 (NSInteger code,id _Nullable obj,NSString *_Nullable msg);
+(void)initWithConfig:(SobotCallCacheEntity *) config  kitInfo:(SobotCallParameter *)kitInfo result:(SobotCallResultBlock) resultBlock;

1
2
3
4
5
6
7
8
9
10
11
# ● SobotCallCacheEntity类说明

初始化时必须配置此属性,配置一次即可,无需重复配置。

参数 类型 必填 描述
bundleName NSString 否 资源名称,默认 SobotOrder,默认 SobotOrder。
languagePathInBundle NSString 否 bundle中的国际化文件路径 , 固定值Localizable。
languageTableName NSString 否 bundle中国际化文件名称,固定值SobotLocal。
colorTableName NSString 否 bundle中颜色文件名称,固定值:SobotColor。
absoluetelanguage NSString 否 指定语言,默认跟随系统。
defaultlanguage NSString 否 无法识别时默认语言,默认跟随系统。
openApiHost NSString 否 公共接口域名。
callApiHost NSString 否 呼叫服务域名。
stompSocketUri NSString 否 坐席状态监听服务地址。
janusSocketUri NSString 否 janus链接服务地址。
sipProxy NSString 否 janus代理服务地址。

# 源码和Demo

智齿 SDK 功能体验 Demo下载地址 (opens new window)

# 常见问题

1.token 怎么获取?
通过智齿登录接口获取登录 token,注意此处 token 为开发模块获取的token,非新版 v6 版本accessToken,如果无法获取请使用用户名、密码完成登录,体验效果完全一样,请放心使用。

2.无法正常登录?
登录之前请确认是否执行初始化操作,初始化操作为本地赋值;不会有异步请求,主要会设置域名及基础配置信息,确认登录信息正确的情况下,主要验证一下是否为域名不匹配。

3.如果把呼叫主页面嵌入到其它框架使用?
请参考 Demo 项目,其中有使用tabbar把工单中心页面放入到里面管理的事例。

4.如果监听呼叫提醒?
目前呼叫没有消息通知,如果需要监听消息,请查看 SobotCallClient.h 中消息监听相关配置。

# 更新说明

《SDK 版本更新说明》 (opens new window)

# 智齿科技 SDK 收集使用个人信息说明

《智齿科技 SDK 收集使用个人信息说明》 (opens new window)

上次更新: 2022/9/13 下午3:14:30
最近更新
01
Android SDK
09-15
02
JavaScript-SDK API 设计
09-15
03
呼叫能力消息格式
09-15
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式