预测服务请求接口规范

1.基本概念

本文将介绍推荐服务API接口,通过访问在线API,用户可实时获取推荐结果。

1.1.接口概述

使用HTTP Restful接口进行访问,要求:

  • HTTP使用POST方法进行请求
  • HTTP头部Content-Type设置为application/json
  • HTTP头部Authorization设置为身份验证信息,详见 3.1节身份验证
  • HTTP请求使用utf-8编码

基于上述要求,一个正确的HTTP请求如下所示:

POST /brs-rec-api HTTP/1.1
Host: brs-rec-host
Authorization: bce-auth-v1/xxx
Content-Type: application/json
Content-Length: length
Connection: Keep-Alive // 设置长连接,建议打开
{
 request_data
}

HTTP响应如下所示:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{
 message: "err-msg", // 若错误发生,会包含该字段指示详细错误信息
 response_data
}

1.2.接口列表

支持的API接口列表如下所示:

api url
个性化推荐 POST /v2/rec/personal
个性化主题推荐 POST /v2/rec/personal/subject
相关推荐 POST /v2/rec/relevant
基于排行榜推荐 POST /v2/rec/top

2.接口说明

本节将详细介绍不同场景实时推荐的API接口。

2.1.个性化推荐

2.1.1.定义

请求个性化推荐结果

2.1.2.URL

/v2/rec/personal

2.1.3.请求字段

Field Mandatory Type Description
id required string 全局唯一 request id
user required object 用户信息
site recommended object 站点信息
只有当前推荐位出现在站点时,该对象才会被设置
site与app有且只有一个会被设置
app recommended object app信息
只有当前推荐位出现在app时,该对象才会被设置
site与app有且只有一个会被设置
device recommended object 设备信息
trace_id optional string trace_id,标示了该次推荐结果,用于关联本次推荐与后续行为,例如展现行为和点击行为
备注:分为两种情况
1. 客户内部可以生成用于关联每次推荐请求和结果的展现点击等行为的id,则将其透传即可,推荐服务会在返回结果中复用该id值并以trace_id的形式返回;
2. 客户内部不生成该id,则推荐服务会在内部生成该trace_id,并在返回结果中回传给客户端,以供客户端使用;
客户需要在内部有一套机制,保证对同一次请求获得的Item推荐结果后续在展现和点击行为匹配的一致性,并在用户行为数据中使用对应的固定trace_id进行返回;以便服务端进行推荐效果数据统计、小流量实验分层效果统计等;
count optional int 要求返回的推荐Item结果个数(上限为100,默认为10)
candidate_channels optional string[] channel候选集合,若提供,只会选择在该channel下的item进行推荐
blocked_items optional string[] item黑名单,用于屏蔽

User Object

Field Mandatory Type Description
id required string 用户id
yob optional int 出生年份,四位数字,例如:1985
gender optional string 性别
M - 男
F - 女

Site Object

Field Mandatory Type Description
name optional string 站点名称
domain optional string 站点域名
page recommended string 页面url
ref optional string referrer url
keywords optional string[] 页面关键词列表

App Object

Field Mandatory Type Description
name optional string app名称
bundle optional string app package name
domain optional string app域名
ver optional string app版本号
keywords optional string[] app当前页面关键词列表

Device Object

Field Mandatory Type Description
ua recommended string 浏览器user agent
ip recommended string ipv4
device_type optional int 设备类型
0 - Unknown
1 - PC
2 - Phone
3 - Tablet
make optional string 设备制造商 (例如:apple)
model optional string 设备型号 (例如:iphone)
os optional int 操作系统
0 - Unknown
1 - Windows
2 - MacOS
3 - Linux
4 - IOS
5 - Andorid
osv optional string 操作系统版本号 (例如:10.1)
h optional int 物理屏幕高度
w optional int 物理屏幕宽度
carrier optional int 运营商
0 - Unknown
1 - 中国电信
2 - 中国移动
3 - 中国联通
4 - 中国网通
connection_type optional int 网络类型
0 - Unknown
1 - wifi
2 - 移动网络(2G)
3 - 移动网络(3G)
4 - 移动网络(4G)
5 - 有线网络(earthnet)
imei optional string 设备imei
idfa optional string 设备idfa
android_id optional string 设备android_id
mac optional string 设备mac

Example - web站点

