2013-07-12 189 views
0

我正在与客户合作开发两个站点:一个网站,其中包含有关其业务的一般信息,以及一个独立的电子商务商店来销售他们提供的产品。据我所知,这是一种相当普遍的做法,因为客户的CMS需求通常不在大多数电子商务平台提供的范围内。从外部应用程序Shopify API? (backbone.js)

主要网站将需要展示商店中的一些产品,所以我正在寻找具有API的电子商务平台。 Shopify引起了我的注意,因为它具有返回JSON的API。我将用一个Sinatra后端构建带有Backbone.js的主站点。

谁能告诉我Shopify API是否可以用这种方式?我还看到一个名为Shopify Widget的Shopify应用程序,它有点脆弱和不可定制,我认为这不会满足我客户的目的。你将如何处理这种情况?

回答

1

您必须使用sinatra应用程序作为Shopify商店的代理,因为通过Javascript进行跨域调用将不起作用。

您可以使用ShopifyAPI gem来完成大部分繁重的工作,如果您真的想要,您可以在Sinatra中编写一个贫民窟RestAPI,这样您就不会重新发明Shopify车轮。

它可以像简单的东西:

POST /shopify.json 
{ 
    "model": "ShopifyAPI::Product", 
    "data": { ..shop data... } 
} 

而且你大概可以使用const_get检索你需要实际的模型。

+0

感谢@csaunders,非常有帮助。 –

1

如果您使用Sinatra作为后端,您的确可以进行跨域Ajax调用。我一直这样做。如果您想使用CORS,只需使用Rack-Cors gem。如果由于IE在CORS方面存在问题而对此感到不安,那么您可以随时返回JSONP作为替代品。如果您的Sinatra后端在子域上运行,您可以做任何事情,因为没有跨域问题。