Webhooks

Webhooks 允许您在 Meshy API 任务完成或状态发生变化时接收实时更新。配置后,Meshy 将以 json 格式向您指定的 URL POST 事件有效负载。


为什么创建 Webhooks

使用 webhooks 有几个优势,特别是在自动检查 API 任务状态方面。Webhooks 比持续轮询 API 获取任务状态更新需要更少的努力和成本。Webhooks 还允许近实时更新,最终比 API 轮询更具可扩展性。这也使您能够更好地管理速率限制,尤其是在持续轮询的情况下。


设置和配置

要启用 webhooks,请在登录 Meshy 网络应用程序时导航到 API 设置页面。在您的 API 密钥下方找到"Webhooks"部分,然后点击"创建 Webhook"按钮。提供您希望接收来自 Meshy 的 webhooks 的 https URL,并启用 webhook 以自动接收来自 Meshy 的任务更新。 每个 Meshy 账户最多可以有 5 个活跃的 webhooks。当 webhook 启用时,所有 API 任务状态更新将自动发送到有效负载 URL。出于安全考虑,我们目前只允许向 https URL 发送 webhooks。如果您想配置本地测试,请参阅以下部分。


本地测试的 Webhook 转发

如果您想在本地测试您的 webhook 代码(通常使用 http 地址),您可以使用 webhook 代理 URL 将 webhooks 转发到您的计算机或代码空间。以下是使用 smee.io 的推荐步骤,但您可以使用任何您喜欢的服务来生成 webhook 代理 URL。

获取 webhook 代理 URL:

  1. 在您的浏览器中,导航到 https://smee.io/
  2. 点击"Start a new channel"
  3. 复制"Webhook Proxy URL"下的完整 URL。您将在以下设置步骤中使用此 URL。

转发 webhooks:

  1. 如果您还没有安装 smee-client,请在终端中运行以下命令。
npm install --global smee-client
  1. 要从 smee.io 接收转发的 webhooks,请在终端中运行以下命令。将 WEBHOOK_PROXY_URL 替换为您之前获得的 webhook 代理 URL。
smee --url WEBHOOK_PROXY_URL --path /webhook --port 3000

您应该看到类似这样的输出,其中 WEBHOOK_PROXY_URL 是您的 webhook 代理 URL:

Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:3000/webhook
Connected WEBHOOK_PROXY_URL
  1. 在测试您的 webhook 时保持这个运行。当您想停止转发 webhooks 时,请按 Ctrl+C。 请注意,路径是 /webhook,端口是 3000。当您稍后想要设置自己的代码来接收 webhook 交付时,这些值可能会派上用场。

创建 webhook:

您现在可以使用 webhook 代理 URL 在 Meshy API 设置页面中创建新的 webhook。