メインコンテンツへスキップ
認証済みマーチャント用の新しいストアを作成します。ストアスラッグは名前から自動生成され、JSONB 設定フィールド(webhookSettingsnotificationSettingscheckoutSettings)はデフォルト値で初期化されます。
POST /v1/actions/store/create-store
認証: API Key

リクエストボディ

フィールド必須説明
namestringはいストア名(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,
      "webhookSettings": {
        "testWebhookUrl": null,
        "prodWebhookUrl": null,
        "testEvents": [],
        "prodEvents": []
      },
      "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"
    }
  }
}

レスポンスフィールド

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

エラーレスポンス

ステータスエラー説明
400Missing required field: nameリクエストボディに name が指定されていません
400Store name cannot be emptyname が空文字列またはスペースのみです
400Store name exceeds maximum length of 48 charactersトリム後の name が48文字を超えています
400Maximum store limit reached (20)マーチャントが既に20ストアを所有しています
各マーチャントは最大 20ストアを作成できます。ストア作成者には自動的に owner ロールが割り当てられます。