跳到正文
Indiana
控制台
文档
章节目录 / 兑换优惠码

兑换优惠码

POST/api/v1/offers/redeem

兑换有效优惠码,领取与 Funnel 共用优惠账本。

SDK 0.0.1更新于

发起请求

兑换有效优惠码,领取与 Funnel 共用优惠账本。

调用凭据
仅客户 Token。身份由 Token 绑定。
所需权限
offers:resolve
base URL 和 App ID 来自 SDK 接入页。示例使用占位值,不会执行请求。服务端 Key 不可放入浏览器。
request.shShell
curl -X POST "$GROOVE_BASE_URL/api/v1/offers/redeem" \  -H "Authorization: Bearer $GROOVE_CUSTOMER_TOKEN" \  -H "X-Groove-Project: $GROOVE_PROJECT_ID" \  -H "X-Groove-Environment: sandbox" \  -H "Content-Type: application/json" \  -d '{  "code": "WELCOME10",  "requestId": "00000000-0000-4000-8000-000000000001"}'

响应选项卡列出字段类型,不是响应示例;实际值由客户状态决定。

请求参数

JSON 请求体

codestring必填

本次操作的 code 值,类型和约束见字段标注。

pattern: ^[A-Z0-9][A-Z0-9_-]{2,31}$

requestIduuid必填

你的业务请求 UUID;同一次操作重试复用,新的操作生成新值。

响应字段

成功响应包含 requestId 和 scope。结合实际业务状态或 accepted 判断操作结果;可选字段不可用时省略。

HTTP 200 · application/json

requestIduuid必填

服务端生成的 HTTP 请求 UUID,排查请求时提供这个值。

scopeobject必填

响应实际所属的 App 和环境。Header 只能核对,不能切换 Key 范围。

展开子字段
projectIdstring必填

凭据绑定的 App ID。

minLength: 1

environmentenum必填

独立数据范围:sandbox 或 live。

查看允许值

"sandbox""live"

offerobject | null必填

本次操作的 offer 值,类型和约束见字段标注。

展开子字段
iduuid必填

本次操作的 id 值,类型和约束见字段标注。

couponIduuid必填

当前 App 和环境中的优惠券 UUID。

statusenum必填

本次操作的 status 值,类型和约束见字段标注。

查看允许值

"issued""reserved""redeemed""revoked""expired"

issuedAtdate-time必填

本次操作的 issuedAt 值,类型和约束见字段标注。

expiresAtdate-time必填

ISO 8601 UTC 到期时间;会话和预占到期后不能继续使用。

couponobject必填

本次操作的 coupon 值,类型和约束见字段标注。

展开子字段
namestring必填

客户或对象的展示名称,不作为身份唯一键。

discountobject | object必填

本次操作的 discount 值,类型和约束见字段标注。

展开子字段
type"percent" | "amount"必填

本次操作的 type 值,类型和约束见字段标注。

percentOffinteger可选

本次操作的 percentOff 值,类型和约束见字段标注。

min: 1 · max: 100

amountOffCentsinteger可选

本次操作的 amountOffCents 值,类型和约束见字段标注。

min: 1 · max: 100000000

currencyenum可选

已发布价格支持的币种代码。

查看允许值

"USD""EUR""CNY""GBP""JPY""CAD""AUD""NZD""CHF""HKD""SGD""KRW""INR""BRL""MXN""TWD""THB""IDR""MYR""PHP""VND""ZAR""AED""SAR""SEK""NOK""DKK""PLN""CZK""HUF""ILS""TRY""RON"

durationobject | object | object必填

本次操作的 duration 值,类型和约束见字段标注。

展开子字段
type"once" | "repeating" | "forever"必填

本次操作的 type 值,类型和约束见字段标注。

monthsinteger可选

本次操作的 months 值,类型和约束见字段标注。

min: 1 · max: 36

appliesToobject | object必填

本次操作的 appliesTo 值,类型和约束见字段标注。

展开子字段
type"all" | "plans"必填

本次操作的 type 值,类型和约束见字段标注。

planIdsarray可选

本次操作的 planIds 值,类型和约束见字段标注。

minItems: 1 · maxItems: 50

reasonenum | null必填

拒绝原因或账本操作说明;结合 accepted / 状态判断结果。

处理错误

常见失败
错误码处理方式
UNAUTHENTICATED核对 Key,或将过期客户 Token 重新签发一次。
FORBIDDEN核对当前 Key 权限与客户访问范围。
INVALID_REQUEST检查字段类型、UUID、十进制字符串和互斥字段。
SCOPE_MISMATCH使用凭据绑定的 App 和环境。

常见失败

  • UNAUTHENTICATED

    处理方式
    核对 Key,或将过期客户 Token 重新签发一次。
  • FORBIDDEN

    处理方式
    核对当前 Key 权限与客户访问范围。
  • INVALID_REQUEST

    处理方式
    检查字段类型、UUID、十进制字符串和互斥字段。
  • SCOPE_MISMATCH

    处理方式
    使用凭据绑定的 App 和环境。

相关:完整请求与错误约定·返回接口索引