微信客服消息的回调事件,应该怎么回复才不会推送三次?

2024/03/26
提问

微信客服用户发送的消息事件,我已经按照说明,回复空字符串或者success, 还加了状态码200, 为什么还是推送三次?

回答·2

您好,有响应但响应失败会直接重试最多3次

赞同
评论 9
或者可以看下 是否多个应用使用了同一个回调URL,且都选择了接收微信客服事件。
赞同
回复
您好,我在测试阶段,可以确定只有一个入口,msg的token_id 是同一个,不管我return 空字符串,还是“success” 都没用,不知道怎么解决? 我看了返回时间大概就1秒内
赞同
回复
应该是响应失败后重试导致的。打印日志检查看下呢
赞同
回复
 日志显示接口调用成功,"POST /wx_api/?msg_signature=eb3f1913203dbfe3d5b418a570ec4d8188b2e191&timestamp=1711437409&nonce=1711953603 HTTP/1.1" 200 OK,   没有失败,用postman也能正常返回:  我的代码如下logging.info("执行了return")
return "success"
赞同
回复
2024/03/26
日志如下图
赞同
回复
查了下日志是重试了3次,时间分别为15:16:51、15:16:53、15:16:55
赞同
回复
对的,微信服务器推了3次给我,我应该怎么解决呢,哪里有问题
赞同
回复
响应失败 重试了三次,检查网络环境看下呢
赞同
回复
相应失败的原因能查到吗,我回复用户的消息可以正常推送到微信服务器,不存在网络环境有问题吧
赞同
回复
你还未登录,请先登录
2024/03/26

微信客服用户发送消息事件后,如果你已经按照官方文档回复了空字符串、success以及状态码200,但消息仍然被推送了三次,可能的原因包括:


  1. 网络问题或延迟:有时由于网络波动或延迟,微信的服务器可能没有及时收到你的响应,导致它重复发送了推送。
  2. 微信服务器处理逻辑:微信的服务器在处理消息时,可能由于其内部逻辑或策略,导致即使收到了正确的响应,也会重复发送消息。这通常与微信服务器的设计或维护有关。
  3. 你的服务器处理逻辑:虽然你回复了正确的响应,但如果你的服务器在处理这个响应时存在某些问题(例如,多次触发处理逻辑),也可能导致消息被多次推送。
  4. 微信接口版本或更新:有时微信会更新其API或接口,如果你没有及时跟进这些更新,可能会导致与旧版本不兼容的问题,包括消息重复推送。


赞同 2
评论