跳转到主要内容

Webhooks 指南:选择 Wati Webhooks 还是 WhatsApp API 网关?

更新于昨天

概述

Webhooks 是应用程序在特定事件发生时向其他系统发送实时数据的一种方式。与需要不断轮询的传统API不同,Webhooks会自动推送更新,使其非常适合通知和基于事件驱动的操作。本指南介绍Webhooks的工作原理、优势以及如何设置它们。

Webhooks:完整指南

什么是Webhooks?

Webhooks 是系统中特定事件触发的HTTP回调。当事件发生(例如,新用户注册、支付处理完成等)时,系统会将HTTP请求(通常是POST请求)发送到已配置的URL。

Webhooks的关键组件

  1. 事件触发器 – 导致Webhook触发的操作(例如,放置新订单)。

  2. Webhook URL – 用于发送数据的端点。

  3. 有效负载 – 以HTTP请求中发送的数据,通常使用JSON格式。

  4. HTTP方法 – 通常为POST,用于传递数据。

  5. 响应处理 – 接收服务器处理请求,并可能返回成功或错误消息。

当触发事件发生时,WhatsApp Business API客户端会检测到它,收集相关数据,并立即将HTTP请求发送到应用程序设置中配置的Webhook URL。该请求会更新发送消息的状态或提醒您有新消息的接收。.

使用Webhooks的优势

  • 实时更新 – 数据是立即推送的,而不是定期被拉取。

  • 高效 – 减少不必要的API调用,节省资源。

  • 易于实现 – 只需要一个端点来接收数据即可。

  • 可扩展 – 非常适合高容量的事件驱动应用程序。

如何设置Webhook

按照以下步骤创建和配置Webhook:

1. 确定事件触发器

确定哪些操作将触发Webhook,例如:

  • 新用户注册

  • 完成的支付

  • 支持票更新

2. 配置Webhook URL

设置服务器端点以接收Webhook请求。该URL必须公开可用,并且能够处理传入的HTTP POST请求。

示例URL:https://yourapp.com/webhooks/payment-success

3. 处理Webhook有效负载

您的服务器应该能够解析和验证传入的数据。

JSON有效负载示例:

{   "event": "payment_success",   "user_id": 12345,   "amount": 100.00,   "currency": "USD" }

4. 保护Webhook

为了防止未经授权的访问,请考虑:

  • 验证有效负载签名,使用HMAC密钥。

  • 限制IP地址到可信来源。

  • 使用HTTPS保证安全传输。

5. 正确处理响应

您的服务器应返回HTTP 2xx状态代码(200 OK)以确认成功收到。如果发生故障,发送方可能会重试请求。

响应示例:

{   "status": "success",   "message": "Webhook successfully received." }

常见Webhook使用情况

  • 电子商务:订单状态更新

  • 支付:交易通知

  • CRM:潜在客户更新和客户交互

  • DevOps:CI/CD管道触发器

  • 消息传递:聊天机器人通知

Webhook故障排除

1. Webhook未触发

  • 确保事件触发器已正确设置。

  • 验证Webhook URL是否可以访问。

2. 有效负载数据无效

  • 检查有效负载格式,并确保它符合预期。

  • 记录传入请求以便于调试。

3. 身份验证问题

  • 确认API密钥或签名是否与预期值匹配。

  • 使用日志记录身份验证失败的情况。

其他信息

  • WhatsApp API网关支持Webhooks。您可以在此处找到文档。

  • 要了解有关WATI Webhooks的更多信息,请访问Webhooks (wati.io).

常见问题(FAQs)

常见问题

1. 什么是Webhooks?

→ Webhooks是一种在特定事件发生时,从一个系统自动发送到另一个系统的通知。与需要不断轮询不同,Webhooks使用HTTP请求实时推送更新。.

2. Webhooks如何工作?

→ 当触发事件时,系统会收集相关数据并将其作为HTTP POST请求发送到预定义的Webhook URL。接收系统然后处理该数据,并可能返回成功或错误消息.

3. Webhooks的关键组件是什么?

→ Webhook包括:

  • 事件触发器 – 启动Webhook的操作(例如,新订单、支付完成)。

  • Webhook URL – 数据被发送的端点。

  • 有效负载 – 使用JSON格式发送的数据。.

  • HTTP方法 – 通常是一个POST请求。.

  • 响应处理 – 接收服务器进程并确认请求。.

设置Webhooks

4. 如何配置Webhook?

→ 要设置Webhook:

  • 确定将触发Webhook的事件。.

  • 设置一个公开可访问的Webhook URL。.

  • 确保您的服务器可以处理传入的数据。.

  • 使用HMAC签名等身份验证方法保护Webhook。.

  • 返回HTTP 2xx状态编码以确认接收。.

5. 如何保护我的Webhook?

→ 要保护Webhook:

  • 使用使用HMAC签名验证以验证有效负载完整性。.

  • 限制请求到可信的IP地址。.

  • 始终使用HTTPS进行加密传输。.

6. 收到Webhook后,我的服务器应该返回什么?

→ 服务器应返回HTTP 2xx状态代码(例如,200 OK)以确认成功接收。.

Webhook故障排除

7. 为什么我的Webhook没有触发?

  • 确保事件触发器已正确设置。.

  • 验证Webhook URL是否可访问。.

  • 检查服务器日志以查找错误。.

8. 为什么我的Webhook返回无效的有效负载错误?

  • 确认有效负载格式与预期的结构匹配。.

  • 在处理之前验证传入的JSON数据。.

  • 记录已接收的请求以进行调试。.

9. 如果我的Webhook身份验证失败,我该怎么办?

  • 验证API密钥或HMAC签名是否与预期值匹配。.

  • 检查请求头部是否包含正确的身份验证详细信息。.

  • 启用日志记录以跟踪身份验证失败。.

WhatsApp API和WATI Webhooks

10. WhatsApp Business API是否支持Webhooks?

→ 是,WhatsApp API网关支持Webhooks。您可以在此处找到官方Webhook文档。.

11. 我在哪里可以了解有关WATI Webhooks的更多信息?

→ 要了解WATI Webhooks的详细信息,请访问 Webhooks (wati.io) 文档。.

12. 为什么我的Webhooks在Wati中失败?

→ Webhook失败通常是因为Wati没有从您的Webhook端点收到200响应。请确保您的Webhook URL能够在5秒内处理和响应请求。设置Webhook以发送收据确认,并稍后处理Webhook数据,以避免失败。

这是否解答了您的问题?