メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.waffo.ai/llms.txt

Use this file to discover all available pages before exploring further.

Pancake は、ストアごとに 5 つのチャネルにわたる複数の Webhook エンドポイントをサポートしています:標準 HTTPS(RSA 署名付きエンベロープ)、Feishu、Discord、Telegram、Slack。各エンドポイントは store.store_webhooks における独立したレコードであり、独自の URL、購読イベントリスト、test/prod 環境バインディングを持ちます。

チャネル

チャネルペイロード形式署名備考
httpJSON エンベロープ { id, eventType, eventId, storeId, mode, data }RSA-SHA256(X-Waffo-Signature ヘッダー)デフォルトチャネル。既存の Webhook 契約を維持します。
feishuFeishu インタラクティブカードなし — URL トークン中国語タイトルテキスト、UTC+8 タイムスタンプ
discordDiscord 埋め込みなし — URL トークン英語テキスト、クライアントローカルタイムスタンプ
telegramsendMessage ペイロード(text HTML、chat_idなし — URL 内のボットトークン英語テキスト、UTC。chat_idsecret に保存
slackAttachments ペイロードなし — incoming-webhook URL トークン英語テキスト、UTC

URL ホスト

チャネルにかかわらず、任意の HTTPS URL が受け入れられます。URL とチャネルの想定プラットフォームの一致はマーチャントの責任です — Discord URL が channel: "slack" で設定されている場合、ディスパッチャーはペイロードを Slack の attachments 形式でエンコードして Discord エンドポイントに送信し、エンドポイントはエラーで応答し、その失敗は webhook_deliveries に記録されます。

同一 URL の複数 webhook

同じストア内で、同一 URL を複数の Webhook に設定できます — Webhook はファンアウトモデルを採用し、異なるイベント購読、チャネル、testMode フラグで URL を共有できます。各 Webhook は独立して配信されるため、共有 URL で同一ペイロードを受信するコンシューマーは (eventType, eventId) で重複排除する必要があります。

制限

各ストアでは、すべてのチャネルにわたって最大 20 個の Webhook を持つことができます。制限を超えた場合は 400 が返されます。

Webhook の一覧取得

list-webhooks エンドポイントは存在しません — 設定済み Webhook リストの照会は GraphQL Store.storeWebhooks を経由します(test_mode により環境で自動フィルタリングされます):
query GetStoreWebhooks($storeId: String!) {
  store(id: $storeId) {
    storeWebhooks {
      id
      channel
      url
      events
      testMode
      secret
      createdAt
    }
  }
}

エンドポイント

Webhook の追加

ストアに新しい Webhook エンドポイントを設定します。

Webhook の更新

Webhook の URL、イベント、または secret を変更します。

Webhook の削除

Webhook を物理削除します(履歴は保持)。