メインコンテンツへスキップ
有効なサブスクリプション注文に紐づく製品を切り替えます。
POST /v1/actions/subscription-order/change-product
認証: Session Token — Customer Endpoints を参照(customer ロール)
近日公開 — このエンドポイントは未実装で、現在は 501 Not Implemented を返却します。下記のリクエスト署名は暫定的なもので、GA 前に変更される可能性があります。未実装期間中はルートがロック状態になっており、呼び出してもサブスクリプションの状態は一切変更されません。

リクエストボディ

フィールド必須説明
orderIdstring必須現在のサブスクリプション注文 ID(Short ID フォーマット ORD_xxx
targetProductIdstring必須変更先の製品 ID(Short ID フォーマット PROD_xxx

リクエスト例

import { WaffoPancake } from "@waffo/pancake-ts";

const client = new WaffoPancake({
  sessionToken: window.WAFFO_SESSION_TOKEN, // マーチャントのポータルから注入
  environment: "prod",
});

const result = await client.orders.changeSubscriptionProduct({
  orderId: "ORD_2aUyqjCzEIiEcYMKj7TZtw",
  targetProductId: "PROD_36ZqlJPatGOsjz7AtYqAwj",
});

現在のレスポンス (501)

{
  "data": null,
  "errors": [
    {
      "message": "Not implemented",
      "layer": "order"
    }
  ]
}

レスポンスフィールド(予定)

フィールド説明
orderIdstringサブスクリプション注文 ID(Short ID)
statusstring製品変更後の注文ステータス

エラー

リトライポリシー:4xx は一切リトライしない — リクエストを修正してから再送信。5xx は指数バックオフでリトライ(5s 開始、最大 3 回)。
ステータスerrors[0].message意味推奨処理
400Missing required field: orderIdリクエストボディに orderId が含まれていないリクエストボディを修正してから再送信
400Missing required field: targetProductIdリクエストボディに targetProductId が含まれていないリクエストボディを修正してから再送信
400Expected format: ORD_xxx, got "..."orderId Short ID のデコード失敗orderId のフォーマットを修正してから再送信
401Authentication failedSession token が無効、期限切れ、または不正な形式Issue Session Token で再発行
403Order does not belong to user所有権チェック失敗呼び出し元が注文を所有しているか確認
404Order not found注文が存在しないorder ID を確認
501Not implementedエンドポイントは未提供GA を待つ — リトライしない
500Internal server errorサーバ側の予期しない障害指数バックオフでリトライ(5s 開始、最大 3 回)