{
    "id": "123456", // request id
    "user": {
    "id": "E8EF3354D8038C4A91F381940FB24713", // 用户ID
    "yob":1986,  //出生年份,可选
    "gender": "F",   // 性别,可选
    },
    "site": {
    "name": "芒果tv", // app名称,可选
    "domain": "mgtv.com", // 站点域名,可选
    "page": "http://www.mgtv.com/b/290346/3735047.html", //页面url
    "ref":  "http://www.mgtv.com/show/", //referrer url, 可选
    "keywords": ["综艺", "快乐大本营"] //页面关键词列表,可选
    },
    "device": {
    "ua": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75  Safari/537.36", // User agent
    "ip": "216.217.95.94", // 用户ip
    "device_type":1,  //PC, 设备类型, 可选
    "os": 1, // Windows, 操作系统, 可选
    "osv": "7.0",  // 操作系统版本号, 可选
    "w": 1920, // 屏幕宽度, 可选
    "h": 1080, // 屏幕高度, 可选
    "connection_type": 1 // wifi, 网络类型, 可选
    "mac": "00:15:58:c2:85:c7" // 设备mac, 可选
    }, 
    "trace_id": "11111111", // trace_id, 推荐结果标记,由客户端生成,可选
    "count": 2, // 要求返回的推荐结果数量,上限为100,可选
    "candidate_channels": ["451", "452", "453"], //候选channel集合,可选
    "blocked_items": ["2001", "2002"], //item黑名单,可选
}

Example - app应用

{
    "id": "123456", // request id
    "user": {
    "id": "E8EF3354D8038C4A91F381940FB24713", // 用户ID
    "yob":1986,  //出生年份,可选    
    "gender": "F",   // 性别,可选
    },
     "app": {
    "name": "芒果tv", // 站点名称,可选
    "bundle": "ImgoTv_aPhone_5.0.0_161201_mgtv.apk", // app package,可选
    "domain": "mgtv.com", //站点域名, 可选
    "ver":  "5.0.0", //app版本号, 可选
    "keywords": ["综艺", "快乐大本营"] //app当前页面关键词列表,可选
    },   
    "device": {
    "ip": "216.217.95.94", // 用户ip
    "device_type":2,  //Phone, 设备类型, 可选
    "make": "samsung", //设备制造商,可选
    "model": "note7", // 设备型号, 可选 
    "os": 5, // Andorid, 操作系统, 可选
    "osv": "6.0",  // 操作系统版本号, 可选
    "w": 1440, // 屏幕宽度, 可选
    "h": 2560, // 屏幕高度, 可选
    "connection_type": 4 // 移动网络(4G), 网络类型, 可选
    "imei": "863493028938077" // 设备imei, 可选
    "mac": "00:15:58:c2:85:c7" // 设备mac, 可选
    }, 
    "trace_id": "11111111", // trace_id, 推荐结果标记,由客户端生成,可选
    "count": 2, // 要求返回的推荐结果数量,上限为100,可选
    "candidate_channels": ["451", "452", "453"], //候选channel集合,可选
    "blocked_items": ["2001", "2002"], //item黑名单,可选
}

2.1.4.响应结果

若成功,返回http status code = 200,Response body包含

Field Type Description
id string response id, 与request id一致
trace_id string trace_id,推荐结果标记,具体可以参见request_body中的trace_id字段
分为两种情况:
1. 如果request_body中有trace_id字段,则这里直接复用并返回;
2. 如果request_body中不包含trace_id字段,则服务端会生成并返回trace_id,客户端复用该字段用来做item展现点击的匹配即可;
items object[] 推荐item列表
sample_name string 后端进行效果优化迭代时的必须字段,用户上传用户行为数据时需要将该字段同步上传。

Item Object

Field Type Description
id string item id
imp_trackers string[] 展现监控url列表,可选
备注1:tracker必须可点击,可以用异步的方式进行点击(将点击消息放到一个队列里面,交由后台逐个访问,客户端主进程无需等待返回)
备注2:该字段和推荐结果过滤、小流量实验、CTR预估机制等密切相关,会直接影响推荐效果改进,建议客户选择使用;
当推荐item被展现时,请访问该列表中的每一个url;若访问成功,通常会返回204 No Content
click_trackers string[] 点击监控url列表,可选
备注1:tracker必须可点击,可以用异步的方式进行点击(将点击消息放到一个队列里面,交由后台逐个访问,客户端主进程无需等待返回)
备注2:该字段和推荐结果过滤、小流量实验、CTR预估机制等密切相关,会直接影响推荐效果改进,建议客户选择使用;
当推荐item被点击时,请访问该列表中的每一个url;若访问成功,通常会返回204 No Content

