接收应答
本节将为您介绍 Marketing API 的应答内容以及建议的通用处理流程。
HTTP 状态码
应答 Headers 中支持 HTTP 标准状态码,具体如下:
状态码 | 名称 | 描述 |
---|---|---|
200 | 成功 | 当 Marketing API 请求被正确处理,且能按设计获取结果时,返回该状态码 |
3xx | 跳转 | 在特定情况下,Marketing API 可能会返回这些状态码,建议调用方按照HTTP标准来处理 |
4xx | 客户端错误 | 由客户端原因造成的错误 |
5xx | 服务器端错误 | Marketing API 或其下层服务发生内部错误 |
响应头结构
X-TSA-Trace-Id:全局唯一id,通过该id可帮助技术支持快速定位问题,所以反馈问题时,请告知该id。 X-RateLimit-Remaining:当前应用对于当前请求接口的频次余量百分比,以“,”分割,顺序为“天,分钟”,可以此作为依据调整接口调用频率。
响应数据结构
响应数据中的结构定义如下表所示:
名称 | 类型 | 是否一定返回 | 限制 | 描述 |
---|---|---|---|---|
code | int64 | 是 | 等于0表示成功,不等于0表示错误,具体见文档附录返回码定义 | 返回码 |
message | string | 是 | code不等于0时,message为错误描述 | 错误描述 |
message_cn | string | 否 | code不等于0时,message_cn为错误情况的中文描述 | 中文错误描述 |
data | object | 否 | 具体返回内容见各接口定义,只在code等于0时可能返回 | 资源数据 |
errors | object | 否 | 只在code不等于0时可能返回 | 详细错误信息 |
以查询广告主信息(campaigns/get)接口的应答为例,正常调用返回的结果如下:
HTTP/1.1 200 OK
Date: Fri, 06 Mar 2020 06:31:22 GMT
Content-Type: application/json;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Server: nginx
X-TSA-Trace-Id: 94eff22c95ede3a34b942ae041bf2db6
X-RateLimit-Remaining: 50%,50%
{
code: 0,
message: ,
message_cn: ,
data: {
list: [
{
campaign_id: ,
campaign_name: 五一节大促推广计划,
configured_status: AD_STATUS_SUSPEND,
campaign_type: CAMPAIGN_TYPE_NORMAL,
promoted_object_type: PROMOTED_OBJECT_TYPE_APP_IOS,
daily_budget: 50000,
budget_reach_date: 20170501,
created_time: 1491019858,
last_modified_time: 1491098468,
speed_mode: SPEED_MODE_STANDARD
}
],
page_info: {
page: 1,
page_size: 10,
total_number: 1,
total_page: 1
}
}
}
如果调用参数不正确,则会在应答数据正文中返回具体的业务错误信息。例如传递的TOKEN参数过期时,返回结果如下:
HTTP/1.1 200 OK
Date: Fri, 06 Mar 2020 06:31:22 GMT
Content-Type: application/json;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Server: nginx
X-TSA-Trace-Id: 94eff22c95ede3a34b942ae041bf2db7
X-RateLimit-Remaining: 50%,50%
{
code: 30102,
message: token is expired,
message_cn: token已过期
}
应答处理流程
建议您按照如下流程图所示对应答进行处理: