推广
服务介绍和控制台设置方法是 促销介绍文档请参考。
游戏迷你应用
即使没有单独的服务器联动 也可以在游戏迷你应用内向用户发放 Toss 积分并展示在福利标签页中。
SDK 函数: grantPromotionRewardForGame
这个函数只能在游戏分类的迷你应用中调用。在非游戏分类中执行会发生错误。
签名
参数
params · 必填 ·
{ params: { promotionCode: string; amount: number } }这是发放积分所需的信息。
params.promotionCode · 必填 ·
string促销代码。
params.amount · 必填 ·
number要发放的积分金额。
返回值
Promise<{ key: string } | { errorCode: string; message: string } | 'ERROR' | undefined>
返回积分发放结果。
{ key: string }: 发放积分成功。key 表示奖励密钥。{ errorCode: string, message: string }: 发放积分失败。请确认错误代码。
错误代码
这是在使用促销函数时可能发生的错误代码列表。请参考响应代码或消息, 应用适当的异常处理逻辑。
40000
在非游戏迷你应用中调用时
4100
找不到促销信息
使用未在控制台注册的促销密钥调用时
4109
促销未在执行中
未在控制台启动促销,或因预算全部耗尽而自动结束时
4110
无法发放/回收奖励
这是内部系统发生错误的情况, 重新发放逻辑。
4111
找不到奖励发放记录
查询了不存在的发放记录时
4112
促销资金不足
由于预算不足导致发放失败时,需要在控制台增加预算或为 Biz Wallet 充值
4114
超过单次发放金额
4116
最大发放金额超过了预算
ERROR
发生了未知错误。
undefined
应用版本低于最低支持版本。
示例
非游戏迷你应用
在非游戏分类的迷你应用中,通过促销向用户发放 Toss 积分的方法有两种。
无需服务器发放: 无需单独的服务器联动,仅通过调用 SDK 函数即可发放积分。
通过服务器发放: 在合作方服务器上直接调用 API 发放积分。适用于需要防止请求篡改等完整性很重要的情况。
无需服务器发放促销积分
SDK 函数: grantPromotionReward
即使没有单独的服务器联动 在非游戏迷你应用内向用户发放 Toss 积分并展示在福利标签页中。
签名
参数
params · 必填 ·
{ params: { promotionCode: string; amount: number } }这是发放积分所需的信息。
params.promotionCode · 必填 ·
string促销代码。
params.amount · 必填 ·
number要发放的积分金额。
返回值
Promise<{ key: string } | { errorCode: string; message: string } | 'ERROR' | undefined>
返回积分发放结果。
{ key: string }: 发放积分成功。key 表示奖励密钥。{ errorCode: string, message: string }: 发放积分失败。请确认错误代码。
错误代码
这是在使用促销函数时可能发生的错误代码列表。请参考响应代码或消息, 应用适当的异常处理逻辑。
4100
找不到促销信息
使用未在控制台注册的促销密钥调用时
4109
促销未在执行中
未在控制台启动促销,或因预算全部耗尽而自动结束时
4110
无法发放/回收奖励
这是内部系统发生错误的情况, 重新发放逻辑。
4111
找不到奖励发放记录
查询了不存在的发放记录时
4112
促销资金不足
由于预算不足导致发放失败时,需要在控制台增加预算或为 Biz Wallet 充值
4114
超过单次发放金额
4116
最大发放金额超过了预算
ERROR
发生了未知错误。
undefined
应用版本低于最低支持版本。
示例
通过服务器发放促销积分
这是在合作方服务器上直接调用 API,向用户发放 Toss 积分的方式。
识别促销目标用户
促销 API 会通过下列 2 种方法之一识别促销对象。请不要同时传递两个值,只选择一个。
请根据用途选择。
如果已经接入 Toss 登录,或者想与姓名、邮箱等会员信息绑定进行统一管理,就使用 Toss 登录。
如果不接入登录,想轻量识别用户,就使用用户识别密钥发放功能。
x-anon-key如果想提前确认 (hash) 是否是有效值, 请使用识别密钥验证 API。
基本信息
Base URL
https://apps-in-toss-api.toss.im
服务器认证
mTLS(客户端证书)
Content-Type
application/json
① 创建促销奖励发放 Key
发放用于促销的 Key。使用这个 Key 可以向用户发放奖励。
Content-type: application/json
Method:
POSTEndpoint:
/api-partner/v1/apps-in-toss/promotion/execute-promotion/get-key
请求头
识别促销对象的请求头使用以下 2 个中的一个。请不要同时传递两个请求头。
响应参数
key
String
用于促销发放的 key 值(base64 编码后的值)
② 发放促销奖励
使用已发放的 key 执行促销奖励发放。发放时会从促销预算中扣除,实际发放可能会有些许延迟。
Content-type: application/json
Method:
POSTEndpoint:
/api-partner/v1/apps-in-toss/promotion/execute-promotion
请求头
识别促销对象的请求头使用以下 2 个中的一个。请不要同时传递两个请求头。
请求参数
promotionCode
String
Y
在控制台中创建的促销代码 ID
key
String
Y
为促销发放而获得的 KEY
amount
Integer
Y
促销发放金额
响应参数
key
String
为促销发放而获得的 KEY
③ 查询促销发放结果
发放请求之后的 查询促销发放状态。
Content-type: application/json
Method:
POSTEndpoint:
/api-partner/v1/apps-in-toss/promotion/execution-result
请求头
识别促销对象的请求头使用以下 2 个中的一个。请不要同时传递两个请求头。
请求参数
promotionCode
String
Y
在控制台中创建的促销代码 ID
key
String
Y
为促销发放而获得的 KEY
响应参数
success
String
促销发放结果(SUCCESS / PENDING / FAILED)
错误代码
这是在使用促销 API 时可能发生的错误代码列表。请参考响应代码或消息, 应用适当的异常处理逻辑。
4100
找不到促销信息
使用未在控制台注册的促销密钥调用时
4109
促销未在执行中
未在控制台启动促销,或因预算全部耗尽而自动结束时
4110
无法发放/回收奖励
这是内部系统发生错误的情况, 重新发放逻辑。
4111
找不到奖励发放记录
查询了不存在的发放记录时
4112
促销资金不足
由于预算不足导致发放失败时,需要在控制台增加预算或为 Biz Wallet 充值
4113
已发放/已回收的记录
在使用同一个 Key 重复发放时,请重新发放新的 Key 后重试。
4114
超过单次发放金额
4116
最大发放金额超过了预算
最后更新于
这有帮助吗?