简体   繁体   English

shopify navision

[英]shopify navision

I'm looking for answers regarding Shopify and Navision. 我正在寻找关于Shopify和Navision的答案。 We are considering switching our current webshop host to Shopify. 我们正在考虑将我们当前的网店主机改为Shopify。

How ever – one important thing is, that we can make Shopify work directly with our accounting system – Navison (now Microsoft Dynamics NAV). 但是,重要的是,我们可以让Shopify直接使用我们的会计系统--Navison(现在是Microsoft Dynamics NAV)。 This must be possible, but how comprehensive (and pricey) is this integration and does any of you have any experience in this field? 这必须是可能的,但这种整合有多全面(和昂贵),你们中谁都有这方面的经验吗?

Any help would be much appreciated. 任何帮助将非常感激。 Thanks! 谢谢!

Since I don't have enough points to post a comment I'm posting this as an answer. 由于我没有足够的积分发表评论,我将其作为答案发布。

I'm really sorry to have to post such a negative comment like this, especially since I may need help from Shopify dev suport at some point and I really don't want to piss them off, so hopefully they won't take this personally. 我真的很遗憾不得不发布这样的负面评论,特别是因为我可能需要Shopify dev支持的帮助,我真的不想小便,所以希望他们不会这样做。

I can appreciate some of the design decisions Shopify has made with its APIs, but David Lazar and crew seem to be missing Jarko's point or just don't care. 我可以欣赏Shopify通过其API进行的一些设计决策,但David Lazar和工作人员似乎缺少Jarko的观点,或者只是不在意。

I personally could care less about SOAP, I use JSON and REST for everything whenever possible and am pretty agnostic when it comes to technology stacks, but I too am disgusted by the limitations of the Shopify product API (and other parts of the API), which, at first glance looks half way decent until you start trying to use it for any heavy lifting. 我个人可能不太关心SOAP,我尽可能地使用JSON和REST来处理所有事情,并且在技术堆栈方面我非常不可知,但我也对Shopify产品API(以及API的其他部分)的局限性感到反感,乍一看,在你开始尝试使用它进行任何繁重的工作之前,乍看起来都不错。

Virtually every other similar API I've worked with allows devs to create multiple products with a single API call, in fact this is the first API I've ever had to use that didn't offer that ability. 实际上,我使用过的所有其他类似的API都允许开发人员使用单个API调用创建多个产品,实际上这是我曾经使用过的第一个没有提供该功能的API。

Considering how slow the Shopify API is at creating a single product with variants and images, it's a wonder there's anyone at all using it to manage more than a handful of products. 考虑到Shopify API在创建具有变体和图像的单一产品方面的速度有多慢,所以根本不会有任何人使用它来管理多种产品。 For example, I spent the better part of 2 days waiting for my script to finish creating all our products via the API due to the 1 products per call limitation. 例如,由于每个呼叫限制1个产品,我花了2天的大部分时间等待我的脚本通过API完成所有产品的创建。

My API library is designed to respect the API request limits, but we never even get close to the limits because it takes between 11 and 20 seconds to create a single product with variants and images. 我的API库旨在尊重API请求限制,但我们甚至都没有接近极限,因为创建具有变体和图像的单个产品需要11到20秒。 I have roughly 8000 products to upload. 我有大约8000个产品要上传。 Do the math. 算一算。 For people used to working with true enterprise level APIs that can handle thousands of products per API call (AmazonMWS is a perfect example), waiting 2 days for products to finish being created is just crazy, and god forbid you need to do something as simple as reorder the products once they are uploaded. 对于过去使用真正的企业级API的人来说,每个API调用可以处理数千个产品(AmazonMWS就是一个完美的例子),等待2天产品完成创建只是疯了,上帝禁止你需要做一些简单的事情在上传产品后对其进行重新排序。

