要完成本指南中的步骤,您必须是 Amazon Chime 系统管理员。如需 Amazon Chime 桌面客户端、网络应用程序或移动应用程序方面的帮助,请参阅《Amazon Chime 用户指南》中的获取支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建适用于 Amazon Chime 的 Webhook
Webhook 允许 Web 应用程序互相进行实时通信。Webhook 通常会在操作时发送通知。例如,假设您运营着一个在线购物网站。当客户为购物车添加商品、为订单付款或发送评论时,您会收到 Webhook 的通知。Webhook 不需要像传统应用程序那样进行大量编程,也不会耗费太多的处理能力。没有 webhook 的程序必须定期轮询才能实时获取数据。具有 webhook 的发送应用程序则可以立即发布数据。
您创建的入站 Webhook 能够以编程方式向 Amazon Chime 聊天室发送消息。例如,Webhook 可以通知客户服务团队有关创建新的高优先级服务单的内容以及在聊天室中添加指向该服务单的链接。
Webhooks 消息可通过 markdown 进行格式设置并且可以包含表情符号。HTTP 链接和电子邮件地址会显示为活跃链接。消息还可以包括 @All 和 @Present 注释以分别提醒聊天室内的所有成员和在线成员。要直接 @ 提及某个聊天室参与者,请使用其别名或完整的电子邮件地址。例如,@alias
或 @alias@domain.com
。
Webhook 只是聊天室中不支持共享的一种功能。Amazon Chime 聊天室管理员可以为每个聊天室添加最多 10 个 Webhook。
根据以下流程,您可以将创建的 Webhook 集成至 Amazon Chime 聊天室。
将 Webhook 集成至聊天室
从聊天室管理员处获取 Webhook URL。有关更多信息,请参阅《Amazon Chime 用户指南》中的将 Webhook 添加到聊天室。
-
您可以使用脚本或应用程序中创建的 Webhook URL 向聊天室发送消息:
-
URL 接受 HTTP POST 请求。
-
Amazon Chime Webhook 接受含有单一密钥内容的 JSON 有效负载。以下是带示例负载的示例 curl 命令:
curl -X POST "<Insert your webhook URL here>" -H "Content-Type:application/json" --data '{"Content":"Message Body emoji test: :) :+1: link test: http://sample.com email test: marymajor@example.com All member callout: @All All Present member callout: @Present"}'
下面是一个针对 Windows 用户的示例 PowerShell 命令:
Invoke-WebRequest -Uri '<Insert your webhook URL here>' -Method 'Post' -ContentType 'application/JSON' -Body '{"Content":"Message Body emoji test: :) :+1: link test: http://sample.com email test: marymajor@example.com All member callout: @All All Present member callout: @Present"}'
-
在外部程序将 HTTP POST 发送到 Webhook URL 之后,服务器会验证 Webhook 是否有效且具有已分配的聊天室。Webhook 出现在聊天室花名册中,其名称旁边带有一个 Webhook 图标。Webhook 发送的聊天室消息出现在 Webhook 名称下的聊天室中,后跟 (Webhook)。
注意
当前没有为 Webhooks 启用 CORS。
排查 Webhook 错误
以下是与 Webhook 相关的错误的列表:
-
每个 Webhook 的传入 Webhook 速率限制为每个聊天室 1 TPS。限制会导致 HTTP 429 错误。
-
由一个 Webhook 发布的消息必须为 4 KB 或更小。较大的消息负载会导致 HTTP 413 错误。
-
具有 @All 和 @Present 注释的 Webhook 所发布的消息仅适用于具有 50 个或更少成员的聊天室。超过 50 个成员会导致 HTTP 400 错误。
-
如果重新生成 Webhook URL,使用旧的 URL 会导致 HTTP 404 错误。
-
如果删除房间内的 Webhook,使用旧的 URL 会导致 HTTP 404 错误。
-
无效的 Webhook URL 会导致 HTTP 403 错误。
-
如果服务不可用,用户会在响应中收到 HTTP 503 错误。