1

API を使用して Webhook を作成しようとしています。お客様がアプリ (コントローラー) をインストールすると、次のようになります。

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>):

編集: 次のように、ブロックコードなしで1つの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'

「Raise」エラー行をコメントアウトすると、Shopify Admin 内で作成したいくつかのテスト注文とテスト製品を表示するインデックス ページに進むため、オーソリとショップが実際に正しくインストールされていることがわかります。

ここからどこへ行けばいいのかわからない。ありがとう

4

1 に答える 1

3

使用するパラメーター ( topicformat、 ) は私には良さそうに見えますが、代わりにaddressすべきではありませんか?ShopifyAPI::Webhook.newcreate

Rubyコードを簡単にテストできるshopifyコンソールができましたか?

于 2013-05-08T13:28:52.383 に答える