メインコンテンツへスキップ
既存の Webhook の URL、購読イベント、またはチャネル固有の secret を更新します。channeltestMode フィールドは不変です — 変更するには Webhook を削除して再追加してください。
POST /v1/actions/store/update-webhook
認証: API Key(owner または admin ロールが必要)

リクエストボディ

フィールド必須説明
idstringYesWebhook UUID(add-webhook または GraphQL Store.storeWebhooks から返される)
urlstringNo送信先 URL を置き換えます。
eventsstring[]No購読イベントタイプを置き換えます
secretstring | nullNoチャネル固有の認証情報を置き換えます。クリアするには null を渡します。
channel は特定の Webhook レコードに対して恒久的です — チャネルを切り替えるには、削除して再追加してください。URL の変更はそのまま受け入れられます。マーチャントは新しい URL がチャネルと一致することを保証してください。

リクエスト例

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

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

// Add more events to an existing webhook
await client.webhooks.update({
  id: "11111111-2222-3333-4444-555555555555",
  events: ["order.completed", "refund.succeeded", "subscription.canceled"],
});

成功レスポンス (200)

更新された Webhook エンティティを返します。形状は add-webhook と同じです。

レスポンスフィールド

フィールド説明
idstringWebhook UUID
storeIdstring所属ストアの UUID
channelstringWebhook チャネル(不変)
urlstring送信先 Webhook URL
eventsstring[]購読するイベントタイプ
testModebooleantrue はテストトランザクションで発火、false は本番で発火(不変)
secretstring | nullチャネル固有の認証情報、クリア済みの場合は null
createdAtstring作成タイムスタンプ(ISO 8601)
updatedAtstring最終更新タイムスタンプ(ISO 8601)

エラー

リトライポリシー:4xx は一切リトライしない — リクエストを修正してから再送信。5xx は指数バックオフでリトライ(5s 開始、最大 3 回)。
ステータスerrors[0].message意味推奨処理
400Missing required field: idid が指定されていないリクエストボディを修正して再送信
400id must be a valid UUIDid が有効な UUID ではないid を修正して再送信
400Invalid URL formaturl が有効な URL として解析できないURL フォーマット(HTTPS、有効な URL)を修正して再送信
400events must be a string arrayevents が文字列の JSON 配列ではないevents を文字列配列として送信(例:["order.completed"]
400secret must be a string or nullsecret が string でも null でもないstring 値、またはクリアする場合は null を送信
403Not authorized to manage webhooks for this store呼び出し元の所属ストアにおける merchant ロールが owner または admin ではない必要なロールを持つ API Key に切り替え
404Webhook not found指定された id の webhook が存在しない(または並行リクエストで削除済み)id を確認;削除直後であれば webhook 一覧を再取得してから判断
500Internal server errorサーバ側の予期しない障害指数バックオフでリトライ(5s 開始、最大 3 回)