菜单

接口请求协议

1.请求说明

  • 接口对大小写敏感
  • 接口的请求需要生成正确的 sign 后才能成功调用
  • QPM限频为10,一分钟内请求超过10次会返回“请求太频繁”,需要等下一分钟才能再请求


2.公共请求参数

  • Headers
字段参数必填
Content-Typeapplication/jsonY


  • Body
参数类型必填说明
client_idstringY向公司管理员或子管理员获取。请确保已开通Open API权限
timestampintY请求时的unix时间戳
signstringYmd5(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.状态说明


错误码说明
0success
-1error
400001请求参数错误


最近修改: 2024-11-20Powered by