API参考
所有文档

          度御大数据风控产品

          API参考

          概述

          百度度御大数据风控团队提供对外接口,供第三方机构系统与百度度御大数据风控平台对接。本文档拟对交互流程和接口规范进行描述,以指导机构系统开发人员顺利对接。

          阅读对象为 :

          1. 接入度御平台的机构系统开发人员。
          2. 度御平台团队对外接口相关技术人员,包括开发和技术支持。

          调用方式

          API调用遵循HTTPS协议,采用POST方式提交,数据交换格式为JSON, 所有request / response body内容均采用UTF-8编码。提供两个域名供客户联调及线上使用。

          测试环境(沙盒环境) https://testfsi.baidu.com

          线上环境(正式/生产环境) https://duyu.baidu.com

          签名认证机制

          平台通过规范机构请求中附带的鉴权信息进行权限验证。机构在请求度御平台风控产品服务的时候,需要按照规定格式提供鉴权信息,鉴权信息格式如下表:

          参数位置 参数名 参数类型 参数格式
          request header X-Gw-Authorization string auth_version/ak/timestamp/expiresecond/sign

          X-Gw-Authorization字段由5个字段组成,其中每个字段的具体含义如下表:

          参数名 含义
          auth_version 鉴权版本号,目前为:duyu-auth-v1
          ak 度御平台为接入该系统的机构分配一个唯一的AK,作为调用接口时的唯一标识。AK在机构与度御平台签约时分配。
          timestamp 请求时间戳,按照秒级计算,一共10位数字
          expiresecond 机构自定义的请求过期时间(单位:秒),最大值600(10分钟)
          sign 使用SK,对前4个字段拼接成的字符串,进行HMAC SHA256签名后得到的64位字符串

          业务敏感数据加密机制

          由于接入机构系统和度御平台之间的通信涉及到敏感信息,必须保证通信数据不被第三方获取,百度云采用对于传输的业务敏感数据本身进行AES加密的方法,加密算法规则为AES-ECB-128-PKCS5Padding/PKCS7Padding,加密使用密钥AESKey长度128位此加密规则适用是机构请求百度接口的request body 里的data字段和百度返回的response body 里的data字段。

          举例:身份证信息核验请求接口,请求业务参数为idcardNo,idcardName

          1.组装待加密原始字符串,reqRawStr="{"idcardNo":"**","idcardName":"***"}"

          2.进行规范化处理得到待加密的规范字符串,reqCanonicalStr=urlEncode(reqRawStr)

          3.生成data,进行AES加密, enData=base64encode(AESEncrypt(AESKey,reqCanonicalStr))

          4.请求的request body 为 : {“data”:“${enData}”}

          统一请求报文参数

          参数位置 参数名 参数类型 是否必须 参数说明 是否参与签名
          header X-Gw-Ak string 机构标识,由百度金融度御平台统一分配,32位字符串
          header X-Gw-Authorization string 对app访问API的权限验证信息,格式为:auth_version/ak/timestamp/expiresecond/sign
          body data string 加密后的业务敏感数据

          Request body 中数据示例:{“data”:”encrypted request params”}

          统一响应报文参数

          参数位置 返回参数 参数类型 参数含义 参数说明
          header X-Gw-Error-Code string 状态码 Success:成功
          header X-Gw-Error-Message string 状态信息 异常时错误文案
          header X-Gw-RequestId string 请求ID 每次请求唯一ID,由度御平台生成
          header X-Gw-Sign string 数据防篡改签名 异常时不返回此字段,使用SK,对加密后的data进行SHA256签名,生成64位字符串
          body data string 加密后的查询结果 异常时不返回此字段,使用AESKey对经过规范化处理后的业务参数JSON做完AES加密后的base64字符串

          错误码

          错误码格式

          当用户访问API出现错误时,会返回给用户相应的错误码和错误信息,便于定位问题,并做出适当的处理。请求发生错误时通过Response Body返回详细错误信息,遵循如下格式:

          参数名 类型 说明
          code String 表示具体错误类型。
          message String 有关该错误的详细说明。
          requestId String 导致该错误的requestId。

          例如:

          { 
              "code":"IllegalRequestUrl", 
              "message":"The requested url belongs to domain which is not under acceleration",
              "requestId":" 81d0b05f-5ad4-1f22-8068-d5c9de60a1d7" 
          }

          错误码列表

          错误代码 X-Gw-Error-Code 错误文案 X-Gw-Error-Message http状态码 错误说明 解决方案
          Success access service success 200 访问成功
          ApiNotFound api does not exist 404 API不存在 检查请求API地址是否正确
          InvalidAk ak does not exist 400 AK不存在 检查header中的X-Gw-Ak信息是否正确
          AppNotAuthorized app unauthorized 400 app未授权 检查app是否开通API访问权限
          TimeStampExpired timestamp expiration 400 时间戳过期 检查X-Gw-Authorization中的时间戳,
          RequestTimeExpired request expiration 400 请求过期 检查X-Gw-Authorization中的时间戳和请求过期时间
          InvalidSign signature verification failed 400 签名验证失败 检查X-Gw-Authorization中的签名
          RequestMethodError wrong request mode 400 请求方式失败 检查请求方式
          ApiFlowControlLimit api flow control overrun 400 API流控超限 控制访问流量
          AppFlowControlLimit app flow control overrun 400 app流控超限 控制访问流量或增大访问流量配置
          AppVisitQuotaLimit app access Quota Overrun 400 app访问配额超限 购买访问配额
          IPForbidden access IP Restriction 400 访问IP受限 调整访问IP
          DecryptError decryption error 400 解密错误 检查加密规则
          ParameterFormatError wrong parametric format 400 参数格式错误 检查参数规则
          MissingParameter parameter missing 400 参数缺失 检查参数规则
          InternalError gateway internal error 500 度御系统内部错误 建议重试或联系运营人员
          • 产品运营人员

          塔娜(tana02@baidu.com)

          上一篇
          操作指南
          下一篇
          SDK