跳到主要内容

认证

所有 Brand API 请求发往:

https://app.partnerboost.com/api/brand

支持 HTTPS GET 或 POST。有业务字段时建议用 POST,并在 JSON body 中传参。

请求结构

路由参数必须放在 query string;业务字段放在 JSON body(POST)或 query string(GET):

POST https://app.partnerboost.com/api/brand?bid=…&token=…&action=…&version=1.0
Content-Type: application/json
X-PARTNERBOOST-DATE: …
X-PARTNERBOOST-AUTHENTICATION: …

{ …业务字段… }
路由参数必须走 query string

bidtokenactionversion 必须出现在 query string 中。若只放在 JSON body 里,服务端会返回 HTTP 404(空 body),而不是 JSON 鉴权错误。

获取凭证

登录商家后台,按下列页面分别获取:

凭证获取位置
bidBrand Info
token / secretAPI credentials
商家登录

未登录时请先打开 Brand Login,再进入上述页面。

必需参数(query string)

每次请求都必须在 query string 中携带:

参数说明
bidBrand Id,见 Brand Info
tokenAPI Token,见 API credentials
actionorder/new
version当前 1.0

各 action 的业务字段(订单字段、报表筛选等)在 POST 时放 JSON body,GET 时放 query string。

必需请求头

Header
Content-Typeapplication/json
X-PARTNERBOOST-DATEUTC 时间,如 Mon, 27 Jul 2026 07:21:16 GMT
X-PARTNERBOOST-AUTHENTICATIONSHA-256 十六进制摘要

哈希字符串

{token};{action};{utcDate};{secret}

虚构示例(仅占位,非真实凭证):

字段示例值
tokendeadbeefdeadbeefdeadbeefdeadbeef
actionorder/new
utcDateFri, 07 Jan 2022 07:21:16 GMT
secretcafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe

待哈希字符串:

deadbeefdeadbeefdeadbeefdeadbeef;order/new;Fri, 07 Jan 2022 07:21:16 GMT;cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe

期望请求头(对上面字符串做 SHA-256):

X-PARTNERBOOST-AUTHENTICATION: 2574c43ca325825ea274ea6183cb188cd3dcd0863c0b756d300c388e63c6a7e4

curl 示例

只读连通性测试(report/order_list):

BID="YOUR_BID"
TOKEN="YOUR_TOKEN"
SECRET="YOUR_SECRET"
ACTION="report/order_list"
UTC_DATE="$(date -u '+%a, %d %b %Y %H:%M:%S GMT')"
AUTH_HASH="$(printf '%s' "${TOKEN};${ACTION};${UTC_DATE};${SECRET}" | shasum -a 256 | awk '{print $1}')"

curl -X POST "https://app.partnerboost.com/api/brand?bid=${BID}&token=${TOKEN}&action=${ACTION}&version=1.0" \
-H "Content-Type: application/json" \
-H "X-PARTNERBOOST-DATE: ${UTC_DATE}" \
-H "X-PARTNERBOOST-AUTHENTICATION: ${AUTH_HASH}" \
-d '{"page_size": 1}'

Python 示例

import hashlib
from datetime import datetime, timezone
from email.utils import format_datetime
from urllib.parse import urlencode

import requests

bid = "YOUR_BID"
token = "YOUR_TOKEN"
secret = "YOUR_SECRET"
action = "report/order_list"
utc_date = format_datetime(datetime.now(timezone.utc), usegmt=True)

raw = f"{token};{action};{utc_date};{secret}"
auth_hash = hashlib.sha256(raw.encode()).hexdigest()

query = urlencode({"bid": bid, "token": token, "action": action, "version": "1.0"})
url = f"https://app.partnerboost.com/api/brand?{query}"

headers = {
"Content-Type": "application/json",
"X-PARTNERBOOST-DATE": utc_date,
"X-PARTNERBOOST-AUTHENTICATION": auth_hash,
}

response = requests.post(url, headers=headers, json={"page_size": 1}, timeout=30)
response.raise_for_status()
print(response.json())

请同步服务器 NTP 时间,避免认证失败。

仅适用于 Brand

Publisher 认证见 Partner API 认证