Ruby on rails 使用Rails安装Shopify Webhook

Ruby on rails 使用Rails安装Shopify Webhook,ruby-on-rails,shopify,webhooks,Ruby On Rails,Shopify,Webhooks,我正在尝试在Rails中使用order/create设置一个基本的shopify webhook应用程序 我已经按照Webhook支持api中的说明进行了操作,并部署了其中提供的Sync_App_演示示例,但无法进入授权登录步骤。它会弹出“我们很抱歉出错”页面-myapp/login/authenticate 我是webhook的新手,在Google上搜索过很多东西,但是对于webhook连接的基本设置却没有任何乐趣。我根据创建的shopify_应用程序gem设置,将shopify应用程序api

我正在尝试在Rails中使用order/create设置一个基本的shopify webhook应用程序

我已经按照Webhook支持api中的说明进行了操作,并部署了其中提供的Sync_App_演示示例,但无法进入授权登录步骤。它会弹出“我们很抱歉出错”页面-myapp/login/authenticate

我是webhook的新手,在Google上搜索过很多东西,但是对于webhook连接的基本设置却没有任何乐趣。我根据创建的shopify_应用程序gem设置,将shopify应用程序api密钥和密码放入了中,但不确定这是否正确

此外,一旦我通过webhook控制器连接,webhook订单/创建的位置(例如,我的测试商店的订单通知面板中的url/order.xml)是什么

任何帮助都将不胜感激

以下是shopify sync应用程序演示的链接:


当我自己寻找如何做到这一点时,偶然发现了你的问题。考虑到你在这里发布这篇文章已经有几年多了,希望你已经找到了答案。如果您没有,下面是我们所做的:

在这两种情况下,您都必须知道Shopify API密钥、密码和商店名称

1) 使用Shopify的
Shopify\u api
gem:

new_webhook = ShopifyAPI::Webhook.new({
   topic: "orders/create",
   address: "http://www.example.com/webhook", # substitute url with your endpoint
   format: "json"
})

new_webhook.save
2) 使用终端:

curl -X POST -H 'Content-Type: application/json' 'https://shopify_api_key:shopify_api_password@store_name.myshopify.com/admin/webhooks.json' -d '{"webhooks": {"topic": "orders\/create", "address": "http:\/\/www.example.com\/webhook", "format": "json"}}' 
因此,您需要添加自己的
shopify\u api\u密钥
shopify\u api\u密码
store\u名称
,以及您希望接收已发布事件的地址端点

其他有用的东西:

-用于在本地运行的服务器上接收Webhook(例如,当使用
rails s
时)


-要查看webhook响应的原始正文和标题,让新手开始使用Ruby on Rails开发Shopify应用程序,我强烈建议使用包含gem的gem

要注册webhook,您可以运行
add\u webhook
生成器,或在
shopify\u app.rb
初始值设定项中手动添加一行:

config.webhooks = [
  {topic: 'app/uninstalled', address: 'https://myapp.url/webhooks/app_uninstalled', format: 'json'},
  {topic: 'orders/create', address: 'https://myapp.url/webhooks/orders_create', format: 'json'},
]

通过此设置,您的应用程序将在应用程序安装时注册Webhook。

您是否可以编辑您的问题并发布指向上述教程/演示应用程序的链接?嗨,Thomas,我用上述演示编辑了原始问题,但仍然没有取得任何进展。我发现了另一个SO问题,它显示了有关shopify webhooks的一些信息,但似乎无法在我的基本应用程序中实现。以下是链接:如何从webhook接收响应?文档中解释:ShopifApp还提供一个WebhooksController,用于接收webhook并根据webhook url对作业进行排队。例如,如果您从上面注册webhook,那么您需要做的就是创建一个名为CartsUpdateJob的作业。作业将与2个参数shop_domain和webhook(webhook主体)一起排队。看见