繁体   English   中英

是否仍然可以通过要发送的消息直接响应 slack 事件 HTTP POST?

[英]Is it still possible to respond directly to a slack event HTTP POST with a message to send?

我知道当一个 slack 事件发生时,它会以 HTTP POST ( https://api.slack.com/events-api ) 的形式出现。 有没有办法指定要在响应正文中发送的消息? 我正在关注这个( https://medium.com/@vinodhinic/lessons-i-learnt-while-building-slack-apps-3ecc6c929180 )并希望能够做同样的事情。

不。文档并未表明您可以,如果可以,文档会清楚地提及它。 其他一些用于消息传递的 API(例如 Twilio 的)。

即使可以,Slack 文档中也有一个很好的理由说明为什么不应该这样做:

您的应用应在三秒内使用 HTTP 2xx 响应事件请求。 如果没有,我们将认为事件传递尝试失败。 失败后,我们将重试 3 次,以指数方式回退。

保持响应成功率至少为每 60 分钟 5% 的事件,以防止自动禁用。

尽快用 HTTP 200 OK 响应事件。 避免在同一流程中实际处理和响应事件。 实现一个队列来处理接收到的入站事件。

如果您的代码正在执行工作(即在数据库中查找内容,或进行某种计算,或发出网络请求)以准备发回响应,您将面临该工作花费太长时间(阻塞)和没有及时发回 200 OK,这意味着您的客户没有按照文档中的规范行事。 正如文档所建议的那样,通过将传入的 webhook 事件放在队列中来处理它们,然后根据队列中的内容发送响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM