Twitter帐户活动API的webhook交付不一致

Twitter帐户活动API的webhook交付不一致,api,twitter,webhooks,Api,Twitter,Webhooks,我已成功使用帐户活动API设置了一个DM bot。一切都很好,除了有时发送到bot的消息(通过Twitter的web界面或移动应用程序)不会向我的服务器触发webhook。消息可以是快速回复或纯文本 原因显然不是我的服务器宕机,因为我尝试在两个webhook注册用户之间进行对话(因此我的服务器接收两个用户的webhook),对于发送的同一封邮件,我已成功接收到发件人(用户)的webhook,但没有接收到收件人(bot)。 由于bot尚未投入生产,原因不是消息过载。目前只有2个用户进行对话。根据我

我已成功使用帐户活动API设置了一个DM bot。一切都很好,除了有时发送到bot的消息(通过Twitter的web界面或移动应用程序)不会向我的服务器触发webhook。消息可以是快速回复或纯文本

原因显然不是我的服务器宕机,因为我尝试在两个webhook注册用户之间进行对话(因此我的服务器接收两个用户的webhook),对于发送的同一封邮件,我已成功接收到发件人(用户)的webhook,但没有接收到收件人(bot)。 由于bot尚未投入生产,原因不是消息过载。目前只有2个用户进行对话。根据我的经验,大约10%的信息是“丢失的”

我使用的是免费(沙盒)帐户活动API层,但据我所知,免费和付费版本之间的唯一区别是订阅数量更多(我可以接受15次)和“重试”功能。关于此功能,它是“当客户端的web应用程序没有为帐户活动webhook事件返回'success'200响应时,帐户活动API提供重试功能。” 它明确指出,事件失败与客户端有关,而不是与Twitter有关。考虑到这个问题(我的服务器根本没有收到webhook),即使是在付费计划中,也不能保证每个事件都能交付

这对机器人来说是一个很大的不便,因为一个按钮只能点击一次,所以用户必须从一开始就重试对话(除了机器人“不工作”这一事实之外…)

因此,我的问题是:

  • 这里有人遇到过这个问题吗
  • 这是免费帐户活动API的“bug还是特性”?我的意思是,免费层没有故意触发webhook(即使文档中没有指定)
  • 有没有一种方法可以查看或测量Twitter端的webhook故障,例如通过仪表板
  • 猜测是,如果帐户被验证(带有蓝色徽章)或达到追随者数量阈值,事件可能会更准确?由于潜在的事件激增,治疗可能会有所不同,因此使用更多的资源对其进行监测,从而更可靠
我已经在官方推特论坛上创建了一个,至少还有一个人在处理同样的问题,但到目前为止,推特还没有给出正式答复

非常感谢

比尔,
西蒙

我从推特上得到了一个官方答案:

不幸的是,当一个事件只有一次传递尝试时,不可能实现100%的传递率,这就是为什么我们要重试(即使这样,重试也不能保证)。事情可能会出错;可能是Twitter数据中心的内部问题、互联网上的路由问题、webhook上的托管问题等等

因此,从目前来看,当你在Twitter上构建一个机器人时,似乎没有办法获得100%的成功交付


完整答案可以阅读。

我可以确认,我在使用Twitter的Webhook时也观察到了同样的行为。大约十分之一的私人消息缺少webhook事件。