我正在尝试通过API创建Webhook。 当客户安装应用程序(Controller)时:
def init_webhooks
topics = ["products/create", "products/update", "products/delete"]
topics.each do |topic|
webhook = ShopifyAPI::Webhook.create(format: "json", topic: topic, address: "http://#{@current_host}/webhooks/#{topic}")
raise "Webhook invalid: (#{topic}) #{webhook.errors}" unless webhook.valid?
end
end
以下是日志中的错误:
RuntimeError (Webhook invalid: (products/create) #<ActiveResource::Errors:0x00000003bd7358>):
修改 我甚至尝试过创建一个没有块代码的webhook,如下所示:
webhook = ShopifyAPI::Webhook.create topic: "products/create", address: "http://myapp.com/webhooks/products/create", format: "json"
但我得到同样的东西。
来自我的路线档案:
match 'webhooks/products/create' => 'webhook#product_new'
match 'webhooks/products/update' => 'webhook#product_updated'
match 'webhooks/products/delete' => 'webhook#product_deleted'
我知道授权和商店实际上是正确安装的,因为如果我注释掉“提升”错误行,我会进入索引页面,显示我在Shopify管理员中创建的一些测试订单和测试产品。
我不知道从哪里开始。谢谢 B'/ P>
答案 0 :(得分:3)
您使用的参数(topic
,format
,address
)看起来不错,但不应该是ShopifyAPI::Webhook.new
而不是create
?
您现在是否有shopify console可以轻松测试红宝石代码?