推广中心
推广数据查询、排行榜、渠道统计相关接口。通过 openApi.* 命名空间访问全站推广概览数据,通过 referral.* 命名空间管理自己的推广链接、查看个人推广统计和签到领奖。
概览数据(openApi)
以下端点通过 openApi 路由提供,需要 referral:read scope。
推广数据总览
/api/trpc/openApi.referralOverviewAPI 密钥referral:read获取全站推广活动的汇总数据,包含总链接数、总邀请人数、点击量、付款统计等。支持按日期范围和渠道筛选,不传参数则返回全量汇总。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
from | string | 否 | 开始日期(ISO 8601 格式),与 to 一起使用,启用日期范围筛选 |
to | string | 否 | 结束日期(ISO 8601 格式,范围不超过 90 天) |
channel | string | 否 | 渠道标识,仅统计指定渠道的链接数据 |
示例 1 — 全量汇总:
curl -X POST 'https://your-domain.com/api/trpc/openApi.referralOverview' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{}'示例 2 — 指定日期范围 + 渠道:
curl -X POST 'https://your-domain.com/api/trpc/openApi.referralOverview' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"from":"2026-03-01T00:00:00.000Z","to":"2026-03-31T23:59:59.999Z","channel":"twitter"}'返回字段说明:
period— 筛选的日期范围,未指定时为nullchannel— 筛选的渠道,未指定时为nulllinks— 总链接数referrals— 总邀请记录数clicks/uniqueClicks— 总点击 / 去重点击payments.count/payments.amount— 付款笔数 / 金额pointsAwarded— 已发放推广积分activeReferrers— 活跃推广者数
推广趋势统计
/api/trpc/openApi.referralTrendStatsAPI 密钥referral:read按日聚合的全站推广数据时间序列,适用于趋势图表可视化。支持渠道筛选。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
from | string | 是 | 开始日期(ISO 8601 格式) |
to | string | 是 | 结束日期(ISO 8601 格式,范围不超过 90 天) |
channel | string | 否 | 渠道标识,仅统计指定渠道的数据 |
curl -X POST 'https://your-domain.com/api/trpc/openApi.referralTrendStats' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"from":"2026-03-01T00:00:00.000Z","to":"2026-03-15T23:59:59.999Z"}'返回字段说明:
period.from/period.to— 查询的日期范围channel— 筛选的渠道,未指定时为nulltrend[]— 每日数据数组,每项包含date、clicks、uniqueClicks、registers、paymentCount、paymentAmount
推广排行榜
/api/trpc/openApi.referralLeaderboardAPI 密钥referral:read按不同指标查看推广用户排行榜。支持渠道筛选(points 指标除外)。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
metric | string | 否 | 排行指标:referrals(邀请人数,默认)/ clicks(点击量)/ points(积分) |
limit | number | 否 | 数量(1-50,默认 20) |
channel | string | 否 | 渠道标识,仅统计指定渠道的链接数据(points 指标时无效) |
curl -X POST 'https://your-domain.com/api/trpc/openApi.referralLeaderboard' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"metric":"referrals","limit":10,"channel":"bilibili"}'返回字段说明:
items[].userId— 用户 IDitems[].name— 用户昵称items[].avatar— 头像 URLitems[].value— 指标数值
推广渠道统计
/api/trpc/openApi.referralChannelStatsAPI 密钥referral:read按推广渠道(channel)聚合统计点击、注册、付款数据,包含转化率计算。支持日期范围筛选和自定义排序。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 否 | 数量(1-50,默认 20) |
from | string | 否 | 开始日期(ISO 8601 格式),与 to 一起使用 |
to | string | 否 | 结束日期(ISO 8601 格式,范围不超过 90 天) |
sortBy | string | 否 | 排序字段:registers(默认)/ clicks / uniqueClicks / payments |
示例 — 查询本月各渠道表现:
curl -X POST 'https://your-domain.com/api/trpc/openApi.referralChannelStats' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"from":"2026-03-01T00:00:00.000Z","to":"2026-03-31T23:59:59.999Z","sortBy":"registers","limit":10}'返回字段说明:
period— 筛选的日期范围,未指定时为nullitems[].channel— 渠道名称items[].clicks/uniqueClicks— 点击 / 去重点击items[].registers— 注册数items[].payments/paymentAmount— 付款笔数 / 金额items[].conversionRate— 注册转化率(百分比)
推广链接排行
/api/trpc/openApi.referralLinkRankingAPI 密钥referral:read全站维度的推广链接表现排行,可按渠道筛选和自定义排序。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 否 | 数量(1-50,默认 20) |
channel | string | 否 | 渠道标识,仅返回指定渠道的链接 |
sortBy | string | 否 | 排序字段:registers(默认)/ uniqueClicks / paymentCount / paymentAmount |
curl -X POST 'https://your-domain.com/api/trpc/openApi.referralLinkRanking' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"sortBy":"paymentCount","channel":"twitter","limit":5}'返回字段说明:
items[].id/code/label/channel— 链接基本信息items[].clicks/uniqueClicks/registers— 点击与注册数据items[].paymentCount/paymentAmount— 付款统计items[].conversionRate— 注册转化率(百分比)items[].createdAt— 创建时间items[].user— 链接所属用户(id、name、avatar)
用户推广管理(referral)
以下端点通过 referral 路由提供,操作当前登录用户自己的推广数据。查询类需要 referral:read scope,写入类需要 referral:write scope。
获取我的推广统计
/api/trpc/referral.getMyStatsAPI 密钥referral:read查询当前用户的推广统计信息,包含指定日期、前一日、全量汇总和转化率。可选指定日期和链接 ID 筛选。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
date | string | 否 | 查询日期(YYYY-MM-DD 格式,如 2026-03-15),不传则为今日 |
linkIds | string[] | 否 | 推广链接 ID 数组,仅统计指定链接的数据 |
示例 — 查询指定日期的统计:
curl -X POST 'https://your-domain.com/api/trpc/referral.getMyStats' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"date":"2026-03-15"}'返回字段说明:
date— 查询的日期(YYYY-MM-DD)points— 当前积分余额referralCode— 个人推广码totalReferrals/totalLinks— 总邀请人数 / 总链接数todayClicks/todayUniqueClicks/todayRegisters/todayPaymentCount/todayPaymentAmount— 指定日期的数据yesterdayUniqueClicks/yesterdayRegisters/yesterdayPaymentCount— 指定日期前一天的数据totalClicks/totalUniqueClicks/totalRegisters/totalPaymentCount/totalPaymentAmount— 全量数据conversionRate— 注册转化率(百分比)paymentConversionRate— 付款转化率(百分比)earnedPoints— 推广获得的总积分
推广趋势数据
/api/trpc/referral.getMyTrendStatsAPI 密钥referral:read查询当前用户指定日期范围内按日聚合的推广数据趋势。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
from | string | 是 | 开始日期(ISO 8601 格式) |
to | string | 是 | 结束日期(ISO 8601 格式,范围不超过 90 天) |
linkIds | string[] | 否 | 推广链接 ID 数组,仅统计指定链接的数据 |
curl -X POST 'https://your-domain.com/api/trpc/referral.getMyTrendStats' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"from":"2026-03-01T00:00:00.000Z","to":"2026-03-15T23:59:59.999Z"}'渠道统计
/api/trpc/referral.getChannelStatsAPI 密钥referral:read按渠道(channel)聚合当前用户的推广数据,包含转化率。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
linkIds | string[] | 否 | 推广链接 ID 数组,仅统计指定链接的数据 |
返回每个渠道: channel、clicks、uniqueClicks、registers、paymentCount、paymentAmount、paymentUsers、linkCount、conversionRate、paymentConversionRate
Top 链接
/api/trpc/referral.getTopLinksAPI 密钥referral:read获取当前用户表现最好的推广链接。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 否 | 数量(1-20,默认 5) |
sortBy | string | 否 | 排序:registers(默认)/ uniqueClicks / paymentCount / paymentConversionRate / conversionRate |
linkIds | string[] | 否 | 推广链接 ID 数组,限定排行范围 |
推广链接列表
/api/trpc/referral.getMyLinksAPI 密钥referral:read分页查询当前用户的推广链接,支持搜索、渠道筛选、状态筛选和排序。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 否 | 每页数量(1-50,默认 20) |
page | number | 否 | 页码(默认 1) |
search | string | 否 | 搜索关键词(匹配链接标签和推广码) |
channel | string | 否 | 渠道筛选,传 _none 筛选无渠道的链接 |
isActive | boolean | 否 | 启用状态筛选 |
sortBy | string | 否 | 排序字段:createdAt(默认)/ clicks / uniqueClicks / registers |
sortDir | string | 否 | 排序方向:desc(默认)/ asc |
curl -X POST 'https://your-domain.com/api/trpc/referral.getMyLinks' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"page":1,"limit":10,"channel":"twitter","sortBy":"registers","sortDir":"desc"}'创建推广链接
/api/trpc/referral.createLinkAPI 密钥referral:write创建新的推广链接,受站点推广开关和每用户链接上限约束。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
label | string | 否 | 链接备注名称(最长 100 字符) |
channel | string | 否 | 推广渠道标识(最长 50 字符,如 twitter、bilibili) |
targetUrl | string | 否 | 目标落地页 URL |
curl -X POST 'https://your-domain.com/api/trpc/referral.createLink' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"label":"B 站简介区","channel":"bilibili","targetUrl":"https://example.com/promo"}'更新推广链接
/api/trpc/referral.updateLinkAPI 密钥referral:write更新自己的推广链接属性。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 链接 ID |
label | string | 否 | 新的备注名称 |
isActive | boolean | 否 | 启用/停用链接 |
删除推广链接
/api/trpc/referral.deleteLinkAPI 密钥referral:write删除自己的推广链接及关联数据。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 链接 ID |
被推广用户列表
/api/trpc/referral.getMyReferralsAPI 密钥referral:read分页查询当前用户邀请的用户记录,支持搜索、按链接和渠道筛选。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 否 | 每页数量(1-50,默认 20) |
page | number | 否 | 页码(默认 1) |
search | string | 否 | 搜索关键词(匹配被邀请用户的用户名或昵称) |
linkId | string | 否 | 推广链接 ID,仅查看通过该链接邀请的用户 |
channel | string | 否 | 渠道筛选,传 _none 筛选无渠道的记录 |
curl -X POST 'https://your-domain.com/api/trpc/referral.getMyReferrals' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"page":1,"limit":10,"channel":"twitter"}'积分流水
/api/trpc/referral.getPointsHistoryAPI 密钥referral:read分页查询当前用户的积分变动记录,支持按类型和收支方向筛选。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 否 | 每页数量(1-50,默认 20) |
page | number | 否 | 页码(默认 1) |
type | string | 否 | 积分类型筛选:REFERRAL_REWARD(推广奖励)/ DAILY_LOGIN(每日登录)/ CHECKIN(签到)/ ADMIN_ADJUST(管理员调整) |
amountDir | string | 否 | 收支方向:income(收入)/ expense(支出) |
curl -X POST 'https://your-domain.com/api/trpc/referral.getPointsHistory' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-your-api-key' \
-d '{"page":1,"limit":20,"type":"REFERRAL_REWARD","amountDir":"income"}'生成推广码
/api/trpc/referral.ensureReferralCodeAPI 密钥referral:write为当前用户生成个人推广码(若已有则直接返回)。
签到状态
/api/trpc/referral.getCheckinStatusAPI 密钥referral:read获取签到系统的状态:是否启用、今日是否已签到、积分区间。
返回字段说明:
enabled— 签到功能是否开启checkedInToday— 今日是否已签到todayPoints— 今日签到获得的积分(未签到为 0)pointsMin/pointsMax— 签到积分随机区间
每日签到
/api/trpc/referral.checkinAPI 密钥referral:write执行每日签到领取积分奖励。每日限一次。
返回字段说明:
awarded— 是否成功领取points— 领取的积分数
每日登录奖励
/api/trpc/referral.claimDailyLoginAPI 密钥referral:write领取每日登录奖励积分。每日限一次,与签到独立。
返回字段说明:
awarded— 是否成功领取points— 领取的积分数