跳转到主要内容

在自动化流程(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 允许您在请求中包含额外的标头。标头是键值对,其中包含有关 webhook 请求的元数据,或用作接收系统的身份验证。

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

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

  • 示例标题:

    • Authorization: Bearer 您的_access_token

    • Content-Type: application/json

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

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

组件 3.正文

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

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

  • 示例正文 (JSON Payload):

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

⚠️ 重要提示!确保正文结构与接收端点预期的一致。这包括正确的格式(JSON、XML 等)和字段名称。

测试 Webhook

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

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

步骤 1. 创建一个自动化流程(Automation)工作流(Workflow)
您可以从创建新的自动化流程(Automation)开始,或编辑 Omnisend 中现有的自动化流程(Automation)。

步骤 2. 添加 Webhook Action
在您的自动化流程(Automation)中,拖放一个“Webhook”模块到您希望外部事件触发的位置。

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

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

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

验证:

  • 外部系统接收数据。

  • 响应代码是 200 OK

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

使用 Webhooks 通过 Slack 发送消息

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

步骤 1. 在 Slack 中创建 Incoming Webhook。

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

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

  • 输入 Slack webhook URL。

  • 自定义有效负载。 定义您想要发送的消息格式。对于 Slack,有效负载可能如下所示:

{ "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

第二步。在 Postscript 中创建关键词

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

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

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

  4. 编辑回复:

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

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

步骤 3. 获取 Keyword ID

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

  2. 在标头中输入您的 Private Key,然后点击 Try it,以查找您想要用于来自 Omnisend 的联系人 的 Keyword ID

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

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

  2. Webhook Block

    • 添加一个 Webhook block 到您的自动化流程(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)网络钩子将联系人从 Omnisend 发送到 Postscript。

使用 Webhooks 发送 WhatsApp 消息

WhatsApp 集成需要使用 WhatsApp Business API 或第三方服务。以下是使用网络钩子集成 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 请求并附带必要的 payload。例如,使用 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。 在所需的自动化流程(Automation)中插入 Webhook 模块,并输入自定义 API 端点 URL。

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

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

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

使用 Webhooks 发送动作通知

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

  1. 联系人执行操作: 联系人通过例如点击电子邮件(Email)中的链接来触发事件。

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

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

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

示例

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

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

  1. 定义操作:

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

    • 对于我们的示例,我们希望了解当有人在营销活动中点击某个特定按钮时。

  2. 添加 Webhook Block:

    • 在您的自动化流程(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): 这指定了将收到自定义事件和关于第一个联系人所执行操作通知的联系人。

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

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

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

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

  2. 添加通知详情:

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

此 webhook 设置允许您通知单个联系人,关于 Omnisend 中任何其他联系人所采取的特定操作。如果您有任何其他问题或需要帮助,请联系我们的支持团队。

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

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

常见问题

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

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

有速率限制吗?
限制取决于外部服务 – 查看其 API 文档。


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

这是否解答了您的问题?