Example - 响应结果

{
    "id": "123456", // response id, 与request id一致
    "trace_id": "11111111", // trace id, 推荐结果标记,由客户端生成或推荐系统生成
    "sample_name": "default",
    "items": [
        {
            "id": "1001", //第一个推荐item结果
            "imp_trackers":[
                "http://imp_url_0",
                "http://imp_url_1"
            ],
            "click_trackers":[
                "http://click_url_0",
                "http://click_url_1"
            ]
        },
    {
        "id": "1002", //第二个推荐item结果
        "imp_trackers": ["http://imp_url_2"],
        "click_trackers": ["http://click_url_2"]
    }
    ]
}

若失败,返回以下错误码:

http status code failure reason
400 Bad Request 请求参数错误
401 Unauthorized 未通过权限校验
500 Internal Server Error 内部错误

2.2.个性化主题推荐

2.2.1.定义

请求个性化主题推荐结果

2.2.2.URL

/v2/rec/personal/subject

2.2.3.请求字段

Field Mandatory Type Description
id required string request id
user required object 用户信息
site recommended object 站点信息
只有当前推荐位出现在站点时,该对象才会被设置
site与app有且只有一个会被设置
app recommended object app信息
只有当前推荐位出现在app时,该对象才会被设置
site与app有且只有一个会被设置
device recommended object 设备信息
trace_id optional string trace_id,标示了该次推荐结果,用于关联本次推荐与后续行为,例如展现行为和点击行为
备注:分为两种情况
1. 客户内部可以生成用于关联每次推荐请求和结果的展现点击等行为的id,则将其透传即可,推荐服务会在返回结果中复用该id值并以trace_id的形式返回;
2. 客户内部不生成该id,则推荐服务会在内部生成该trace_id,并在返回结果中回传给客户端,以供客户端使用;
客户需要在内部有一套机制,保证对同一次请求获得的Item推荐结果后续在展现和点击行为匹配的一致性,并在用户行为数据中使用对应的固定trace_id进行返回;以便服务端进行推荐效果数据统计、小流量实验分层效果统计等;
subject_count optional int 要求返回的推荐Subject结果数(上限为20,默认为5)
count optional int 每个subject下要求返回的推荐item结果数(上限为100,默认为10)
candidate_subjects optional string[] subject候选集合,若提供,只会从该集合中选择推荐subject
blocked_subjects optional string[] subject黑名单,用于屏蔽

User, Site, App, Device Object

具体可参考2.1.3

Example - web站点

具体可参考2.1.3

Example - app应用

具体可参考2.1.3

2.2.4.响应结果

若成功,返回http status code = 200,Response body包含

Field Type Description
id string response id, 与request id一致
trace_id string trace_id,推荐结果标记,具体可以参见request_body中的trace_id字段
分为两种情况:
1. 如果request_body中有trace_id字段,则这里直接复用并返回;
2. 如果request_body中不包含trace_id字段,则服务端会生成并返回trace_id,客户端复用该字段用来做item展现点击的匹配即可;
subjects object[] 推荐subject列表
sample_name string 后端进行效果优化迭代时的必须字段,用户上传用户行为数据时需要将该字段同步上传。

Subject Object

Field Type Description
id string 主题(subject) id
items object[] 该主题下推荐的item列表

Item Object

Field Type Description
id string item id
imp_trackers string[] 展现监控url列表,可选
备注1:tracker必须可点击,可以用异步的方式进行点击(将点击消息放到一个队列里面,交由后台逐个访问,客户端主进程无需等待返回)
备注2:该字段和推荐结果过滤、小流量实验、CTR预估机制等密切相关,会直接影响推荐效果改进,建议客户选择使用;
当推荐item被展现时,请访问该列表中的每一个url;若访问成功,通常会返回204 No Content
click_trackers string[] 点击监控url列表,可选
备注1:tracker必须可点击,可以用异步的方式进行点击(将点击消息放到一个队列里面,交由后台逐个访问,客户端主进程无需等待返回)
备注2:该字段和推荐结果过滤、小流量实验、CTR预估机制等密切相关,会直接影响推荐效果改进,建议客户选择使用;
当推荐item被点击时,请访问该列表中的每一个url;若访问成功,通常会返回204 No Content

