
# 开发获取身份认证结果功能
#### 背景信息
坐席工作台集成身份认证功能，在业务代表为客户查询或办理某些特定业务时，需要获取客户的身份验证授权，才可进行下一步操作。
身份验证的典型业务流程如[图1]所示。
业务代表接入客户电话后在音视频工作台对客户发起身份验证流程，身份验证流程由用户配置的IVR流程决定。IVR流程中需要配置用户用于身份验证的第三方接口，该接口根据随路数据中传递的参数以及用户的输入信息进行身份验证，并且返回认证结果给音视频工作台。可以根据返回的认证结果决定业务代表是否拥有为客户查询或者办理某些特定业务的操作权限。
图1业务流程   
![](https://support.huaweicloud.com/devg-workbench-cec/figure/zh-cn_image_0000001795592152.png)
一个简单的典型的身份认证配置的IVR流程内容如[图2]所示。
图2IVR流程图   
![](https://support.huaweicloud.com/devg-workbench-cec/figure/zh-cn_image_0000001842351593.gif)
#### 前提条件
1. 角色拥有身份认证权限 新租户的租户管理员默认拥有该权限，老租户需使用升级脚本进行升级，升级后的租户管理员也拥有该权限。拥有该权限的租户管理员可赋予该权限给其他角色。
   
2. 角色拥有身份认证配置权限 新租户的租户管理员默认拥有该权限，老租户需使用升级脚本进行升级，升级后的租户管理员也拥有该权限。
   
3. 角色拥有身份认证记录查询权限 新租户的租户管理员默认拥有该权限，老租户需使用升级脚本进行升级，升级后租间管理员也拥有该权限。有身份认证记录查看权限的租间管理员默认有可查看租间所有的身份认证记录的权限，拥有该权限的租户管理员可赋予该权限给其他角色。
   
4. 有开启的身份认证配置
 
#### 身份认证功能配置步骤
1. 流程管理页面中配置好身份验证流程要使用的IVR流程。 
   图3IVR流程   
   ![](https://support.huaweicloud.com/devg-workbench-cec/figure/zh-cn_image_0000001436155048.gif)
   
   
2. 新增身份认证流程，在验证流程配置中选择对应的IVR流程。 
   图4身份认证流程   
   ![](https://support.huaweicloud.com/devg-workbench-cec/figure/zh-cn_image_0000001781812621.png)
   
   
3. 启用身份认证流程。 
   图5启用身份认证流程   
   ![](https://support.huaweicloud.com/devg-workbench-cec/figure/zh-cn_image_0000001781893541.png)
   
   
4. 音视频工作台展示可进行身份认证。 
   图6音视频工作台   
   ![](https://support.huaweicloud.com/devg-workbench-cec/figure/zh-cn_image_0000001734735130.png)
   
   
5. 身份认证记录查询。 
   图7身份认证记录   
   ![](https://support.huaweicloud.com/devg-workbench-cec/figure/zh-cn_image_0000001734897854.png)
   
   
 
#### 二次开发接口
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：验证异常
}
```
#### 获取身份认证方式的认证结果
AICCSupport.getVerifyResult(verifyTypeCode);
verifyTypeCode是getVerifyResult方法的参数"身份认证方式编码"，用于指定要获取身份验证结果的身份认证方式。
表1getVerifyResult输入参数说明 
| 参数名            | 参数类型   | 参数解释     | 是否必填 | 说明             |
|:---|:---|:---|:---|:---|
| verifyTypeCode | string | 身份认证方式编码 | 是    | 只可以允许字母、数字和下划线 |
   
表2getVerifyResult输出参数说明 
| 参数名          | 参数类型   | 参数解释   | 是否必填 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|:---|
| verifyResult | string | 身份认证结果 | 是    | 枚举值。 - 0：未返回  - 1：通过  - 2：失败  - 3：异常   空字符串表示身份认证方式编码不合法 |
   
