跳转到主要内容

在自动化流程(Automation)中使用 Webhooks

Webhooks 从 Omnisend 向 Slack、WhatsApp 或 CRM 等外部系统发送实时数据。了解如何在自动化流程(Automation)中设置、测试和使用 Webhooks。

作者:Ira
更新于今天

Webhooks 允许您通过连接外部系统和服务来扩展 Omnisend 的自动化流程(Automation)功能。它们使您能够在其他平台中触发条件(Trigger)事件或发送实时数据,从而增强您的自动化流程(Automation)工作流的功能。

在本指南中,我们将向您介绍如何在 Omnisend 自动化流程(Automation)中设置和使用 Webhook,并提供示例和用例。

注意: Automations 中的 Webhooks 目前处于 Beta 阶段,可根据请求启用。如果您想启用 Webhooks,请联系我们的支持团队:[email protected] 通过应用内聊天或联系您的账户专家(如适用)。

重要提示 ⚠️ 实施 webhook 需要您付出大量精力,并且通常需要开发人员的参与。您可能需要准备专用的 API 端点、处理有效负载,并确保 Omnisend 与外部系统之间的正确集成。


什么是 Webhooks?

Webhooks 是 HTTP 回调,当特定的自动化流程(Automation)事件发生时,它们会从 Omnisend 向其他服务发送实时数据。这让您可以:

  • 通知第三方系统自动化流程(Automation)事件。

  • 通过像 WhatsApp 这样的平台发送个性化消息。

  • 通过触发条件(Trigger),可在 CRM、项目管理工具或 Slack 等通信平台中启动自定义工作流。

类比 💡 餐厅传呼系统

想象一下,您在一家餐厅,并收到一个传呼机,当您的餐桌准备好时,它会通知您。此 pager 就像一个 webhook,提醒您特定事件,而无需您手动检查。

了解 Webhook 结构和组成部分

在 Omnisend 中设置 webhooks 时,了解配置 webhook 请求所涉及的关键组成部分至关重要。

本节将详细介绍您在 Omnisend 中编辑 webhook 时会遇到的结构和组件:

组件 1.Webhook URL

重要 ⚠️确保此 URL 正确且可访问。如果接收服务需要安全通信,请确保 URL 以https:// for encrypted transmission.

组件 2.标题

  • Webhooks 允许您随您的请求包含额外的 headers。标头是键值对,其中包含有关 webhook 请求的元数据,或用作接收系统的身份验证。

  • 键。 标题名称(例如,授权,Content-Type)。

  • 值。 与标头键关联的值(例如,Bearer your_access_token,application/json)。

  • 示例标题:

    • Authorization: Bearer your_access_token

    • Content-Type: application/json

  • 常见用例。 如果您的接收服务需要身份验证,例如API密钥(API Key)或令牌,您可以在标头中传递它。

提示 💡 务必验证必要的标头已正确设置,以避免未经授权或失败的请求。

