推荐系统 API (Referral API)
本文档介绍 AXBlade 推荐系统的所有 API 接口。
公开接口 (无需认证)
获取用户返佣信息
查询用户在链上的返佣状态。
端点: GET /api/v1/referral/on-chain/user-rebate/:address
路径参数:
| 参数 | 类型 | 说明 |
|---|---|---|
| address | string | 用户钱包地址 (0x...) |
响应示例:
{
"address": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
"claimed_usd": "0",
"nonce": 0,
"referral_code": "",
"referrer": "0x0000000000000000000000000000000000000000",
"tier_level": 0,
"tier_name": "Bronze"
}
字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| claimed_usd | string | 已领取返佣金额 (USDT) |
| nonce | number | 领取 nonce,用于签名 |
| referral_code | string | 用户绑定的推荐码 |
| referrer | string | 推荐人地址 |
| tier_level | number | 层级索引 (0-4) |
| tier_name | string | 层级名称 |
获取推荐关系信息
查询用户的推荐关系和返佣比例。
端点: GET /api/v1/referral/on-chain/referral-info/:address
响应示例:
{
"address": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
"code": "ALICE2024",
"referrer": "0x70997970c51812dc3a010c7d01b50e0d17dc79c8",
"total_rebate_bps": 1000,
"trader_discount_bps": 500,
"affiliate_reward_bps": 500
}
字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | string | 推荐码 |
| referrer | string | 推荐人地址 |
| total_rebate_bps | number | 总返佣比例 (basis points, 1000 = 10%) |
| trader_discount_bps | number | 交易者折扣 (basis points) |
| affiliate_reward_bps | number | 推广者奖励 (basis points) |
获取已领取金额
端点: GET /api/v1/referral/on-chain/claimed/:address
响应示例:
{
"address": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
"claimed_usd": "150.50"
}
认证接口
所有需要认证的请求必须在 Header 中包含 JWT Token:
Authorization: Bearer <jwt_token>
创建推荐码
用户创建自己的推荐码。
端点: POST /api/v1/referral/codes
请求体:
{
"timestamp": 1703577600,
"signature": "0x..."
}
EIP-712 签名结构:
const domain = {
name: "AXBlade",
version: "1",
chainId: 421614,
verifyingContract: "0xFDe43f8e6e082975d246844DEF4fE8E704403d43"
};
const types = {
CreateReferralCode: [
{ name: "wallet", type: "address" },
{ name: "timestamp", type: "uint256" }
]
};
const value = {
wallet: userAddress,
timestamp: Math.floor(Date.now() / 1000)
};
const signature = await signer.signTypedData(domain, types, value);
响应示例:
{
"success": true,
"code": "A1B2C3",
"created_at": 1703577600000
}
绑定推荐码
用户绑定推荐人的推荐码。
端点: POST /api/v1/referral/bind
请求体:
{
"code": "ALICE2024",
"timestamp": 1703577600,
"signature": "0x..."
}
EIP-712 签名结构:
const types = {
BindReferralCode: [
{ name: "wallet", type: "address" },
{ name: "code", type: "string" },
{ name: "timestamp", type: "uint256" }
]
};
const value = {
wallet: userAddress,
code: "ALICE2024",
timestamp: Math.floor(Date.now() / 1000)
};
响应示例:
{
"success": true,
"referrer_address": "0x70997970c51812dc3a010c7d01b50e0d17dc79c8",
"referrer_code": "ALICE2024"
}
获取推荐仪表板
获取用户作为推荐人的统计数据。
端点: GET /api/v1/referral/dashboard
响应 示例:
{
"code": "A1B2C3",
"total_referrals": 25,
"active_referrals": 18,
"total_earnings": "1250.50",
"pending_earnings": "150.00",
"claimed_earnings": "1100.50",
"tier": {
"level": 2,
"name": "Gold",
"commission_rate": "0.15",
"next_tier_requirement": 50
},
"recent_activity": [
{
"referral_address": "0x1234...",
"event_type": "trade",
"volume": "10000.00",
"commission": "15.00",
"timestamp": 1703577600000
}
]
}