1.请求说明
- 接口对大小写敏感
- 接口的请求需要生成正确的 sign 后才能成功调用
- QPM限频为10,一分钟内请求超过10次会返回“请求太频繁”,需要等下一分钟才能再请求
2.公共请求参数
字段 | 参数 | 必填 |
Content-Type | application/json | Y |
参数 | 类型 | 必填 | 说明 |
client_id | string | Y | 向公司管理员或子管理员获取。请确保已开通Open API权限 |
timestamp | int | Y | 请求时的unix时间戳 |
sign | string | Y | md5(client_secret+timestamp) |
…… | …… | …… | 其他参数 |
{
"client_id": "xxx",
"timestamp": 1608776690,
"sign": "05d481dc241a7a1daa5b2a7fa2b51dc5",
"...": "..."
}
3.Sign 生成逻辑
- 在请求参数中传入 client_id, timestamp, sign 来通过认证,token 由 client_secret,timestamp 根据加密规则生成
- 加密规则 md5(client_secret + timestamp)
- timestamp 有效期默认为30s,超过30s的话会报接口超时
- 上述所提到的 client_id、client_secret 需要向公司管理员或子管理员获取,页面入口在AdsPolar后台右上角的个人信息卡片:

4.Sign 生成示例代码
//java示例
import org.apache.commons.codec.digest.DigestUtils;
public static String getSign(String clientSecret) {
long timestamp = System.currentTimeMillis()/1000;
String oriSign = clientSecret + timestamp;
String sign = DigestUtils.md5Hex(oriSign);
return sign;
}
//python示例
import hashlib
import time
def get_sign(clientSecret):
timestamp = int(time.time())
oriSign = clientSecret+str(timestamp)
encodeSign = str(oriSign).encode()
sign = hashlib.md5(encodeSign)
return sign.hexdigest()
//php示例
function getSign($clientSecret)
{
$timestamp = time();
$oriSign = $clientSecret . $timestamp;
$sign = md5($oriSign);
return $sign;
}
//go示例
import (
"time"
"strconv"
"app/util/encrypt"
)
func getSign(clientSecret string) string {
timestamp := time.Now().Unix()
sign := encrypt.Md5(fmt.Sprintf("%s%s", clientSecret, strconv.FormatInt(timestamp, 10)))
return sign
}
5.状态说明
错误码 | 说明 |
0 | success |
-1 | error |
400001 | 请求参数错误 |