example - 响应结果

{
    "id": "123456", // response id, 与request id一致
    "trace_id": "11111111", // trace_id, 推荐结果标记,由客户端生成或推荐系统生成
    "sample_name":"default",
    "subjects": [
        {
            "id": "425", //subject id, 第一条推荐主题结果
            "items": [
                {
                    "id": "1001", //第一个推荐item结果
                    "imp_trackers":[
                    "http://imp_url_0",
                    "http://imp_url_1"
                    ],
                    "click_trackers":[
                        "http://click_url_0",
                        "http://click_url_1"
                    ]
                },
                {
                    "id": "1002", //第二个推荐item结果
                    "imp_trackers": ["http://imp_url_2"],
                    "click_trackers": ["http://click_url_2"]
                }
            ]
        },
    {
        "id": "429", //subject id, 第二条推荐主题结果
        "items": [
            {
                "id": "2001", // 第一个推荐Item结果
                "imp_trackers":[
                    "http://imp_url_0",
                    "http://imp_url_1"
                ],
                "click_trackers":[
                        "http://click_url_0",
                        "http://click_url_1"
                ]
            },
            {
                "id": "2002", // 第二个推荐Item结果
                "imp_trackers": ["http://imp_url_2"],
                "click_trackers": ["http://click_url_2"]
            }
        ]                             
    }
    ]
}

若失败,返回以下错误码:

http status code failure reason
400 Bad Request 请求参数错误
401 Unauthorized 未通过权限校验
500 Internal Server Error 内部错误

2.3.相关推荐

2.3.1.定义

请求相关推荐结果

2.3.2.URL

/v2/rec/relevant

2.3.3.请求字段

Field Mandatory Type Description
id required string 全局唯一 request id
user recommended object 用户信息
site recommended object 站点信息
只有当前推荐位出现在站点时,该对象才会被设置
site与app有且只有一个会被设置
app recommended object app信息
只有当前推荐位出现在app时,该对象才会被设置
site与app有且只有一个会被设置
device recommended object 设备信息
trace_id optional string trace_id,标示了该次推荐结果,用于关联本次推荐与后续行为,例如展现行为和点击行为
备注:分为两种情况
1. 客户内部可以生成用于关联每次推荐请求和结果的展现点击等行为的id,则将其透传即可,推荐服务会在返回结果中复用该id值并以trace_id的形式返回;
2. 客户内部不生成该id,则推荐服务会在内部生成该trace_id,并在返回结果中回传给客户端,以供客户端使用;
客户需要在内部有一套机制,保证对同一次请求获得的Item推荐结果后续在展现和点击行为匹配的一致性,并在用户行为数据中使用对应的固定trace_id进行返回;以便服务端进行推荐效果数据统计、小流量实验分层效果统计等;
base_item required string 用于触发相关推荐的基准item
count optional int 要求返回的推荐Item结果数(上限为100,默认为10)
candidate_channels optional string[] channel候选集合,若提供,只会选择在该channel下的item进行推荐
blocked_items optional string[] item黑名单,用于屏蔽

User, Site, App, Device Object

结构参考2.1.3节

Example - web站点

{
    "id": "123456", // request id
    "user": {
    "id": "E8EF3354D8038C4A91F381940FB24713", // 用户ID
    "yob":1986,  //出生年份,可选    
    "gender": "F",   // 性别,可选
    },
    "site": {
    "name": "芒果tv", // app名称,可选
    "domain": "mgtv.com", // 站点域名,可选
    "page": "http://www.mgtv.com/b/290346/3735047.html", //页面url
    "ref":  "http://www.mgtv.com/show/", //referrer url, 可选
    "keywords": ["综艺", "快乐大本营"] //页面关键词列表,可选
    },
    "device": {
    "ua": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75  Safari/537.36", // User agent
    "ip": "216.217.95.94", // 用户ip
    "device_type":1,  //PC, 设备类型, 可选
    "os": 1, // Windows, 操作系统, 可选
    "osv": "7.0",  // 操作系统版本号, 可选
    "w": 1920, // 屏幕宽度, 可选
    "h": 1080, // 屏幕高度, 可选
    "connection_type": 1 // wifi, 网络类型, 可选
    "mac": "00:15:58:c2:85:c7" // 设备mac, 可选
    }, 
    "trace_id": "11111111", // trace id, 推荐结果标记,由客户端生成,可选
    "base_item": "1000", //触发相关推荐的基准item
    "count": 2, // 要求返回的推荐结果数量,上限为100,可选
    "candidate_channels": ["451", "452", "453"], //候选channel集合,可选
    "blocked_items": ["2001", "2002"], //item黑名单,可选
}

