メインコンテンツへスキップ
既存ストアの名前、ステータス、または設定を更新します。リクエストボディに含まれたフィールドのみが更新され、省略されたフィールドは変更されません。
POST /v1/actions/store/update-store
認証: API Key(owner または admin ロールが必要)

リクエストボディ

フィールド必須説明
idstringはいストア ID(Short ID 形式 STO_xxx
namestringいいえ更新後のストア名(1-48文字)
statusstringいいえactiveinactive、または suspended
logostring | nullいいえストアロゴ URL(null で削除)
supportEmailstring | nullいいえサポートメール(null で削除)
websitestring | nullいいえウェブサイト URL(null で削除)
webhookSettingsobject | nullいいえWebhook 設定(null で削除)
notificationSettingsobject | nullいいえ通知設定(null で削除)
checkoutSettingsobject | nullいいえチェックアウトテーマ設定(null で削除)

Webhook 設定

フィールド説明
testWebhookUrlstring | nullテスト環境の Webhook URL
prodWebhookUrlstring | null本番環境の Webhook URL
testEventsstring[]テスト環境で購読するイベントタイプ
prodEventsstring[]本番環境で購読するイベントタイプ

通知設定

フィールドデフォルト説明
emailOrderConfirmationbooleantrue注文確認時にメールを送信
emailSubscriptionConfirmationbooleantrueサブスクリプション作成時にメールを送信
emailSubscriptionCycledbooleantrueサブスクリプション更新時にメールを送信
emailSubscriptionCanceledbooleantrueサブスクリプションキャンセル時にメールを送信
emailSubscriptionRevokedbooleantrueサブスクリプション取り消し時にメールを送信
emailSubscriptionPastDuebooleantrueサブスクリプション未払い時にメールを送信
notifyNewOrdersbooleantrue新規注文をマーチャントに通知
notifyNewSubscriptionsbooleantrue新規サブスクリプションをマーチャントに通知

チェックアウト設定

フィールド説明
defaultDarkModebooleanデフォルトでダークモードを使用するかどうか
lightobjectライトテーマ設定(下記参照)
darkobjectダークテーマ設定(下記参照)
チェックアウトテーマ設定lightdark の両方に適用):
フィールド説明
checkoutLogostring | nullチェックアウトページのロゴ URL
checkoutColorPrimarystringプライマリカラー(16進数)
checkoutColorBackgroundstring背景色(16進数)
checkoutColorCardstringカード/パネルカラー(16進数)
checkoutColorTextstringテキストカラー(16進数)
checkoutBorderRadiusstringボーダー半径(CSS 値)

リクエスト例

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

const client = new WaffoPancake({
  merchantId: process.env.WAFFO_MERCHANT_ID!,
  privateKey: process.env.WAFFO_PRIVATE_KEY!,
});

const { store } = await client.stores.update({
  id: "STO_2aUyqjCzEIiEcYMKj7TZtw",
  name: "Updated Store Name",
  supportEmail: "help@example.com",
  webhookSettings: {
    testWebhookUrl: "https://example.com/webhooks/test",
    prodWebhookUrl: null,
    testEvents: ["order.completed", "subscription.created"],
    prodEvents: [],
  },
  notificationSettings: {
    emailOrderConfirmation: true,
    emailSubscriptionConfirmation: true,
    emailSubscriptionCycled: true,
    emailSubscriptionCanceled: true,
    emailSubscriptionRevoked: false,
    emailSubscriptionPastDue: true,
    notifyNewOrders: true,
    notifyNewSubscriptions: true,
  },
});

成功レスポンス(200)

{
  "data": {
    "store": {
      "id": "STO_2aUyqjCzEIiEcYMKj7TZtw",
      "name": "Updated Store Name",
      "status": "active",
      "logo": null,
      "supportEmail": "help@example.com",
      "website": null,
      "slug": "my-digital-store-a1b2c3",
      "prodEnabled": false,
      "webhookSettings": {
        "testWebhookUrl": "https://example.com/webhooks/test",
        "prodWebhookUrl": null,
        "testEvents": ["order.completed", "subscription.created"],
        "prodEvents": []
      },
      "notificationSettings": {
        "emailOrderConfirmation": true,
        "emailSubscriptionConfirmation": true,
        "emailSubscriptionCycled": true,
        "emailSubscriptionCanceled": true,
        "emailSubscriptionRevoked": false,
        "emailSubscriptionPastDue": true,
        "notifyNewOrders": true,
        "notifyNewSubscriptions": true
      },
      "checkoutSettings": {
        "defaultDarkMode": false,
        "light": {
          "checkoutLogo": null,
          "checkoutColorPrimary": "#000000",
          "checkoutColorBackground": "#FFFFFF",
          "checkoutColorCard": "#F5F5F5",
          "checkoutColorText": "#1A1A1A",
          "checkoutBorderRadius": "8px"
        },
        "dark": {
          "checkoutLogo": null,
          "checkoutColorPrimary": "#FFFFFF",
          "checkoutColorBackground": "#1A1A1A",
          "checkoutColorCard": "#2A2A2A",
          "checkoutColorText": "#F5F5F5",
          "checkoutBorderRadius": "8px"
        }
      },
      "deletedAt": null,
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-01-15T11:00:00.000Z"
    }
  }
}

レスポンスフィールド

ストア作成のレスポンスフィールドと同じです。

エラーレスポンス

ステータスエラー説明
400Missing required field: idリクエストボディに id が指定されていません
403Access denied: insufficient roleマーチャントロールが member です(更新には owner または admin が必要)
404Store not foundストア ID が存在しないか、マーチャントがメンバーではありません