1
我想執行任務時在Shopify創建訂單,但它似乎如果不聽網絡掛接,我想不通爲什麼。我遵循shopify_app gem的文檔,但它不起作用。Shopify API網絡掛接沒有收到Ruby on Rails的
我跑
rails g shopify_app:add_webhook -t orders/create -a https://example.com/webhooks/orders_create
初始化程序shopify_app.rb
ShopifyApp.configure do |config|
...
config.webhooks = [
{topic: 'orders/create', address: 'https://myappwebaddress_not_showing_on_stackoverflow/webhooks/orders_create', format: 'json'},
]
...
end
我使用WebhooksController
module ShopifyApp
class WebhooksController < ApplicationController
include ShopifyApp::WebhookVerification
class ShopifyApp::MissingWebhookJobError < StandardError; end
def receive
params.try(:permit!)
job_args = {shop_domain: shop_domain, webhook: webhook_params.to_h}
webhook_job_klass.perform_later(job_args)
head :no_content
end
private
def webhook_params
params.except(:controller, :action, :type)
end
def webhook_job_klass
"#{webhook_type.classify}Job".safe_constantize or raise ShopifyApp::MissingWebhookJobError
end
def webhook_type
params[:type]
end
end
end
我知道創建網絡掛接,因爲我的應用程序視圖中顯示它並顯示出來。
[#<ShopifyAPI::Webhook:0x007f183012d578 @attributes={"id"=>462377288, "address"=>"https://myappwebaddress_not_showing_on_stackoverflow/webhooks/orders_create", "topic"=>"orders/create", "created_at"=>"2016-11-29T20:29:24-08:00", "updated_at"=>"2016-11-29T20:29:24-08:00", "format"=>"json", "fields"=>[], "metafield_namespaces"=>[]}, @prefix_options={}, @persisted=true>]
當我通過Shopify創建訂單時,我的應用程序中沒有任何反應。
我要補充,我使用sidekiq處理作業。 Sidekiq正在工作,因爲當我在Shopify中「安裝」應用程序時,它會處理創建webhook的工作。
我缺少處理網絡掛接?我是否還需要在routes.rb中創建一些內容?文檔中沒有說我需要。我試圖創建一個路線post 'webhooks/orders_create' => 'webhooks#receive'
但是,這並沒有做任何事情。
什麼我需要做什麼?
具有u創建Shopify上的網頁鉤? –
我的應用程序在用戶「安裝」我的應用程序時創建webhook。所以,我通過我的Rails應用程序中的初始化程序創建webhook – Doughtz
登錄到shopify管理員面板,單擊設置 - >通知 - >檢查webhook是否存在? –