当一个应用程序处理一个Slack 斜杠命令我有一个斜杠命令,它可以搜索到任何结果,但可能找不到任何结果。我有一个斜线命令,可以搜索,但可能找不到任何结果。在这种情况下,我希望用户能够立即修改他们的搜索结果。Slack文档中解释说,我应该总是返回一个 200
HTTP状态,但随后Slack也会删除该命令,用户无法立即再次尝试。当我试着回复一个 404
状态,用户会收到一条报警信息,如 failed with the error "http_client_error"
. 有没有一种方法可以让失败,但也能给用户提供一个自定义信息,为什么?
是的,但你一定不要使用HTTP状态码来社区一个失败的搜索。
只要总是返回HTTP OK 200,然后添加一个响应消息告诉用户出了什么问题。你可以在3秒内直接回复Slack的请求,或者通过向 response_url
.
这一点在斜杠命令的官方文档中也有明确表述。
发送错误响应
有时你需要让用户知道有什么地方出了问题--可能是用户在命令旁边提供了一个不正确的文本参数,也可能是用于生成命令响应的API出现了故障。
在这种情况下,返回一个HTTP 500响应给初始命令是很诱人的,但这不是正确的方法。作为命令响应而返回的状态码应该只用来说明请求URL是否成功地接收到了数据载荷--虽然在处理和响应该载荷时可能发生了错误,但通信本身仍然是成功的。(资料来源)
据我所知,虽然不可能给Slack发信号,让用户能够编辑他的最后一条命令。