In that case you get to make another 8000+ api calls to delete all the products (which takes a little over an hour) and then start the upload process all over again and wait 2 days. 在这种情况下,您可以再次进行8000+ api调用以删除所有产品(需要一个多小时),然后重新开始上传过程并等待2天。 That's about as inefficient a system as I can imagine. 这就像我想象的那样效率低下。 I've tried doing bulk CSV uploads to work around these problems, but guess what? 我尝试过批量CSV上传来解决这些问题,但你猜怎么着? The bulk upload can't handle a CSV file bigger than a couple of megabytes and to reference bulk-uploaded products via the API in future API calls you have to specify a shopify product ID which means that after bulk uploading them, you then have to pull down a list of all the product ids and variant ids and feed that info into your database so you can then reference them by shopify's internal ids instead of some kind of parentid or sku set by the merchant. 批量上传无法处理大于几兆字节的CSV文件,并且在未来的API调用中通过API引用批量上传的产品,您必须指定shopify产品ID,这意味着批量上传后,您必须下拉所有产品ID和变量ID的列表,并将该信息提供给您的数据库,以便您可以通过shopify的内部ID而不是商家设置的某种parentid或sku来引用它们。

All in all, it's a total nightmare to deal with. 总而言之,这是一个彻头彻尾的噩梦。 By contrast it takes about an hour for me to upload and process a full product feed via Amazon's API, including 6000+ parent products with 60,000+ child variants and 60,000+ images. 相比之下,我需要大约一个小时的时间才能通过亚马逊的API上传和处理完整的产品Feed,其中包括拥有60,000多个儿童版本和60,000多张图片的6000多种母版产品。 Amazon's API is annoying for different reasons (it takes 5 separate feed formats to upload all the product info and their documentation could make a grown man cry), but at least it's generally fast and capable of processing thousands of products in under an hour. 亚马逊的API因各种原因而烦人(需要5种不同的Feed格式才能上传所有产品信息,而且他们的文档可能会让成年人哭泣),但至少它通常很快,能够在一小时内处理数千种产品。

Amazon's API also provides mechanisms for bulk updating prices and inventory quantities and updating product data by a merchant-defined identifier such as an SKU which means that it takes about 5 minutes for Amazon to update quantities and prices for my entire inventory without any of the hassles of mapping ids back to products in our internal systems just to be able to reference them 1 at a time. 亚马逊的API还提供批量更新价格和库存数量以及通过商家定义的标识符(如SKU)更新产品数据的机制,这意味着亚马逊需要大约5分钟来更新我的整个库存的数量和价格,而不会有任何麻烦将id映射回我们内部系统中的产品只是为了能够一次引用它们1。

Also, the fact that there's no way to tell the Shopify product API to replace a product with a duplicate handle instead of creating a new one means that if my script times out or the API chokes due to a communication error (or like today when the API mysteriously began return 404 errors for several hours) and I have to restart multiple times, I end up getting duplicate products which are then very annoyingly difficult to track down and eliminate. 此外,没有办法告诉Shopify产品API用​​重复的句柄替换产品而不是创建新的产品,这意味着如果我的脚本超时或由于通信错误导致API窒息(或者就像今天的API神秘地开始返回404错误几个小时)并且我必须多次重启,我最终得到重复的产品,然后非常难以追踪和消除。

All of this together makes for a miserable experience for anyone who has to manage more than a few hundred products via the Shopify api. 所有这些共同为那些必须通过Shopify api管理超过几百种产品的人带来了悲惨的体验。 Telling developers that it's their own fault for not wanting to jump through all these hoops indicates that Shopify devs are either lazy or just totally out of touch with how developers need to use the API. 告诉开发人员,不想跳过所有这些环节是他们自己的错,这表明Shopify开发人员要么懒惰,要么完全不了解开发人员如何使用API​​。

Were I not already 3 weeks into my 2-week integration and theoretically just hours away from launching a new site I would be ditching Shopify at this point. 如果我已经进入为期2周的整合已经有3个星期了,理论上距离推出一个新网站还有几个小时的时间我就会放弃Shopify。 This project is now more than a week overdue entirely because of how cumbersome the product API makes managing large numbers of products. 由于产品API管理大量产品的繁琐程度,这个项目现在已经过了一个多星期了。 And forcing users to come to Stackoverflow to post API questions where they can't even comment without having a certain reputation score....I could go on and on. 并迫使用户来Stackoverflow发布API问题,他们甚至无法评论而没有一定的声誉评分....我可以继续下去。 Don't even get me started about the lack of a discount/promotion api, or the inability to create users via the API that can log in without an admin manually going to the shopify backend and clicking a link for every user they want to activate. 甚至没有让我开始关于缺少折扣/促销API,或无法通过API创建用户,无需管理员手动进入shopify后端并为每个要激活的用户单击链接。

