shopify webhooks没有在生产中解雇

时间:2018-03-20 14:49:16

标签: node.js shopify webhooks shopify-app

我使用shopify-api-node软件包创建了一个私有应用程序,它使用ngrok在本地开发中非常完美。 我注册了一个webhook“产品/更新”,工作正常。

注册网址:https://example.ngrok.io/webhooks/product-update

但是在生产环境中注册了同一个webhook,webhook没有被解雇

生产中注册的网址:https://custom.example.in/webhooks/product-update

当本地服务器和生产服务器都在运行时,只会向本地服务器(通过ngrok隧道)触发webhook。

我在生产中使用nginx作为反向代理。我检查了nginx的access.log文件,但shopify没有触发webhook请求。我尝试创建一个新的私有应用程序,但没有帮助。

可能出现什么问题?提前谢谢。

2 个答案:

答案 0 :(得分:1)

一些常见问题是:

  • 无效的SSL证书,例如一个是自签名的或一个缺少中间证书的。您可以使用https://www.ssllabs.com/ssltest/
  • 检查问题
  • 您的服务器或应用未配置为接受POST请求,而是仅接受其他方法。从命令行,您可以通过向您的webhook端点发出curl的POST请求来检查此问题。
  • 您的应用已实施了webhook验证逻辑,并且您正尝试使用开发应用密钥验证生产webhook。
  • 您创建的webhook已被取消,因为Shopify没有足够快地收到200状态响应。您可以使用Webhooks API列出webhook并验证您的webhooks是否仍然已注册。

答案 1 :(得分:0)

您需要提供更多信息。你怎么知道生产中的webhook没有开火?你有没有证明,当你创建了创建的webhook本身时?检查webhook对象时的样子是什么?一切都好吗?

如果webhook存在,并且该对象看起来都很好,接下来要调查的是您的公共生产服务器。

99/100 webhook问题不是Shopify,而是开发人员做错了。在你提出错误之前,确保你已经做好了一切!