如何处理失败的技能事件?

How to handle failed skill events?

我正在使用 "Skill Events" 实施技能生命周期事件。浏览文档找不到任何提及我应该为这些事件做出回应的内容。我找到的最接近的是:

Alexa will attempt to redeliver events if an acknowledgement is not sent by the skill service, for up to one hour. If the skill service receives an event, and the skill service sends an acknowledgment in response, this event must then be managed by the skill service. In either case, the skill service cannot, at a later time, retrieve past events from Alexa.

Source

这意味着什么,一个空的 200 响应?万一失败了怎么办。我是否应该 return 一个 200 状态和类似于 Alexa ErrorResponse 的格式错误?

由于技能事件数据架构与典型的 Alexa 事件不同,我认为它是不同的。

到目前为止,如果我 return 是一个空的 200 响应,Alexa 就知道我已经确认了请求并且不再发送它。

如果出现问题,我会回复 400 状态和纯文本错误消息。然后后来又收到了请求

还请务必保存 AlexaSkillEvent.SkillEnabledAlexaSkillEvent.SkillAccountLinked 与用户的请求中的 timestamp,这样您就可以验证重复发送的事件是否有效(如果某些内容无效)对。