メインコンテンツへスキップ
認証済みマーチャント用の新しいストアを作成します。ストアスラッグは名前から自動生成され、JSONB 設定フィールド(notificationSettingscheckoutSettings)はデフォルト値で初期化されます。Webhook は add-webhook で個別に管理されます — 新規作成されたストアには Webhook レコードが存在しません。
POST /v1/actions/store/create-store
認証: API Key

リクエストボディ

フィールド必須説明
namestringYesストア名(1-48 文字、自動トリム)

リクエスト例

import { WaffoPancake } 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.create({ name: "My Digital Store" });
console.log(store.id);   // => "STO_2aUyqjCzEIiEcYMKj7TZtw"
console.log(store.slug); // => "my-digital-store-a1b2c3"

成功レスポンス (200)

{
  "data": {
    "store": {
      "id": "STO_2aUyqjCzEIiEcYMKj7TZtw",
      "name": "My Digital Store",
      "status": "active",
      "logo": null,
      "supportEmail": null,
      "website": null,
      "slug": "my-digital-store-a1b2c3",
      "prodEnabled": false,
      "notificationSettings": {
        "emailOrderConfirmation": true,
        "emailSubscriptionConfirmation": true,
        "emailSubscriptionCycled": true,
        "emailSubscriptionCanceled": true,
        "emailSubscriptionRevoked": true,
        "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-15T10:30:00.000Z"
    }
  }
}

レスポンスフィールド

フィールド説明
idstringStore ID(Short ID フォーマット STO_xxx
namestringストア表示名
statusstringストアステータス(activeinactive、または suspended
logostring | nullストアロゴ URL
supportEmailstring | nullサポートメールアドレス
websitestring | nullストアウェブサイト URL
slugstring | null自動生成された URL スラッグ
prodEnabledboolean本番モードが有効かどうか
notificationSettingsobject | null通知設定(通知設定を参照)
checkoutSettingsobject | nullチェックアウトページテーマ(チェックアウト設定を参照)
deletedAtstring | null論理削除タイムスタンプ(ISO 8601)、アクティブの場合 null
createdAtstring作成タイムスタンプ(ISO 8601)
updatedAtstring最終更新タイムスタンプ(ISO 8601)

エラー

リトライポリシー:4xx は一切リトライしない — リクエストを修正してから再送信。5xx は指数バックオフでリトライ(5s 開始、最大 3 回)。
ステータスerrors[0].message意味推奨処理
400Missing merchantId in request contextAPI Key がマーチャントコンテキストを解決できなかったリトライしない。API Key 設定を確認。
400Missing required field: nameリクエストボディに name が含まれていない入力を修正して再送信。
400Store name cannot be empty or contain only whitespacetrim() 後の name が空入力を修正して再送信。
400Store name cannot exceed 48 charactersname が 48 文字を超える名前を短縮して再送信。
400Cannot create more stores. Maximum limit of 20 stores per merchant has been reached.マーチャントが既に 20 ストアを所有リトライしない。既存ストアを削除するか、上限緩和をサポートに依頼。
各マーチャントは最大 20 ストアまで作成できます。ストア作成者には自動的に owner ロールが割り当てられます。