跳到主要内容

绑定用户账户

类型: POST

描述: /v4/broker/account/bind

API经纪商通过用户提供的API Key进行签名,通过此接口完成绑定以建立返佣关系。

注意

如果需要解绑,请联系客服提交解绑工单。

请求参数

名称类型是否必填默认值描述取值范围
userAccessKeystring-用户API Key-
timestampnumber-UTC请求时间戳(毫秒),5分钟内有效-
userSignaturestring-HMAC-SHA256签名。签名方式: hmac_sha256(userAccessKey + timestamp, secretKey)-
remarkstring-备注(长度不能超过32个字符)-

签名算法说明

message = userAccessKey + timestamp
userSignature = HMAC-SHA256(message, secretKey)

时间戳验证:

  • 请求时间戳与服务器时间差不能超过5分钟(300000毫秒)
  • 超时请求将被拒绝,返回"request expired"错误

Python签名示例代码:

签名生成
import hmac
import hashlib
import time
import requests
import json

def generate_signature(user_access_key, secret_key, timestamp):
"""
生成HMAC-SHA256签名
:param user_access_key: 用户的user_access_key
:param secret_key: 用户的Secret Key
:param timestamp: 时间戳字符串(毫秒)
:return: 签名字符串(十六进制)
"""
message = user_access_key + timestamp
signature = hmac.new(
secret_key.encode('utf-8'),
message.encode('utf-8'),
hashlib.sha256
).hexdigest()
return signature

# 使用示例
if __name__ == "__main__":
user_access_key = "your_access_key"
user_secret_key = "your_secret_key"
timestamp = str(int(time.time() * 1000))

signature = generate_signature(user_access_key, user_secret_key, timestamp)
print(f"userAccessKey: {user_access_key}")
print(f"timestamp: {timestamp}")
print(f"userSignature: {signature}")

请求示例

Request
curl -X POST "https://sapi.xt.com/v4/broker/account/bind" \
-H "validate-appkey: $BROKER_APPKEY" \
-H "validate-timestamp: $TIMESTAMP" \
-H "validate-signature: $BROKER_SIGNATURE" \
-H "Content-Type: application/json" \
-d '{
"userAccessKey": "user_access_key_here",
"timestamp": 1702592000000,
"userSignature": "generated_user_signature_here",
"remark": "可选备注"
}'

响应示例

Response
{
"rc": 0, //响应码 0表示成功
"mc": "SUCCESS", //业务错误码
"result": {
"userId": 7270726238734, //用户ID
"accountId": 7270726238734, //用户账户ID
"accountLevel": 1, //用户账户等级 1主账户 2二级账户
"bindTime": 1703980800000 //绑定毫秒时间戳
}
}

响应字段

字段类型描述
userIdnumber用户ID
accountIdnumber用户账户ID
accountLevelnumber用户账户等级:1=主账户,2=二级账户
bindTimenumber绑定毫秒时间戳

消息码(mc)

mc描述
BROKER_BINDING_001Broker信息不存在(信息有误或审批未通过)
BROKER_BINDING_002签名校验不通过
BROKER_BINDING_003不符合绑定条件
BROKER_BINDING_004重复绑定或账户已被其他经纪商绑定