跳转到主要内容

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 支持每个门店配置多个 Webhook 端点,覆盖五种通道:标准 HTTPS(RSA 签名信封)、飞书、Discord、Telegram 和 Slack。每个端点都是 store.store_webhooks 中的一条独立记录,拥有各自的 URL、订阅事件列表,以及 test/prod 环境绑定。

通道

通道载荷格式签名备注
httpJSON 信封 { id, eventType, eventId, storeId, mode, data }RSA-SHA256(X-Waffo-Signature 请求头)默认通道;保留原有 Webhook 契约。
feishu飞书交互式卡片无 — URL 携带 token中文标题文案,UTC+8 时间戳
discordDiscord embed无 — URL 携带 token英文文案,客户端本地时间戳
telegramsendMessage 载荷(text HTML、chat_id无 — URL 中携带 bot token英文文案,UTC;chat_id 存放在 secret
slackAttachments 载荷无 — incoming-webhook URL 携带 token英文文案,UTC

URL 域名

无论何种通道,系统均接受任意 HTTPS URL。商户需自行确保 URL 与所选通道的目标平台匹配 —— 如果在 channel: "slack" 下配置了 Discord URL,调度器会按 Slack attachments 格式编码载荷并发送给 Discord 端点,Discord 端会返回错误,并将该次失败记录在 webhook_deliveries 中。

同 URL 多 webhook

同一门店内允许将同一 URL 配置在多个 Webhook 下 —— Webhook 采用扇出模型,不同事件订阅、不同通道或不同 testMode 可共用一个 URL。每个 Webhook 独立投递,因此当多个 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(保留历史记录)。