Files
shaguabijia-app-server/docs/api/ad-pangle-callback.md
T
OuYingJun1024 18ab7eab92 docs(api): 补全福利/钱包/提现/签到/任务/省钱/看广告 21 个接口文档
按 docs/api 一接口一文件约定新增:
- 钱包(11): account / coin-transactions / cash-transactions / exchange-info / exchange / bind-wechat / unbind-wechat / withdraw-info / withdraw / withdraw/status / withdraw-orders
- 签到(2): status / 执行签到
- 任务(2): list / {task_key}/claim
- 省钱(3): summary / battle / records
- 看广告发奖(3): pangle-callback(S2S验签) / reward-status / test-grant(仅联调)
- README 索引补 12–32 行 + 新增「游标分页约定」+ 修正鉴权说明 + 注明金额以分为单位

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 17:50:01 +08:00

29 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# GET /api/v1/ad/pangle-callback — 穿山甲激励视频发奖回调(S2S)
> 所属:Ad 组(前缀 `/api/v1/ad` | 鉴权:**无 JWT,靠验签**(穿山甲服务器调用) | 限流:同 IP ≤300 次/分 | [← 返回 API 索引](./README.md)
## 入参(query,由穿山甲拼装)
穿山甲在激励视频播完后回调,带一组 query 参数,关键:
| 字段 | 类型 | 说明 |
|---|---|---|
| `user_id` | string | 客户端起播时传入的用户标识(须为数字 = 本系统 user.id) |
| `trans_id` | string | 穿山甲交易号(**幂等键**) |
| `sign` | string | 穿山甲签名(用 `PANGLE_REWARD_SECRET` 验) |
| `reward_name` | string | 奖励名(可选,入库备注) |
| … | | 其余参与签名的参数 |
## 出参
响应 `200`:`PangleCallbackOut`
| 字段 | 类型 | 说明 |
|---|---|---|
| `is_valid` | bool | `true`=已受理(发奖成功 或 当日达上限 或 user 非法,均不让穿山甲重试) |
## 错误码
- `403` 验签失败(`bad sign`,留给真请求重试)
- `503` 回调未配置(`pangle_callback_configured=false`
## 说明
**发奖唯一可信入口**:验签 → 取 `user_id`/`trans_id` → 幂等发金币(按 `trans_id` 去重 + 每日上限)。客户端不参与发奖,被破解也刷不到钱。验签过但参数缺/坏或 user 不存在 → 受理但不发(`is_valid` 仍据情况返回,避免无意义重试)。