Example - app应用

{
    "id": "123456", // request id
    "user": {
    "id": "E8EF3354D8038C4A91F381940FB24713", // 用户ID
    "yob":1986,  //出生年份,可选    
    "gender": "F",   // 性别,可选
    },
     "app": {
    "name": "芒果tv", // 站点名称,可选
    "bundle": "ImgoTv_aPhone_5.0.0_161201_mgtv.apk", // app package,可选
    "domain": "mgtv.com", //站点域名, 可选
    "ver":  "5.0.0", //app版本号, 可选
    "keywords": ["综艺", "快乐大本营"] //app当前页面关键词列表,可选
    },   
    "device": {
    "ip": "216.217.95.94", // 用户ip
    "device_type":2,  //Phone, 设备类型, 可选
    "make": "samsung", //设备制造商,可选
    "model": "note7", // 设备型号, 可选 
    "os": 5, // Andorid, 操作系统, 可选
    "osv": "6.0",  // 操作系统版本号, 可选
    "w": 1440, // 屏幕宽度, 可选
    "h": 2560, // 屏幕高度, 可选
    "connection_type": 4 // 移动网络(4G), 网络类型, 可选
    "imei": "863493028938077" // 设备imei, 可选
    "mac": "00:15:58:c2:85:c7" // 设备mac, 可选
    }, 
    "trace_id": "11111111", // trace id, 推荐结果标记,由客户端生成,可选
    "base_item": "1000", //触发相关推荐的基准item
    "count": 2, // 要求返回的推荐结果数量,上限为100,可选
    "candidate_channels": ["451", "452", "453"], //候选channel集合,可选
    "blocked_items": ["2001", "2002"], //item黑名单,可选
}

2.3.4.响应结果

若成功,返回http status code = 200,Response body包含

Field Type Description
id string response id, 与request id一致
trace_id string trace_id,推荐结果标记,具体可以参见request_body中的trace_id字段
分为两种情况:
1. 如果request_body中有trace_id字段,则这里直接复用并返回;
2. 如果request_body中不包含trace_id字段,则服务端会生成并返回trace_id,客户端复用该字段用来做item展现点击的匹配即可;
items object[] 推荐item列表
sample_name string 后端进行效果优化迭代时的必须字段,用户上传用户行为数据时需要将该字段同步上传。

Item Object

Field Type Description
id string item id
imp_trackers string[] 展现监控url列表,可选
备注1:tracker必须可点击,可以用异步的方式进行点击(将点击消息放到一个队列里面,交由后台逐个访问,客户端主进程无需等待返回)
备注2:该字段和推荐结果过滤、小流量实验、CTR预估机制等密切相关,会直接影响推荐效果改进,建议客户选择使用;
当推荐item被展现时,请访问该列表中的每一个url;若访问成功,通常会返回204 No Content
click_trackers string[] 点击监控url列表,可选
备注1:tracker必须可点击,可以用异步的方式进行点击(将点击消息放到一个队列里面,交由后台逐个访问,客户端主进程无需等待返回)
备注2:该字段和推荐结果过滤、小流量实验、CTR预估机制等密切相关,会直接影响推荐效果改进,建议客户选择使用;
当推荐item被点击时,请访问该列表中的每一个url;若访问成功,通常会返回204 No Content

example - 响应结果

{
    "id": "123456", // response id, 与request id一致
    "trace_id": "11111111", // trace id, 推荐结果标记,由客户端生成或推荐系统生成
    "sample_name":"default",
    "items": [
        {
            "id": "1001", //第一个推荐item结果
            "imp_trackers":[
                "http://imp_url_0",
                "http://imp_url_1"
            ],
            "click_trackers":[
                "http://click_url_0",
                "http://click_url_1"
            ]    
        },
        {
            "id": "1002", //第二个推荐item结果
            "imp_trackers": ["http://imp_url_2"],
            "click_trackers": ["http://click_url_2"]
        }
    ]
}

若失败,返回以下错误码:

http status code failure reason
400 Bad Request 请求参数错误
401 Unauthorized 未通过权限校验
500 Internal Server Error 内部错误

