我正在构建我的第一个RoR set应用程序,我目前正在尝试建立一个与Shopify的集成。无论何时在Shopify中创建一个订单,我都想在我的web应用程序中创建一个订单。为此,我想使用一个Shopify网络钩子。第二步是设置它,以便在处理订单之后,我将使用Shopify API更新一些记录。目前,我主要关心的是接收这些钩子。我一直在查看Shopify gem的文档,但是由于我有限的RoR技能,我似乎找不到它。我已经在网上搜索了几个小时,但是找不到任何明确的例子/解释。
我对这个创业板感到困惑;shopify-api (https://docs.shopify.com/api/authentication/using-api-gem-with-private-app-credentials)。我在shopify中创建了一个私人应用程序,但之后我就迷路了。我应该在哪里放置这些代码,在接收到web钩子之后如何调用这些代码?
在我看来,这个gem主要用于访问Shopify API,而不是使用webhooks。我是不是搞错了?
发布于 2016-02-03 16:23:29
要从Shopify接收更改(特别是Order Creation事件),您不需要使用任何gem或第三方来集成!
下面是我以前在我的应用程序中所做的步骤:
1.在应用程序中提供一个api来接收web钩子事件。
下面是一个示例:
你的路线:
post '/shopify/create_order', to: 'shopify#create_order'你的控制器:
class ShopifyController < ApplicationController
def create_order
# process shopify order here: all info in `params`
end
end要从您的webhook 共享设置.调用2.config,配置的url将是:
http://your_production_url/shopify/create_order如果要从本地主机进行测试,请转到step 3
3. (可选)本地主机的测试
下载此免费工具:ngrok并将其解压缩到您的机器上。在终端中运行ngrok,通过以下命令向本地主机生成一个转发url:
ngrok http 3000因此,您将从控制台获得如下输出:

复制上面生成的url (例如http://fbc5cf88.ngrok.io),并在步骤2中添加到Shopify设置中
4. (可选但至关重要)在应用程序中设置隐私,以确保只有可以调用您的api。遵循这个文档
Shopify还提供了与Shopify资源集成的api :创建/更新product、collection、collect、metafield、.你可以直接用。这一切都是在Shopify API文档描述的。但是使用api接口最简单的方法是Shopify,它提供了一个使用Shopify的接口(通过ActiceResource)
https://stackoverflow.com/questions/35177176
复制相似问题