Every time I think I'm going to be able to get something done with this API it turns out the be a clusterf$%*!. 每次我认为我能用这个API完成一些事情就会发现它是一个clusterf $%*!。 But hey, it MUST be an awesome API because it's all done in Ruby using REST principles...oh goody! 但是,嘿,它必须是一个很棒的API,因为它都是使用REST原则在Ruby中完成的......哦,好! Sigh. 叹。 I'll take an ancient SOAP based api over this any day, but it's too late for me to ditch this project and start over now. 我会在任何一天采用一种古老的基于SOAP的api,但现在放弃这个项目并重新开始为时已晚。 Double sigh. 双重叹息。

One thing to keep in mind is NAV 2013 is right around the corner. 要记住的一件事是NAV 2013即将来临。 This release includes support for Odata which will likely make the Shopify integration substantially easier since JSON will be the common data format. 此版本包括支持的OData ,这将有可能使得Shopify整合实质上更容易,因为JSON将是通用的数据格式。 However, all of the various details involved in full-circle sales transactions ensure such an integration into an ERP system (not just NAV) is going to be a significant effort. 但是,全圈销售交易中涉及的所有细节都确保了这种与ERP系统(不仅仅是NAV)的集成将是一项重大的工作。 Be prepared to see some expensive quotes from your NAV partner unless your needs are extremely narrow. 除非您的需求非常狭窄,否则请准备好从您的NAV合作伙伴那里看到一些昂贵的报价。

Looking at the API documentation for Shopify, it appears it would be quite straight forward to synchronize data between NAV and Shopify. 查看Shopify的API文档 ,看起来在NAV和Shopify之间同步数据非常简单。 In NAV, there is no built in way to work with the Shopify API, instead NAV offers only the building blocks for generalized integration with other systems. 在NAV中,没有内置的方法可以使用Shopify API,而NAV只提供与其他系统进行通用集成的构建块。 So you will need to get a quote from an NAV partner to determine the cost for them to write the integration. 因此,您需要从NAV合作伙伴处获得报价,以确定他们编写集成的成本。

The cost will depend on how many entities you need to synchronize between the two systems, and which version of NAV you are using. 成本取决于您需要在两个系统之间同步的实体数量,以及您正在使用的NAV版本。 If you are on NAV 2009 R2 (the newest release), the partner can write .NET code which runs in the NAV server to call Shopify directly. 如果您使用的是NAV 2009 R2(最新版本),合作伙伴可以编写在NAV服务器中运行的.NET代码,直接调用Shopify。 If you are using an earlier version, the partner would need to use COM or CFront instead, which is a little more work. 如果您使用的是早期版本,则合作伙伴需要使用COMCFront ,这是一项更多的工作。

My 2 cents is that when I tried to integrate Shopify to Navision I ran into the fact that it requires SOAP. 我的2美分是当我尝试将Shopify集成到Navision时,我遇到了它需要SOAP的事实。 If you have no experience with SOAP, consider yourself lucky. 如果您没有使用SOAP的经验,请认为自己很幸运。 It is an expression in how not to do Internet Computing in an elegant fashion. 它表达了如何不以优雅的方式进行互联网计算。 It is confined to proprietary Enterprise systems, no surprise there, like Microsoft sells. 它仅限于专有的企业系统,毫无疑问,就像微软销售的那样。 No one else would bother supporting that software poo. 没有人会打扰支持那个软件便便。

As long as you toil with .Net C# or Java and have experience with SOAP, bridging Shopify to Navision is likely a simple task. 只要您使用.Net C#或Java并且具有SOAP经验,将Shopify桥接到Navision可能是一项简单的任务。 For anyone else that works with the modern Internet using HTTP to transfer data as XML or JSON, the transition to SOAP should be reason enough to run away screaming. 对于使用HTTP将数据作为XML或JSON传输的现代互联网的任何其他人来说,过渡到SOAP应该足以让人们尖叫起来。 Again, just my 2 cents. 再说一次,我的2美分。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM