使用Rails Shopify Webhook设置

时间:2012-12-12 16:45:09

标签: ruby-on-rails shopify webhooks

我正在尝试使用Rails中的订单/创建设置基本的shopify webhook应用程序。

我已按照support api中的webhooks说明进行操作,并部署了此处提供的Sync_App_Demo示例,但无法授权登录授权步骤。它会显示“我们抱歉出了问题”页面 - myapp / login / authenticate

我是webhooks的新手,并且已经看了所有的搜索和谷歌搜索,但没有喜欢计算webhook连接的基本设置。我根据创建的shopify_app gem设置放置了shopify app api密钥和秘密,但不确定这是否正确。

此外,一旦我通过webhook控制器进行连接,其中有关于指示(例如,我的测试商店的通知顺序面板中的url /order.xml)webhook顺序/创建?

非常感谢任何帮助。

以下是shopify同步应用演示的链接:

https://github.com/Shopify/sync_app_demo

http://wiki.shopify.com/WebHook#Rails

2 个答案:

答案 0 :(得分:5)

在寻找自己如何做的时候偶然发现了你的问题。鉴于你在这里发布这个已经超过几年,希望你已经找到了答案。如果你还没有,我们做了什么:

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

1)使用Shopify' shopify_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_api_keyshopify_api_passwordstore_name以及要接收已发布事件的地址端点。

其他有用的东西:

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

RequestBin - 用于查看webhook响应原始正文和标题

答案 1 :(得分:0)

对于使用Ruby on Rails开始Shopify App开发的新人,我强烈建议使用包含shopify_app gem的shopify_api gem。

要注册webhook,您可以运行add_webhook生成器或在shopify_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。