通过Shopify API,我可以创建很棒的webhooks。我已经创建了指向RequestBin的那些,发送到RequestBin的数据是完美的。但当我把它转向我自己的控制器时,没有任何反应。我的控制器中有一个binding.pry来捕获任何进来的东西,什么都没有进来。不知道为什么?
这是我使用ShopifyAPI gem创建钩子:
webhook = ShopifyAPI::Webhook.create(:topic => "carts/update",
:format => "json",:address => "https://dyno-shipping-trimakas.c9users.io
/webhook/cart_callback/")
然后在我列出webhooks时验证:
{"id"=>226014599,
"address"=>
"https://dyno-shipping-trimakas.c9users.io/webhook/cart_callback/",
"topic"=>"carts/create",
"created_at"=>"2016-02-24T17:20:02-05:00",
"updated_at"=>"2016-02-24T17:20:02-05:00",
"format"=>"json",
"fields"=>[],
"metafield_namespaces"=>[]}
这是我的控制者:
class WebHookController < ApplicationController
skip_before_action :verify_authenticity_token, only: [:cart_callback]
def cart_callback
binding.pry
x = params
pp x
end
end
然后最后这是我的路线:
scope '/webhook', :controller => :webhook do
post :cart_callback
end
不知道我哪里误入歧途?