请求说明
该接口对大小写敏感,请求的地址及参数需要严格按照规定的大小
URL
请求协议
- HTTPS
请求类型
- GET
请求参数
参数 | 类型 | 必填 | 默认值 | 示例 | 说明 |
---|---|---|---|---|---|
client_key | string | Y | 无 | 12345 | 渠道的key |
time | int | Y | 无 | 1496734816 | 请求时的unix时间戳 |
token | string | Y | 无 | b4d230910ae5f97ada8ee8907afd0cd278b1455b79c83c480892da8014ada1aa | client_secret_key和请求信息一起生成的token,校验失败时会返回401错误 |
return_type | string | N | json | json | 返回的类型,可选择json或者link |
campid | string | N | 无 | 486118 | OfferId 多个逗号隔开 486118,486120,486121 |
geo | string | N | 无 | ru,si,cy | 国家代码,多国家用,号连接 |
platform | string | N | 无 | android | offer platform,默认为all,可传 [android,ios,all,windows,others] |
Token的生成
- 在请求参数中传入 client_key 和 token 来通过认证,token 由 client_key, client_secret_key, 请求时间,请求内容生成
- 将 client_key,client_secret_key,请求参数内容,请求UNIX时间戳组成键值对
- 将键值对按照键进行字符升序排序
- 然后对参数值进行 urlencode 编码
- 参数名和参数值之间用 “=” 号连接,参数和参数之间用 “&” 号连接,得到字符串A
- 对字符串A进行 SHA256 算法 hash,即生成 token 值
- 去除掉键值对中的 client_secret_key ,加入 token 字段,值为上一步生成的token值
- 然后再次对参数值进行 urlencode 编码
- 参数名和参数值之间用 “=” 号连接,参数和参数之间用 “&” 号连接,得到字符串B
- 接口加上字符串B进行请求
上述所提到的client_key和client_secret_key需要向渠道经申请
PHP生成TOKEN及请求示例
$client_key = 'your_client_key';
$client_secret_key = 'your_client_secret_key';
$base_url = 'https://open.3s.mobvista.com/channel/v5';
$params = [
'time' => time(),
'client_key' => $client_key,
'client_secret_key' => $client_secret_key,
'return_type' => 'json'
];
ksort($params);
$token = hash('sha256', http_build_query($params));
unset($params['client_secret_key']);
$params['token'] = $token;
$url = sprintf('%s?%s', $base_url, http_build_query($params));
echo file_get_contents($url) . PHP_EOL;