メインコンテンツへスキップ
購入者がチェックアウトで入力できる自身の code を持つクーポンを作成します。プロモーションコードを最大 20 個まで同時に作成できます。すべて 1 回のリクエストで作成され、クーポン、そのコード、すべてのプロモーションコードは一緒に有効になるか、どれも作成されないかのどちらかです。クーポンの使用制限は有効期限(redeemBy)と合計使用回数(maxRedemptions)のみです。購入者の制限(購入者のメールアドレス、購入者ごとの回数、最低金額)はプロモーションコードに設定します。チェックアウトセッションで couponId を指定してクーポンを適用することもできます。プロモーションコードは後からプロモーションコードの作成で追加できます。
認証: API Key(ストアの owner または admin)

リクエストボディ

割引オブジェクト

プロモーションコードオブジェクト

promotionCodes の各要素は、プロモーションコードの作成と同じフィールドを受け付けます(couponId を除く):

リクエスト例

成功レスポンス (200)

レスポンスフィールド

レスポンスは data.coupon にラップされます。
作成はリクエスト内で成功か失敗のどちらかに確定します。200 レスポンスのクーポンは常に active です。決済プロバイダーが拒否した場合や作成を確認できなかった場合は 502 が返り、クーポンは failed として記録され、リクエストのコードはすべて解放されます。そのまま作成し直せます(同じコードも使用できます)。リクエストが完了前に中断された場合、クーポンが pending のままコードを占有することがあります。このようなクーポンは作成から 10 分を過ぎると、同じストア・同じ環境での次のクーポン作成、プロモーションコード作成、またはプロモーションコード一括生成のリクエスト時にその場でクリーンアップされます(failed として記録され、コードは解放されます)。

warnings 付きレスポンス

クーポンが active になった時点でそのコードは使用可能になり、リクエストはそれ以降失敗しません。その時点で Pancake が金額を表示形式に変換できなかった場合も、active のクーポンとともに 200 を返します。このとき amountOff とすべての promotionCodes[].restrictions.minimumAmount は null になり(レスポンスの形は変わりません)、レスポンスのトップレベルに金額が変換されなかったことを示す warnings 配列が付きます。その他のフィールドは通常どおり返されます。
クーポンはリクエストどおりに作成済みです。再作成しないでください。金額は GraphQL coupon(id) でクーポンを取得して確認します。

エラー

リトライポリシー:4xx は一切リトライしない — リクエストを修正してから再送信。5xx は指数バックオフでリトライ(5s 開始、最大 3 回)。リトライ時は必ず同じ X-Idempotency-Key を使用。