跳转到主要内容

如何在 Wati 的聊天机器人构建器中使用 Webhook

摘要

Wati's Chatbot Builder 中的 Webhook 允许您使用 GETPOST API 请求在聊天机器人和外部应用程序之间发送和接收实时数据。此功能支持动态聊天机器人交互,例如检索用户详细信息、验证数据或与第三方服务集成。

注意:Chatbot Webhook Node 功能仅在 Pro & Business 套餐中可用。

说明

如何在 Chatbot Builder 中使用 Webhook

1. 将 Webhook 添加到您的聊天机器人

  • 打开 Wati Chatbot Builder

  • Webhook 图标拖放到聊天机器人工作流中。

  • 将其连接到相关的聊天机器人步骤。

2. 配置 Webhook 节点

URL 和方法

  • 选择一个 请求方法GETPOST

  • 输入外部 API 的 URL 端点

  • 通过 Variables 按钮插入变量,使 URL 动态化。


    示例:

    https://webhook-wa-testing.clare.ai/123456789?name={{name}}

自定义标头

  • 标头允许你在请求中包含额外信息,例如内容类型或授权。

  • 标头是 可选 的,默认设置为 关闭

  • 它们必须遵循 键值 格式。

示例:

  • = Content-Type

  • = application/json

自定义请求体

  • 请求体是你向外部 API 发送数据的地方。

  • 请求体是 可选 的,默认设置为 关闭

  • 启用后,请求体必须始终为 JSON 格式

设置测试变量

  • 手动定义测试变量,在设置 Webhook 时模拟 API 响应。

3. 测试 Webhook 请求

  • 点击 Test the request 来检查 API 调用是否按预期工作。

4. 将 API 响应保存为变量

  • 你可以捕获 API 响应中的值,并将它们存储在 变量自定义属性 中。

  • 如果 API 返回带有 键值 对的 JSON,你可以提取并保存特定值。

示例:从 API 响应中存储 "result": "success"

{   "result": "success" }

在对象中存储值

  • 使用格式:objectKey.keyName

  • 示例:要从下面的响应中存储 QuoteId,请使用 Result.QuoteId

{
"Result": {
"QuoteId": "xxxxx",
"QuoteNumber": "xxxxxx",
"PolicyNumber": null
},
"MessageValidation": null,
"QuoteReferrals": null
}

在对象数组中存储值

  • 要提取和存储对象数组中的值,请使用格式:

    $.[0].objectKey.keyName[0].value

  • 示例:要捕获 current_status 的值,请使用:

$.[0].tracking_data.shipment_track[0].current_status

示例 JSON:

[
{
"tracking_data": {
"track_status": 1,
"shipment_track": [
{
"id": 1278937320,
"current_status": "Delivered"
}
]
}
}
]

5. 使用响应路由

  • 响应路由允许您根据响应状态码 拆分聊天机器人操作

  • 您可以根据 API 响应定义不同的聊天机器人流程。

通过集成 Webhook,您可以通过外部数据增强聊天机器人功能,自动化工作流,并动态改进用户互动。

常见问题解答 (FAQ)

一般性问题

1. Wati's Chatbot Builder 中的 Webhook 是什么?

Webhook 让您的聊天机器人能够通过 GET 或 POST API 请求从外部应用程序发送或接收实时数据。这有助于您创建动态且个性化的聊天机器人响应。

2. 哪些套餐支持 Webhook 功能?

Webhook 在 Pro 和 Business 套餐中完全可用。

3. 如何将 Webhook 添加到我的聊天机器人?

打开 Chatbot Builder,将 Webhook 图标拖到工作流中,并将其连接到您希望 API 调用发生的聊天机器人步骤。

4. 我可以使用哪些方法和 URL 进行 Webhook 请求?

您可以使用 GET 或 POST 请求。输入所需的 API 端点,如果想传递动态用户数据,请在 URL 中插入变量。

5. 标头和请求体是必需的吗?

不,两者都是可选的。只有当 API 需要额外的详细信息(如授权或内容类型)时才添加标头。只有当您必须向外部 API 发送 JSON 数据时,才启用请求体。

测试和响应处理

6. 如何测试我的 Webhook 是否正常工作?

在设置过程中,使用 Test the request 选项来确认 API 调用是否按预期工作。

7. 我可以存储 API 响应中的值吗?

是的,您可以将返回的值保存在变量或自定义属性中。这适用于简单响应、嵌套 JSON 对象和数组。

8. 如何从嵌套对象或数组中提取值?

对于对象,使用点表示法(例如:Result.QuoteId);对于列表,使用数组格式(例如:$.[0].tracking_data.shipment_track[0].current_status)。

9. 什么是响应路由?

响应路由允许您根据 API 状态码定义不同的聊天机器人流程,以便聊天机器人可以根据 API 调用是否成功做出不同的响应。

这是否解答了您的问题?