开发人员集成

7Stamp Webhooks

可用

将每个忠诚度活动从 7Stamp 实时推送到您自己的系统。没有轮询,也没有预定的 API 呼叫。事件在发生后几秒内作为 HTTPS POST 请求到达。

使用 webhook 使您的 CRM、ERP 或自定义后端与忠诚度方面发生的情况保持同步:谁加入、谁获得印章、谁兑换优惠券、谁触发生日礼物以及谁变得不活跃。然后您的系统决定如何处理这些数据。

使用 Webhooks 可以执行的操作

Webhooks 是集成堆栈的出站端。它们将客户和奖励活动反映到您已经信任的销售、服务、分析和消息传递系统中。

将忠诚度历史记录反映到您的CRM

每个印章、优惠券、生日和不活动触发器都会记录在您的 CRM 中的客户记录中。您无需登录7stamp,即可在销售、电话和门票旁边看到完整的忠诚度时间表。

触发您自己的消息堆栈

当客户兑换优惠券时,从您现有的 SMS 网关发送感谢SMS。当客户进球时,在Slack中发布庆祝信息。当有人变得不活跃时,请将案例转交给您的客户经理。

强大的分析和协调

将事件流式传输到您的 BI 工具、仓库或协调管道中。将优惠券兑换与 POS 收据相匹配,并按照您自己的指标计算忠诚度 ROI。

卡事件类型

SCAN — 卡收到扫描/stamp 操作。
REWARD_EARNED — 该卡已获得奖励。
VOUCHER_ISSUED — 已发放优惠券。
VOUCHER_REDEEMED — 兑换券已兑换。
LOTTERY_WIN — 抽奖中奖了。
DELIVERY_INSERT — 记录了交付-插入流程。
CARD_JOINED — 一位客户加入了一张卡。
CARD_CAMPAIGN — 发生卡牌活动。
BIRTHDAY_GREETING — 发生生日祝福活动。
ADMIN_VOUCHER_ISSUE — 管理员发放凭证。
CARD_ADDED_TO_WALLET — 客户将卡添加到钱包中。
CARD_REMOVED_FROM_WALLET — 一位顾客从钱包中取出了该卡。

构建安全的webhook接收器

持久处理后确认

您的端点应该接受HTTPS POST,验证请求形状,将事件持久化或排队,然后返回成功的 2xx 响应。如果可以安全排队,请不要在确认之前进行缓慢的 CRM 或消息调用。

与External ID

关联 每个相关事件都可以携带您在创建或扫描卡片时使用的External ID 和可选的External Source。使用此对更新您自己的 CRM、POS 或订单记录,而无需根据姓名或电子邮件进行猜测。

Make 传递幂等

在触发副作用之前存储持久的处理密钥或事件指纹。如果您的收件人再次看到相同的递送,则不应添加重复的 CRM 注释、凭证或消息。将端点 URL 视为秘密。

事件负载形状示例

将其复制到您的自动化步骤中 json
{
  "entity": "card_event",
  "action": "created",
  "entity_id": 707,
  "event_id": "8f05e58decec48e09d328f0edebbacf6",
  "profile_id": 2,
  "profile_name": "Your Business",
  "profile_lang": "en",
  "data": {
    "event_type": "SCAN",
    "scanned_at": "2026-10-01T09:19:24.179424",
    "user_card_id": 10,
    "card_template_id": 14,
    "card_template_name": "Collect your stamps!",
    "stamps_added": 3,
    "stamps_before": 1,
    "stamps_after": 4,
    "amount": null,
    "external_order_id": "ORDER-1001",
    "workplace": { "id": 4, "name": "Bar Counter" },
    "device_type": null,
    "external_id": "odoo_contact_8821",
    "external_source": "odoo",
    "issued_vouchers": [
      {
        "id": 174,
        "unique_code": "100425813507",
        "stamp_number": 4,
        "issued_at": "2026-10-01T09:19:24.191836",
        "expires_at": "2027-01-01T23:59:59",
        "status": "ACTIVE",
        "voucher_template_id": 58,
        "voucher_description": "Free coffee",
        "voucher_image_url": "https://..."
      }
    ],
    "achieved_goals": [],
    "user": {
      "id": 2,
      "name": "Anna",
      "full_name": "Anna Smith",
      "email": "anna@example.com",
      "telegram_chat_id": null,
      "telegram_username": null,
      "whatsapp_phone": null,
      "birth_date": null
    }
  }
}