2.4.基于排行榜推荐

2.4.1.定义

请求基于排行榜的推荐

2.4.2.URL

/v2/rec/top

2.4.3.请求字段

Field Mandatory Type Description
id required string 全局唯一 request id
dimension required string 请求的维度信息(时间、评分、查阅量、评论量等)
trace_id optional string trace_id,标示了该次推荐结果,用于关联本次推荐与后续行为,例如展现行为和点击行为
备注:分为两种情况
1. 客户内部可以生成用于关联每次推荐请求和结果的展现点击等行为的id,则将其透传即可,推荐服务会在返回结果中复用该id值并以trace_id的形式返回;
2. 客户内部不生成该id,则推荐服务会在内部生成该trace_id,并在返回结果中回传给客户端,以供客户端使用;
客户需要在内部有一套机制,保证对同一次请求获得的Item推荐结果后续在展现和点击行为匹配的一致性,并在用户行为数据中使用对应的固定trace_id进行返回;以便服务端进行推荐效果数据统计、小流量实验分层效果统计等;
is_reversed optional bool 是否使用逆序,默认采用按照维度降序的方式default = false
count optional int 要求返回的推荐Item结果数(上限为100,默认为10)
candidate_channels optional string[] channel候选集合,若提供,只会选择在该channel下的item进行推荐
blocked_items optional string[] item黑名单,用于屏蔽

dimension字段的取值范围如下:

序号 Dimension Description
1 time 基于item的发布(上架)时间(pt)排序

Example

{
    "id": "123456", // request id
    "dimension": "view", //请求的维度信息
    "trace_id": "11111111", // trace_id, 推荐结果标记,由客户端生成,可选
    "is_reversed": "false",//是否逆序,可选,默认降序
    "count": 2, // 要求返回的推荐结果数量,上限为100
    "candidate_channels": ["451", "452", "453"], //候选channel集合,可选
    "blocked_items": ["2001", "2002"], //item黑名单,可选
}

2.4.4.响应结果

若成功,返回http status code = 200,Response body包含

Field Type Description
id string response id, 与request id一致
trace_id string trace_id,推荐结果标记,具体可以参见request_body中的trace_id字段
分为两种情况:
1. 如果request_body中有trace_id字段,则这里直接复用并返回;
2. 如果request_body中不包含trace_id字段,则服务端会生成并返回trace_id,客户端复用该字段用来做item展现点击的匹配即可;
items object[] 推荐item列表
sample_name string 后端进行效果优化迭代时的必须字段,用户上传用户行为数据时需要将该字段同步上传。

Item Object

Field Type Description
id string item id
imp_trackers string[] 展现监控url列表,可选
备注1:tracker必须可点击,可以用异步的方式进行点击(将点击消息放到一个队列里面,交由后台逐个访问,客户端主进程无需等待返回)
备注2:该字段和推荐结果过滤、小流量实验、CTR预估机制等密切相关,会直接影响推荐效果改进,建议客户选择使用;
当推荐item被展现时,请访问该列表中的每一个url;若访问成功,通常会返回204 No Content
click_trackers string[] 点击监控url列表,可选
备注1:tracker必须可点击,可以用异步的方式进行点击(将点击消息放到一个队列里面,交由后台逐个访问,客户端主进程无需等待返回)
备注2:该字段和推荐结果过滤、小流量实验、CTR预估机制等密切相关,会直接影响推荐效果改进,建议客户选择使用;
当推荐item被点击时,请访问该列表中的每一个url;若访问成功,通常会返回204 No Content

example - 响应结果

{
    "id": "123456", // response id, 与request id一致
    "trace_id": "11111111", // trace id, 推荐结果标记,由客户端生成或推荐系统生成
    "sample_name": "default",
    "items": [
        {
            "id": "1001", //第一个推荐item结果
            "imp_trackers":[
                "http://imp_url_0",
                "http://imp_url_1"
            ],
            "click_trackers":[
                "http://click_url_0",
                "http://click_url_1"
            ]
        },
        {
            "id": "1002", //第二个推荐item结果
            "imp_trackers": ["http://imp_url_2"],
            "click_trackers": ["http://click_url_2"]
        }
    ]
}

若失败,返回以下错误码:

http status code failure reason
400 Bad Request 请求参数错误
401 Unauthorized 未通过权限校验
500 Internal Server Error 内部错误