---
title: "TurboLink Web 奖品发放回调"
method: POST
path: "/turbolink/webCallback"
tags: ["Web TurboLink"]
---

# TurboLink Web 奖品发放回调

`POST /turbolink/webCallback`

TurboLink 服务端在用户完成任务后回调本接口，为用户发放 Bonus 奖励。无需登录、无需 FlexTV 接口签名。鉴权方式：请求头 Authorization 固定为 Token {NOTIFY_TOKEN}，其中 NOTIFY_TOKEN 来自环境变量 TURBOLINK.NOTIFY_TOKEN。user_id 必须传 public_uid（HashId），不能传数字 uid。奖励金额从 kv_data 中解析，优先识别 SEO_Bonus、reward、bonus、Bonus，或 key 名包含 bonus 的字段；也可仅传 reward_num。成功返回纯文本 success，失败返回纯文本 fail（HTTP 均为 200）。

响应契约：TurbolinkWebCallbackText。

鉴权失败、body 非法、用户不存在、奖励金额<=0 或发奖失败时返回 fail。相同 task_id 重复回调时幂等返回 success。

路由声明：服务端允许任意 HTTP 方法访问，文档以 POST 形式展示。

认证要求：无需登录。

签名要求：无需请求签名。

响应处理：返回明文响应。

## Headers

- `Authorization` string, required — 鉴权头，格式：Token {NOTIFY_TOKEN}。
- `Content-Type` string, required — 固定为 application/json。
- `lang` string — 语言代码，例如 en、zh、es。
- `device_number` string — 设备唯一标识。
- `app_version` string — 客户端版本号。

## Request body

- object
  - `user_id` string, required — 用户 public_uid。
  - `task_id` string — 任务/活动唯一 ID，用于幂等去重。
  - `reward_num` integer — 奖励倍数，默认 1。
  - `user_platform` string — 用户平台，如 web、web-pc、android、ios。
  - `kv_data` object — 奖励配置，如 reward 或 SEO_Bonus 字段。

## Response `200`

请求成功

- object
  - `code` integer, required
  - `msg` string, required
  - `data` 'success' | 'fail', required — 奖品发放回调结果纯文本。注意：webCallback 实际 HTTP Body 为纯文本 success 或 fail，不经过标准 JSON 包装；此处为 data 字段语义说明。
  - `info` object, required
  - `is_encrypt` 0 | 1, required
  - `request_id` string, required
  - `response_time` integer, required
  - `original_data` object

## Other responses

- `400` — 请求失败

---

[API](https://skmtc.dev/flextv/apis/flextv-api.md) · [All operations](https://skmtc.dev/flextv/apis/flextv-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/flextv/flextv-api/revisions/84f55eb57fd0/schema)
