将 PartnerShare 内嵌到产品中
通过服务端登录接口为当前用户生成推广中心访问 Token,再将 PartnerShare 以 iframe 的方式嵌入你的产品后台。用户无需离开当前系统,也无需重复注册登录,即可直接查看推广链接、邀请数据、奖励和提现信息。
1. 适用场景 #
如果你希望在自己的产品后台中增加“推广中心”“邀请赚钱”“联盟计划”等模块,并让用户在当前系统内直接完成推广相关操作,这种内嵌接入方式会比单独跳转到外部站点更自然,也更容易保持品牌体验一致。
用户留在你的产品内完成推广操作,流程更连续,进入门槛更低。
推广链接、邀请数据、奖励统计、提现能力由 PartnerShare 承接,无需重复建设完整推广后台。
你的业务用户可直接映射到 PartnerShare 推广者身份,避免二次注册和独立登录。
2. 接入模式 #
推荐采用“你的前端发起访问、你的服务端换取 Token、PartnerShare 输出推广中心页面”的三段式接入结构。这样既能确保 API Secret 安全,也能让 iframe 页面保持稳定加载。
用户点击“推广中心”入口,请求你自己的服务端生成当前用户的推广中心访问凭证。
不直接接触 API Secret使用 API Key、时间戳和 API Secret 进行签名,调用 PartnerShare 登录接口换取推广者 Token。
服务端签名并获取 token前端拿到 Token 后渲染 iframe,在你的产品页面内展示推广中心、邀请数据和奖励信息。
用户停留在当前产品内API Secret 必须保存在你的服务端。前端只应该请求你自己的后端接口,由你的后端调用 PartnerShare 获取 Token,再把结果返回给前端用于渲染 iframe。
3. 页面效果示意 #
下图为内嵌后的后台效果示意。推广中心以页面模块的形式展示在你的产品后台中,用户可以在当前系统内直接查看推广数据、营销素材、专属链接和邀请码。

4. 前置要求 #
如果还不了解开放接口的鉴权方式,请先阅读 API 鉴权与签名机制。
5. 获取推广者登录 Token #
你的服务端需要先调用以下接口,为当前业务用户生成推广中心访问 Token。若该用户在 PartnerShare 中尚未存在,系统会自动创建推广者账号并加入默认推荐计划;若已存在,则直接复用并刷新登录状态。
https://api-service.partnershare.net/api/open/v1/promoter/login5.1 请求头 #
| Header | 必填 | 说明 |
|---|---|---|
X-Api-Key | 是 | PartnerShare 分配给当前产品的 API Key。 |
X-Api-Timestamp | 是 | 秒级时间戳,用于防止重放请求。 |
X-Api-Sign | 是 | 使用 API Secret 按签名规则生成的 SHA256 签名。 |
Content-Type | 是 | 推荐使用 application/json。 |
5.2 请求参数 #
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
user_id | string | 是 | 你系统内的用户唯一标识。PartnerShare 会基于该字段幂等创建或复用推广者账号。 |
email | string | 否 | 用户邮箱。传入时会校验邮箱格式,可用于推广者资料展示。 |
username | string | 否 | 用户展示名称。为空时优先使用邮箱,否则按 user_id 自动生成。 |
lang | string | 否 | 语言代码,支持 zh、en、zh-hk;默认 en。 |
phone | string | 否 | 手机号,可用于补充推广者资料。 |
theme_mode | string | 否 | 推广中心主题模式,支持 light 或 dark;不传时默认 light。 |
5.3 请求示例 #
curl -X POST "https://api-service.partnershare.net/api/open/v1/promoter/login" \
-H "Content-Type: application/json" \
-H "X-Api-Key: pk_xxxxxxxxxxxxxxxxxxxxx" \
-H "X-Api-Timestamp: 1776677721" \
-H "X-Api-Sign: calculated_signature" \
-d '{
"user_id": "user_10001",
"email": "user@example.com",
"username": "Alex",
"lang": "zh",
"theme_mode": "light"
}'
5.4 响应示例 #
{
"code": 0,
"message": "success",
"data": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"user_string_id": "ps8xk2m9qa",
"lang": "zh",
"theme_mode": "light"
}
}
5.5 响应字段 #
| 字段 | 类型 | 说明 |
|---|---|---|
code | int | 响应状态码,0 表示成功,非 0 表示失败。 |
message | string | 响应描述信息。 |
data.token | string | 推广中心登录 Token,用于拼接 iframe 地址。 |
data.user_string_id | string | PartnerShare 内部推广者字符串 ID,可用于排查和数据关联。 |
data.lang | string | 推广者当前语言。 |
data.theme_mode | string | 推广中心当前主题模式,返回 light 或 dark。 |
6. 创建内嵌 iframe #
你的前端从自身服务端拿到 token 后,将 iframe 的 src 设置为 PartnerShare 推广中心地址即可。
https://promoter.partnershare.net/iframe/{token}<iframe
src="https://promoter.partnershare.net/iframe/{{token}}"
width="100%"
height="900"
frameborder="0"
allow="clipboard-write"
></iframe>
进入推广中心页面时,实时向你的服务端请求新的 Token,再渲染 iframe。不要把历史 Token 固定写入页面,也不要把 Token 长期缓存到前端存储中。
7. 推荐的前后端分工 #
保存 API Secret、生成签名、调用 /api/open/v1/promoter/login、将 Token 返回给自己的前端。
在用户进入推广入口时请求自己的服务端接口,并使用返回的 Token 渲染 PartnerShare iframe。
// 前端示例:仅请求你自己的服务端,不直接请求 PartnerShare
async function mountPartnerShareIframe() {
const res = await fetch("/api/partner-share/iframe-token");
const data = await res.json();
document.querySelector("#partnerShareIframe").src =
`https://promoter.partnershare.net/iframe/${data.token}`;
}
8. 常见问题 #
8.1 为什么必须由服务端获取 Token? #
因为生成 Token 的接口需要 API Key 签名鉴权,API Secret 只能保存在服务端。如果放到前端,会导致任何人都可以伪造请求创建或登录推广者账号。
8.2 同一个用户每次进入页面都会重复创建推广者吗? #
不会。PartnerShare 会基于 user_id 在当前产品下查找已有推广者账号。相同 user_id 会复用同一个推广者账号,并更新必要的用户资料。
8.3 iframe 页面打不开或显示登录失效怎么办? #
请重新调用 /api/open/v1/promoter/login 获取新的 Token,并确认 iframe URL 使用的是最新返回的 data.token。
8.4 为什么接口返回“该产品下不存在推荐计划活动”? #
说明当前产品还没有可用的推荐计划活动。请先在 PartnerShare 后台完成产品基础配置、奖励规则和推荐计划活动配置,并确保活动处于进行中状态。
8.5 可以自定义 iframe 高度吗? #
可以。建议容器宽度设置为 100%,高度根据你的后台布局设置,常见值为 850px 到 980px。移动端页面需要结合自身产品布局做响应式适配。
9. 接入检查清单 #
user_id。