被邀请用户在产品内完成注册、付费或其他关键转化后,由品牌方服务端调用本接口回传事件。
PartnerShare 根据回传数据完成推广归因、奖励计算和佣金统计。
付费转化发生全额退款或被判定无效时,使用 转化退款 或 转化作废 接口撤销对应奖励。
1. 接口信息 #
POST
/api/open/v1/track/conversion| 项目 | 说明 |
|---|---|
| 请求域名 | https://api-service.partnershare.net |
| 请求格式 | application/json |
| 鉴权 | X-Api-Key + X-Api-Timestamp + X-Api-Sign,算法见 API 鉴权与签名机制 |
| 支持的 API Key 版本 | v1、v2 |
| 调用方 | 品牌方服务端。API Secret 不得暴露在前端 |
| 去重 | 注册事件:同一产品下同一 invited_user_id 只接受一次。付费与自定义事件:传 transaction_id 时按 transaction_id 去重;未传时同一用户的同名事件只接受一次 |
2. 请求头 #
| Header | 必填 | 说明 |
|---|---|---|
X-Api-Key | 是 | 产品的 API Key |
X-Api-Timestamp | 是 | 秒级 Unix 时间戳,300 秒内有效 |
X-Api-Sign | 是 | 按密钥版本计算的签名 |
Content-Type | 是 | application/json |
3. 请求参数 #
3.1 归因参数 #
用于确定本次转化由哪位推广者带来。两个参数二选一,优先传 click_id。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
click_id | string | 二选一 | 点击追踪 ID,来自落地页 Cookie 中的 ps_click_id。归因精度最高 |
invite_code | string | 二选一 | 推广邀请码,来自落地页参数或 Cookie 中的 ps_ref。无法获取 click_id 时使用 |
3.2 事件参数 #
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
event_name | string | 是 | 事件名称。注册事件传 signup,付费事件传 purchase,其他业务动作可传自定义事件名 |
自定义事件名需先在品牌主后台「产品管理 → 转化事件」中完成定义并启用,且在活动中关联奖励规则后才会生效。未完成配置时,事件仍会被记录,但不会产生奖励。
3.3 用户参数 #
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
invited_user_id | string | 是 | 被邀请用户在品牌方系统内的唯一 ID。注册事件必传;后续付费和自定义事件传入相同值,用于识别同一用户 |
invited_user_name | string | 否 | 被邀请用户的展示名称,用于后台查看 |
3.4 交易参数 #
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
transaction_id | string | 付费事件建议 | 交易单号或业务订单号,最长 255 字符。用于去重、追溯,以及后续退款或作废时定位转化 |
conversion_value | number | 按规则 | 转化金额。奖励规则按比例结算时必传 |
transaction_cycle_count | int | 否 | 分期奖励的分期次数,如 12 |
4. 归因规则 #
- 同时具备
click_id和invite_code时,优先按click_id归因。 - 付费或自定义事件未携带归因参数时,按该用户此前注册事件已确认的归因关系自动补全;该用户没有注册事件记录则无法归因。
- 付费事件携带的
click_id或invite_code需与注册事件的归因一致。 - 注册事件应在用户注册成功后立即回传,付费事件应在同一用户注册事件回传成功后再提交。
5. 请求示例 #
5.1 注册事件 #
{
"click_id": "clk_7f8c0d1a2b3c",
"invite_code": "LN088",
"event_name": "signup",
"invited_user_id": "user_10001",
"invited_user_name": "Tom"
}
5.2 付费事件 #
{
"click_id": "clk_7f8c0d1a2b3c",
"event_name": "purchase",
"invited_user_id": "user_10001",
"transaction_id": "order_202604220001",
"conversion_value": 99.9
}
6. 响应 #
6.1 成功 #
{
"code": 0,
"message": "Signup event reported successfully",
"data": {
"conversion_id": 1024,
"campaign_id": 145,
"affiliate_id": 204,
"event_type": 1,
"event_name": "signup",
"status": 1
}
}
6.2 响应字段 #
| 字段 | 类型 | 说明 |
|---|---|---|
conversion_id | int | 转化记录 ID |
campaign_id | int | 归因到的活动 ID |
affiliate_id | int | 归因到的推广者 ID |
event_type | int | 1 注册,2 付费,3 自定义事件 |
event_name | string | 事件名称 |
status | int | 转化状态:1 待确认,2 已确认 |
6.3 失败 #
{
"code": 6000000,
"message": "A conversion event with the same business identifier already exists",
"data": null
}
7. 错误码 #
业务失败返回 HTTP 200,以 code 判断结果,0 为成功。
| code | 说明 |
|---|---|
0 | 成功 |
1000004 | 鉴权失败:API Key 无效、签名错误、时间戳过期或来源 IP 不在白名单,具体见 message |
1000005 | 参数或业务前置条件校验失败,具体见 message |
6000000 | 业务校验失败,如转化事件重复上报,具体见 message |
8. 接入注意事项 #
- 注册事件在用户注册成功后立即回传,不要延后到登录或资料完善阶段。
- 付费事件传入唯一的
transaction_id,否则同一用户的第二笔付费会被判定为重复;按比例奖励时同时传conversion_value。 - 付费事件未携带归因参数时,确保该用户此前已成功回传注册事件。
- 全链路保留
ps_click_id与ps_ref,注册和付费事件都能获得稳定归因。前端参数的保存与透传见 推广点击跟踪 SDK 接入。