配置并测试 Webhook

01

在后端创建 HTTPS 端点、CRM 集成层、Make webhook 或 Zapier Catch Hook。 Make 确保在复制URL 之前控制目标。

02

在7stamp Admin,打开Stamp Cards → API & Integrations → Webhooks。

03

添加端点 URL。该 Webhook 会接收此配置文件的所有卡片事件,因此请在您的接收端按 data.event_type 进行筛选。

04

保存配置文件设置,然后触发一次性测试扫描或卡操作以生成事件。

05

检查接收到的有效负载。将External ID和External Source与预期记录进行匹配,并确认接收方返回成功的响应。

06

仅在进行重放安全处理和故障监控后,才启用 CRM、凭证或消息传递副作用。

无代码选项:Make 和 Zapier

在Make 中,使用Webhooks → Custom webhook 生成接收URL 并将其粘贴到7stamp简介。在Zapier中,使用Webhooks by Zapier → Catch Hook达到同样的目的。 7Stamp 配置文件拥有订阅,因为当前 API 不公开自动 Webhook 注册端点。

安全及交付合同

请以公开 OpenAPI 参考文档中的 Webhooks 部分为准,了解当前的负载结构。请求正文是一个信封:profile_id 和 profile_name 标识 7Stamp 配置文件,event_id 标识事件,卡片事件本身位于 data 中(对于 Make 或 Zapier 的 URL,键名为 card_event)。每次投递都在一个标头中签名:X-Webhook-Signature: t=…,s=…。使用您的 Webhook 密钥对 t 加上原始请求正文计算 HMAC-SHA256,进行十六进制编码,然后与 s 比较;密钥位于 7Stamp Admin 中该 Webhook 的页面上。使用 X-Webhook-Event-Id 丢弃重复投递:重试时会使用新的 t 重新签名。您还可以使用 Basic Auth 保护端点。要求使用 HTTPS,不要让接收端 URL 出现在公开日志中。

常见问题

我可以仅选择某些 Webhook 事件吗?

不能。7Stamp Webhook 会接收该配置文件的所有卡片事件。请在您的接收端按 data.event_type 筛选;在 Make 和 Zapier 中,事件位于 card_event 下,因此请按 card_event.event_type 筛选。

如何将 webhooks 连接到 Make 或 Zapier?

在 Make 中创建接收 Webhook 或在 Zapier 中创建 Catch Hook,复制生成的 URL,然后将其粘贴到 7Stamp 配置文件的 Webhook 设置中并发送测试事件。

我应该如何将活动与我的 CRM 联系人匹配?

使用 data.external_id,以及(如有)data.external_source:对于您通过 API 使用自己的 ID 发放的卡片,这两个字段会在每个 Webhook 中返回。自行领取卡片的客户没有 External ID,因此请通过 data.user.email 匹配。Apple “Hide My Email” 地址是中继地址,而不是您 CRM 中的地址。

如何确认 Webhook 来自 7Stamp?

将 X-Webhook-Signature 标头拆分为 t 和 s,使用 7Stamp Admin 中的 Webhook 密钥对 t 加上原始请求正文计算 HMAC-SHA256,进行十六进制编码,然后与 s 比较。t 须与发送时完全一致,正文须为收到的原始字节,并在任何 JSON 解析之前获取。如果某次投递的 X-Webhook-Event-Id 您已处理过,请丢弃该投递:重试时会使用新的 t 重新签名。

下一步

准备好发送第一张卡片事件了吗?

创建接收器,将其 HTTPS URL 粘贴到配置文件中,运行一次性扫描,并在启用下游自动化之前验证匹配的 External ID。