组件 3.正文

  • 主体是发送实际数据(有效载荷)的地方。它包含您希望传递给外部系统的相关信息,例如客户详细信息、订单信息或特定的事件触发器。

  • 格式。 正文通常采用 JSON 格式构建,这使得大多数服务能够轻松处理和读取它。

  • 示例正文 (JSON Payload):

    { "customer_id": "##{{contact.id}}", "email": "##{{contact.email}}", "order_value": "##{{event.order_value}}", "purchase_time": "##{{event.purchase_time}}" }
  • 自定义正文。 您可以定制有效载荷,使其仅包含接收服务所需的特定数据。Omnisend 提供变量(例如,##{{contact.email}}) 动态插入来自您的自动化流程(Automation)的数据到有效负载中。

⚠️ 重要提示!确保请求体结构与接收端点所期望的相匹配。这包括正确的格式(JSON、XML 等)和字段名称。

测试 Webhook

  • 设置 URL、标头和正文后,务必测试 webhook以验证数据是否正确发送。请始终确保接收系统的响应符合预期,并且传输中没有错误。

如何在 Omnisend 自动化流程(Automation)中设置 Webhooks

步骤 1. 创建一个自动化流程(Automation)工作流(Workflow)
在 Omnisend 中,首先创建新的自动化流程(Automation),或编辑现有流程。

步骤 2. 添加 Webhook 操作
在您的自动化流程(Automation)中,拖放一个“Webhook”区块到您希望外部事件触发条件(Trigger)的点。

步骤 3。配置 Webhook URL 和 Headers
输入外部系统的 webhook URL,它将接收数据。这可能是一个 CRM、一个沟通工具,或一个 API 服务,例如 WhatsApp Business API。标头是键值对,包含有关 webhook 请求的元数据,或用作接收系统的身份验证。

步骤 4. 映射有效载荷
自定义您想要通过 webhook 发送的数据负载。Omnisend 允许您传递客户详细信息、订单信息或其他相关数据。

步骤 5. 测试 Webhook
设置完成后,请测试 webhook 以确保外部系统正确发送和接收数据。

验证:

  • 外部系统接收数据。

  • 响应代码是 200 OK

  • Omnisend 或外部日志中未出现任何错误。

白名单 Webhook 静态 IP

为了提高您的 webhook 集成的安全性,Omnisend 会为所有出站 webhook 请求使用一组专用的静态 IP 地址。您可以将这些 IP 地址添加到您的防火墙、API 网关或端点配置的白名单中,以确保只接受来自 Omnisend 的请求。

为什么要将 Webhook IP 加入白名单?

将 Omnisend 的静态 IP 列入白名单,通过以下方式提供额外的安全层:

  • 防止未经授权的请求 只有来自 Omnisend IP 的流量可以访问您的 webhook 端点。

  • 降低伪造风险 – 阻止试图模仿 Omnisend webhook calls 的恶意行为者。

  • 满足合规要求 – 支持要求基于IP的访问控制的企业安全策略。

Omnisend Webhook Static IP 列表

将以下 IP 添加到您的白名单配置中:

34.170.162.11 
34.56.62.59
34.56.108.215
34.133.59.36
34.58.66.146
35.184.130.5
35.232.14.89

重要提示 ⚠️ 这些 IP 由 Omnisend 独家用于从 自动化流程(Automation) 工作流发送的 webhook 请求。请确保您的防火墙或 API 配置允许来自这些地址的入站流量。

注意:如果您不确定如何配置 IP 白名单,请咨询您的开发团队或系统管理员。

通过 Slack 使用 Webhooks 发送消息

Slack 可以与 Omnisend 集成,以便在发生自动化流程(Automation)事件时向特定渠道发送通知。

第 1 步。在 Slack 中创建 Incoming Webhook。

第 2 步。将 Webhook 添加到 Omnisend 自动化流程(Automation)。

  • 在您的 Omnisend 工作流(Workflow)中,在自动化流程(Automation)的所需位置插入 webhook block。

  • 输入 Slack webhook URL。

  • 定制 Payload。 定义您希望发送的消息格式。对于 Slack,Payload 可能如下所示:

{ "text": "A new subscriber has joined! 🎉", "attachments": [ { "title": "Subscriber Details", "text": "Name: ##{{contact.name}} \n Email: ##{{contact.email}}" } ] }
  • 测试集成。 启用自动化流程(Automation)并检查 Slack 频道,以确认消息已成功发送。

通过自动化流程(Automation) Webhooks 将联系人从 Omnisend 发送到 Postscript

步骤 1. 获取您的 Postscript API密钥(API Key)

  1. 前往您的 Postscript 账户。

  2. 点击右上角的您的姓名,然后选择API

    • 如果您尚未创建一对 API密钥(API Key),点击 Create Security Key Pair 以生成一个。

    • 复制私钥并将其保存在安全的地方,以备后用。

      3038

步骤 2. 在 Postscript 中创建关键词

  1. 在 Postscript 中,点击左侧的 Keywords

  2. 在右上角点击 "Create Keyword"

  3. 命名您的关键词,并决定是否在回复中包含优惠券。

  4. 要编辑回复:

    • 点击紫色的 "Reply" 框,或通过点击 "Add Action" 创建自动回复,然后自定义回复消息。

    • 当用户通过您的关键词订阅时,此 Keyword Reply 将立即发送。

步骤 3. 获取 Keyword ID

  1. 访问 Postscript API 文档:Postscript Get Keywords

  2. 在标头中输入您的私钥,然后点击Try it,以查找您想要用于来自 Omnisend 的联系人关键词 ID

第 4 步。在 Omnisend 中设置自动化流程(Automation)

  1. 自动化流程(Automation)触发条件(Trigger)。使用“Contact Enters Segment”触发条件(Trigger)将联系人传递给 Postscript。

  2. Webhook Block

    • 添加一个 Webhook 模块到您的自动化流程(Automation)中。

    • 对于 标题,添加:

      • Authorization: Bearer <您的秘密API密钥(API Key)>

      • accept: application/json

  3. 请求体。在请求体中传递以下信息:

    { "origin": "other", "properties": { "VIP": true }, "phone_number": "[[contact.phone_number]]", "email": "[[contact.email]]", "keyword_id": "<keywordID obtained previously>", "tags": [ "source:omnisend" ] }
    • 请将 替换为您的实际关键词 ID。

    • 您可以使用 "origin": "website""social""other"

步骤 5. 启用自动化流程(Automation)

  1. 启用自动化流程(Automation)并进行测试,方法是向您的细分(Segment)添加一个带有电话号码的测试联系人。

  2. 检查流程中的联系人是否成功传递到 Postscript。

遵循这些步骤,您将能够通过自动化流程(Automation) webhook 将联系人从 Omnisend 发送到 Postscript。

使用 Webhooks 发送 WhatsApp 消息

WhatsApp 集成需要使用 WhatsApp Business API 或第三方服务。以下是使用 webhook 集成 WhatsApp 消息的步骤。

步骤 1. 设置 WhatsApp Business API。

  • 通过 Facebook 注册 WhatsApp Business API。

  • 遵循设置流程,其中包括在您的服务器上托管 API 或使用第三方服务。

  • 获取所需的 API 凭据。

步骤 2. 在 Omnisend 中配置 Webhooks。

  • 在您的 Omnisend 自动化流程(Automation)工作流(Workflow)中添加一个 webhook 模块。

  • 输入 WhatsApp Business API 端点 URL 作为 webhook。

构建 HTTP 请求。 要通过 WhatsApp 发送消息,请构建一个附带必要负载的 HTTP POST 请求。示例使用 cURL:

curl -X POST https://graph.facebook.com/v14.0/YOUR_PHONE_NUMBER_ID/messages \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "messaging_product": "whatsapp", "to": "RECIPIENT_PHONE_NUMBER", "type": "text", "text": { "body": "Hello, this is a test message from the WhatsApp Business API." } }'

步骤 3. 测试集成。 运行您的自动化流程(Automation)以确保 WhatsApp 消息成功发送。

发送数据到自定义 API 端点

在某些情况下,您可能希望将事件数据发送到自定义 API 端点,例如您自己的 CRM 系统或订单管理平台。

第 1 步。创建自定义 API 端点。与您的开发团队合作,创建一个 API 端点,以接收 Omnisend Webhook 数据。

第 2 步。在 Omnisend 中添加 Webhook。 将 Webhook 模块插入到所需的自动化流程(Automation)中,并输入自定义 API 端点 URL。

  • 自定义有效负载。 有效负载可以包含来自自动化流程(Automation)的任何可用数据,例如客户详细信息、订单信息或营销活动(Campaign)数据。示例:

{ "customer_id": "##{{contact.id}}", "email": "##{{contact.email}}", "order_value": "##{{event.order_value}}" }

步骤 3. 测试与激活。 测试 webhook 以确保数据正确发送到您的自定义 API 端点。

使用 Webhooks 进行操作通知

这些说明将帮助您设置网络钩子(webhooks),以便接收各种操作的通知,例如当客户购买特定产品、请求退款或点击电子邮件(Email)中的特定链接时。Webhooks 可让您根据您的联系人所采取的操作创建自定义事件。其工作原理通常如下:

  1. 联系人采取行动: 联系人通过触发事件,例如点击电子邮件(Email)中的链接。

  2. 进入自动化流程(Automation): 联系人进入自动化流程(Automation)工作流(Workflow)。这可以在他们进入特定细分(Segment)时开始。

  3. Webhook 发送自定义事件: Webhook 会将第一个联系人执行操作的自定义事件发送到指定的内部电子邮件地址。

  4. 第二个自动化流程(Automation)已触发: 指定的联系人进入第二个自动化流程(Automation),您将收到关于第一个联系人所采取操作的通知。

示例

在我们的示例中,每当有人点击一封电子邮件(Email)中的特定链接时,我们就会向自己发送一封电子邮件(Email)通知。

步骤 1.设置第一个自动化流程(Automation)

  1. 定义操作:

    • 设置您的触发条件(Trigger)用于自动化流程(Automation)。这可以包括任何操作,例如进入一个细分(Segment)或点击一个促销按钮。

    • 对于此示例,目标是了解当有人点击营销活动中的特定按钮时。

  2. 添加 Webhook 模块:

    • 在您的自动化流程(Automation)中,添加一个 Webhook 模块,以向指定联系人发送自定义事件。

Webhook 配置

{ 
"eventName": "Click notification",
"origin": "api",
"contact": {
"email": "[email protected]"
},
"properties": {
"clicker_email":"[[contact.email]]",
"clicker_fname":"[[contact.first_name]]",
"clicker_lname":"[[contact.last_name]]"
}}

关于内容配置的重要提示:

  • eventName: 您可以随意命名此事件。它将用于触发第二个自动化流程(Automation)。

  • 来源: 必须设置为API

  • 联系人 电子邮件(Email): 这指定了将接收自定义事件以及关于第一个联系人所执行操作通知的联系人。

  • properties: 这是一个可选的详细信息列表,您可以包含关于第一个联系人。在这种情况下,我们正在收集他们的电子邮件地址(Email)、名字和姓氏。

步骤 2.设置第二个自动化流程(Automation)

  1. 选择触发条件(Trigger):

    • 选择上一步中的eventName作为自动化流程(Automation)的触发条件(Trigger)。

  2. 添加通知详情

    • 在此自动化流程(Automation)中,您可以设置电子邮件(Email)或短信(SMS)通知,使用从第一个自动化流程(Automation)中收集的详细信息,例如联系人的电子邮件(Email)和姓名。

这个 webhook 设置允许您通知一个联系人,了解 Omnisend 内任何其他联系人采取的特定操作。如果您有任何其他问题或需要帮助,请联系我们的支持团队。

Webhooks 提供灵活性,以扩展您的 Omnisend 自动化流程(Automation),实现与外部平台实时通信。无论您是通过 Slack、WhatsApp 还是像 Postscript 这样的短信(SMS)平台发送消息,流程都类似——设置 webhook URL、定义有效负载以及测试集成。然而,请记住,集成 webhook 通常需要开发资源,尤其是对于自定义 API 设置。

请记住 💡 集成 webhooks 通常需要开发资源,尤其是对于自定义 API 设置,因此请确保您拥有必要的支持。

常见问题

我应该何时使用 webhooks 与原生集成?
使用 Webhook 适用于没有直接 Omnisend 集成的平台,或者当您需要自定义数据映射时。

在启用自动化流程(Automation)之前,您可以测试webhooks吗?
是 – 测试 Webhook或像 Postman 这样的工具来发送测试请求。

是否有速率限制?
限制取决于外部服务 – 请查阅其 API 文档。

我可以为了安全将 Omnisend 的 webhook IP 地址加入白名单吗?
是的。Omnisend 使用一组专用的静态 IP 地址,用于从自动化流程(Automation)工作流发送的所有 webhook 请求。将这些 IP 列入白名单,增加了一层额外的安全保障,确保只有 Omnisend 才能访问您的端点。查看完整的 IP 列表


如果您在设置 webhook 方面需要帮助,请随时联系我们屡获殊荣的客户支持团队。您可以通过应用内聊天或发送邮件至 [email protected] 联系我们。

这是否解答了您的问题?