【问题标题】:Cannot fire Bigcommerce webhooks无法触发 Bigcommerce 网络挂钩
【发布时间】:2018-06-13 11:17:49
【问题描述】:

到目前为止,我已经通过使用他们的官方 gem (https://github.com/bigcommerce/bigcommerce-api-ruby) 和以下事件成功地创建了两个 webhook:

  • 商店/订单/状态已更新
  • 商店/应用程序/卸载

目标 URL 是由 ngrok(https)版本管理的 localhost 隧道。

status_update_hook = Bigcommerce::Webhook.create(connection: connection, headers: { is_active: true }, scope: 'store/order/statusUpdated', destination: 'https://myapp.ngrok.io/bigcommerce/notifications')
uninstall_hook = Bigcommerce::Webhook.create(connection: connection, headers: { is_active: true }, scope: 'store/app/uninstalled', destination:  'https://myapp.ngrok.io/bigcommerce/notifications')

Webhook 似乎处于活动状态且已正确创建,因为我可以检索并列出它们。

Bigcommerce::Webhook.all(connection:connection)

我在商店仪表板中手动创建了一个订单,但无论我将其更改为哪个状态或多少个状态,都不会触发任何通知。我错过了什么吗?

【问题讨论】:

  • 您能发布您的商店哈希吗?我可以检查服务器日志以查看 webhook 服务是否正在为您的商店触发任何钩子。
  • 当然,@KarenWhite,它是 3nuz0ojp05

标签: ruby webhooks bigcommerce


【解决方案1】:

我在日志中看到的异常是:

ExceptionMessage: true is not a valid header value

“is-active”标志应作为请求正文的一部分发送——如果您选择包含它们,您的标头将是一个任意键值对,您可以在运行时检查它以验证钩子的来源。

这是一个示例请求正文:

{
  "scope": "store/order/*",
  "headers": {
    "X-Custom-Auth-Header": "{secret_auth_password}"
  },
  "destination": "https://app.example.com/orders",
  "is_active": true
}

希望这会有所帮助!

【讨论】:

  • 这确实是问题所在!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-02
  • 2021-03-22
  • 2015-07-05
  • 2015-10-11
  • 2012-09-26
  • 1970-01-01
  • 2021-06-29
相关资源
最近更新 更多