云服务器内容精选

  • 工作原理 统一认证SDK是基于JWT实现的一种认证机制,Json web token (JWT)是在网络应用环境间为了传递声明而执行的一种基于JSON的开放标准(RFC 7519)。该token的设计紧凑且安全,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便从资源服务器获取资源。它也可以被增加一些其它业务逻辑所必须的声明信息。该token可直接被用于认证,也可被加密。 API请求方将请求的用户信息利用私钥哈希生成签名,将用户信息与签名合并生成token,在调用API时将token传递给被调用方,API被调用方获取到此token后,利用公钥验证此token的正确性。 图1 机机认证方案
  • 操作步骤 调用座席软电话信息查询接口(queryAgentInfo)获取可用于同步的信息。 按以下格式要求获取URL,选择GET方式。 HTTPS方法:GET URL:http(s)://Domain Address/apiaccess/CC-Mangemant/v1/queryAgentInfo Domain Address请根据云客服实际的地址或域名进行替换。 例如,在华为公有云生产环境,请将Domain Address替换为service.besclouds.com,则调用URL为https://service.besclouds.com/apigovernance/api/oauth/tokenByAkSk HTTP协议是不安全协议,可能会对系统带来风险,不推荐使用。建议使用安全的HTTPS协议。 将x-app-key和Authorization的值按调用样例的格式输入到Header,获取所需输出参数,如图1所示。您可以通过表1和表2了解请求参数属性和返回参数属性的要求。 图1 queryAgentInfo调用 表1 RequestHeader说明 参数名 参数类型 参数位置 是否必填 说明 x-app-key string header True app标识。即您的app_key Authorization string header True 鉴权信息。为"Bearer "+鉴权接口获得的AccessToken Example { "x-app-key":XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "Authorization":Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX } 表2 ResponseBody说明 参数名 参数类型 参数位置 是否必填 说明 sipServiceIp string body False 软电话注册地址,IPV4格式。 sipServicePort int body False 软电话注册端口,值为1~65535。 agents list body True 座席集合。 workNo int agents True 座席工号。 sipAccount string agents False 软电话号码。 sipPwd string agents False 软电话密码。 accountCode string agents False 云客服登录账号。 Example { "sipServiceIp":"10.100.10.10", "sipServicePort":1000, "agents": [ { "workNo": 1001, "accountCode": "11", "sipAccount": "1001", "sipPwd": "cti-1234" } ] } 同步到座席相关信息后,您可能还需要在您的系统中完成如下事项: (可选)将您业务系统中的账户与云客服座席对象做关联,在开发集成页面步骤请求云客服时需要用到关联好的账户。如果您期望企业业务系统的用户每次登录时自行选择云客服账号登录云客服,可以跳过该步骤。 (可选)为座席提供软电话号码、软电话密码以及软电话注册地址/端口号,座席需要使用这些信息登录OpenEye客户端,进行呼入呼出操作。如果您使用OpenEye以外的SIP软电话工具进行呼叫操作可以跳过该步骤。
  • 获取身份认证方式的认证结果 AICCSupport.getVerifyResult(verifyTypeCode); verifyTypeCode是getVerifyResult方法的参数“身份认证方式编码”,用于指定要获取身份验证结果的身份认证方式。 表1 getVerifyResult输入参数说明 参数名 参数类型 参数解释 是否必填 说明 verifyTypeCode string 身份认证方式编码 是 只可以允许字母、数字和下划线 表2 getVerifyResult输出参数说明 参数名 参数类型 参数解释 是否必填 说明 verifyResult string 身份认证结果 是 枚举值。 0:未返回 1:通过 2:失败 3:异常 空字符串表示身份认证方式编码不合法
  • 背景信息 坐席工作台集成身份认证功能,在业务代表为客户查询或办理某些特定业务时,需要获取客户的身份验证授权,才可进行下一步操作。 身份验证的典型业务流程如图1所示。 业务代表接入客户电话后在音视频工作台对客户发起身份验证流程,身份验证流程由用户配置的IVR流程决定。IVR流程中需要配置用户用于身份验证的第三方接口,该接口根据随路数据中传递的参数以及用户的输入信息进行身份验证,并且返回认证结果给音视频工作台。可以根据返回的认证结果决定业务代表是否拥有为客户查询或者办理某些特定业务的操作权限。 图1 业务流程 一个简单的典型的身份认证配置的IVR流程内容如图2所示。 图2 IVR流程图
  • 二次开发接口 IVR流程传递给三方接口的body参数内容: { "calldata":{ // 随路数据 "verifyServiceNo":"88880011", // 身份认证受理号码 "verifyWorkNo":"371" // 身份认证座席工号 } } 三方接口需返回的body参数内容: calldata:{ // 随路数据 "data":{ "verifyResult":0, // 身份认证结果:0:未返回 1:通过,2:失败,3:异常 "verifyReturn1":"", // 身份认证返回数据1 "verifyReturn2":"",// 身份认证返回数据2 "verifyReturn3:"","" // 身份认证返回数据3 } } 企业开发人员基于JS OpenAPI开发企业业务系统页面用于集成到AICC座席工作台,可通过接口获取认证结果。 AICCSupport.getVerifyResult(verifyTypeCode) 结果返回对象格式: { "verifyResult":0, // 身份认证结果:0:未返回 1:验证通过,2:验证失败,3:验证异常 }
  • 前提条件 角色拥有身份认证权限 新租户的租户管理员默认拥有该权限,老租户需使用升级脚本进行升级,升级后的租户管理员也拥有该权限。拥有该权限的租户管理员可赋予该权限给其他角色。 角色拥有身份认证配置权限 新租户的租户管理员默认拥有该权限,老租户需使用升级脚本进行升级,升级后的租户管理员也拥有该权限。 角色拥有身份认证记录查询权限 新租户的租户管理员默认拥有该权限,老租户需使用升级脚本进行升级,升级后租间管理员也拥有该权限。有身份认证记录查看权限的租间管理员默认有可查看租间所有的身份认证记录的权限,拥有该权限的租户管理员可赋予该权限给其他角色。 有开启的身份认证配置
  • 收集信息 表1 收集信息 项目 说明 私钥/公钥获取URL/密钥ID/公钥/appId 访问私钥是在CraftArts IPDCenter API交互过程身份凭证。通过私钥生成认证凭据,用于确保请求者身份的正确性。公钥获取URL自动获取公钥的地址,通过此地址,可自动获取公钥信息,用于检验认证凭据的正确性。 公钥获取URL地址为:https://域名/文根/basic/mgmt//public/api/v1/keymanage/getPublicKeyList appId、公钥、私钥与密钥ID见下面获取方式。
  • 步骤1:创建自定义连接器 参考如何登录新版应用设计器中操作,登录新版应用设计器。 在左侧导航栏中,选择“集成”。 单击“连接器”中的“ 连接器实例”,进入连接器实例页面。 在类型中,选择“自定义连接器”,进入自定义连接器页面。 单击“+”,配置连接器信息,单击“保存”。 图2 创建自定义连接器 标签:REST服务的标签名。 名称:REST服务的名称,系统会自动在该名称前添加命名空间__。 图标:REST服务的图标。 描述:REST服务的相关描述信息。 在“动作”页签中,新建自定义连接器动作,设置动作的基本信息,单击“下一步”。 图3 新建动作-设置基本信息 (可选)设置消息头入参,单击“下一步”。 若此接口没有消息头输入参数,则不需要配置参数,请删除第一行参数。若有消息头输入参数,且有多个,请单击“新增”。 图4 消息头入参配置页面 设置输入参数,单击“下一步”。 该步骤配置的是请求的路径或消息体对应的内容,由参数的“参数位置”决定是路径参数还是消息体参数。 此案例中,我们要配置一个URL查询参数为key,请求体参数request的入参。 图5 输入参数配置页面 设置输出参数,单击“保存”。 配置输出的参数,取决于“参数位置”,该参数可能来自于响应消息头或者请求消息头。此案例中,我们了解到响应体有一个response的参数。 图6 输出参数配置页面 在动作页签,单击该动作所在行的,启用该动作。
  • 场景描述 通过使用AstroZero的自定义连接器、服务编排或脚本功能,带您快速对接一个外部服务的接口并暴露为自己的接口。在此案例中,假设您需要对接一个已有的Rest服务,通过Rest服务获取数据并加工,最终暴露为自己的服务接口。 以表1中的Rest服务接口为例,介绍如何在AstroZero中配置对应的自定义连接器。 表1 Rest服务接口 参数 值 路径 https://example.com/path/to/data?key=value 请求方法 POST 请求头 X-Header 请求体类型 application/json 请求体参数 { “request”: “value” } 响应体类型 application/json 响应体参数 { “response”: “value” }
  • 准备开发环境 安装开发工具 请根据所使用语言选择适合的开发工具。 安装2018.3.5或以上版本的IntelliJ IDEA,安装包请至IntelliJ IDEA官方网站下载。 安装3.0.3及以上版本Apache Maven,安装包请至Maven官方下载页面下载。 安装2019 version 16.8.4及以上版本的Visual Studio,安装包请至Visual Studio官方网站下载。 安装开发语言环境 Java:安装1.8.111或以上版本的Java Development Kit,安装包请至Oracle官方下载页面下载。 Python:安装2.7或3.X版本的Python,安装包请至Python官方下载页面下载。 Go:安装1.14及以上版本的Go,安装包请至Go官方下载页面下载。 C#:安装6.0及以上版本的.NET,安装包请至.NET官方下载页面下载。
  • 配置设备连接信息 解压Demo压缩包,在“src”目录的底层路径下找到DeviceConnectDemo.java文件。 使用Java编辑工具打开这个文件,编辑设备连接的信息。运行成功后,在“设备管理”页面可以看到在线设备状态。 Demo工程中依赖的软件包在lib目录下,使用Demo时需要将demo的lib目录设置为当前工程的lib目录。 // 设备连接地址,格式为:tcp://ip:port final String host = ""; // 设备客户端ID final String clientId = ""; // 示例仅用作测试或示意,设备认证的用户名为敏感信息,请勿硬编码使用 final String userName = ""; // 示例仅用作测试或示意,设备认证的密码为敏感信息,请勿硬编码使用 final String password = ""; // 设备Publish权限的Topic final String pubTopic = ""; // 设备Subscribe权限的Topic final String subTopic = ""; // 设备发送的消息内容 final String payload = "hello world.";
  • 前提条件 准备装有1.8及以上版本JDK的Linux服务器。 IntelliJ IDEA版本为:2018.3.5或以上版本,Eclipse版本为:3.6.0或以上版本。 通过Demo获取MysqlConnctor.rar包。 如果使用自定义连接器来写数据,需要用户自行保证数据的可重复幂等写入。 RESTful接口单次请求的处理时间不能超过60s。 FDI端会循环调用RESTful接口地址,直到读完数据为止。
  • 背景信息 坐席工作台集成身份认证功能,在业务代表为客户查询或办理某些特定业务时,需要获取客户的身份验证授权,才可进行下一步操作。 身份验证的典型业务流程如图1所示。 业务代表接入客户电话后在音视频工作台对客户发起身份验证流程,身份验证流程由用户配置的IVR流程决定。IVR流程中需要配置用户用于身份验证的第三方接口,该接口根据随路数据中传递的参数以及用户的输入信息进行身份验证,并且返回认证结果给音视频工作台。可以根据返回的认证结果决定业务代表是否拥有为客户查询或者办理某些特定业务的操作权限。 图1 业务流程 一个简单的典型的身份认证配置的IVR流程内容如图2所示。 图2 IVR流程图
  • 二次开发接口 IVR流程传递给三方接口的body参数内容: { "calldata":{ // 随路数据 "verifyServiceNo":"88880011", // 身份认证受理号码 "verifyWorkNo":"371" // 身份认证座席工号 } } 三方接口需返回的body参数内容: calldata:{ // 随路数据 "data":{ "verifyResult":0, // 身份认证结果:0:未返回 1:通过,2:失败,3:异常 "verifyReturn1":"", // 身份认证返回数据1 "verifyReturn2":"",// 身份认证返回数据2 "verifyReturn3:"","" // 身份认证返回数据3 } } 企业开发人员基于JS OpenAPI开发企业业务系统页面用于集成到AICC座席工作台,可通过接口获取认证结果。 AICCSupport.getVerifyResult(verifyTypeCode) 结果返回对象格式: { "verifyResult":0, // 身份认证结果:0:未返回 1:验证通过,2:验证失败,3:验证异常 }
  • 前提条件 角色拥有身份认证权限 新租户的租户管理员默认拥有该权限,老租户需使用升级脚本进行升级,升级后的租户管理员也拥有该权限。拥有该权限的租户管理员可赋予该权限给其他角色。 角色拥有身份认证配置权限 新租户的租户管理员默认拥有该权限,老租户需使用升级脚本进行升级,升级后的租户管理员也拥有该权限。 角色拥有身份认证记录查询权限 新租户的租户管理员默认拥有该权限,老租户需使用升级脚本进行升级,升级后租间管理员也拥有该权限。有身份认证记录查看权限的租间管理员默认有可查看租间所有的身份认证记录的权限,拥有该权限的租户管理员可赋予该权限给其他角色。 有开启的身份认证配置