API总述

说明

客群洞察API的设计采用了Restful风格,每个API功能(也可以称之为资源)都使用URI(Universal Resource Identifier)来唯一确定。对资源的请求方式是通过向资源对应的URI发送标准的 HTTP 请求,比如 GET、PUT、POST等,同时,请求需要遵守签名算法,并包含约定的请求参数。

本文档所使用的城市列表及名称规范详见最后附表,附表外其他城市名称均不能保证正确匹配

签名认证

客群洞察API会对每个访问的请求进行身份认证,以保障用户的安全。安全认证采用Access Key与请求签名机制。Access Key由Access Key ID和Secret Access Key组成,均为字符串,由百度开放云官方颁发给用户。其中Access Key ID用于标识用户身份,Access Key Secret 是用于加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密。

说明

获取aK/SK的方法请参看如何获取AK / SK

对于每个HTTP请求,用户需要使用下文所描述的方式生成一个签名字符串,并将认证字符串放在HTTP请求的Authorization头域里。

签名字符串格式

bce-auth-v{version}/{accessKeyId}/{timestamp}/{expireTime}/{signedHeaders}/{signature}

其中:

  • version是正整数,目前取值为1。
  • timestamp是生成签名时的时间。时间格式符合通用约定
  • expireTime表示签名有效期限,单位为秒,从timestamp所指定的时间开始计算。
  • signedHeaders是签名算法中涉及到的头域列表。头域名字之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。当signedHeaders为空时表示取默认值。
  • signature是256位签名的十六进制表示,由64个小写字母组成,生成方式由如下签名生成算法给出。

签名生成算法

有关签名生成算法的具体介绍,请参看鉴权认证机制

返回值

返回的结果是一个 json 串(生成附件的请求除外),数据最外层有三个通用的 key,含义如下:

key 含义 类型 解释
status 返回状态码 Int 状态码解释见下节
msg String 对 status 的描述
content 具体返回的数据 Dictionary 参见具体的 API 接口

每个接口返回的具体内容, 都放到了 “content”中,后续每个接口都会详细介绍它的具体内容。

返回值的格式

客情 API 服务,返回的结果是一个 json 串(生成附件的请求除外),数据最外层有三个通用的 key,含义如下:

key 含义 类型 解释
status 返回状态码 Int 状态码解释见下节
msg String 对 status 的描述
content 具体返回的数据 Dictionary 参见具体的 API 接口

每个接口返回的具体内容, 都放到了 “content”中,后续每个接口都会详细介绍它的具体内容。

Status 与对应 msg 介绍

如果一个接口返回的结果中,status 非 200 ,表示请求非法或者服务端异常。Msg 一般用于解释报错细节,下表列出常见的状态码与对应的 msg 介绍:

status 解释
200 OK
400 xx 参数错误
403 无操作权限
404 未找到对应任务
405 请求类型错误
413 请求文件过大
500 服务器内部错误