23

I want to create iOS and Android apps for my Magento store.

For this purpose I want to know which API method is best as app data API.

Please suggest below of option of Magento:

I have read Alan Storm's answer. As per his suggestion my third option is best.

But I want to know which process for best for below condition:

  1. Authentication
  2. Faster Data fetch
  3. Faster development

Please help me. Describe briefly

  • 2
    You might be interested in this answer regarding SOAP & REST performance: magento.stackexchange.com/a/54476/231 – Anna Völkl Jun 19 '15 at 7:21
  • @AnnaVölkl,thanks for links.. i will check – Amit Bera Jun 19 '15 at 7:25
  • 2
    I guess the general answer is: "It depends". It depends on which functions your app needs (they are different between SOAP & REST API) Not everything is impemented for the REST API. 1.) SOAP uses it's own "login" method, REST uses oAuth. 2.) SOAP is quite "heavyweight" but really common for enterprise usage. REST is faster once logged in. 3) depends on what you already know. – Anna Völkl Jun 19 '15 at 7:27
  • @AnnaVölkl.thanks for your suggestion. As per your suggestion for my requirement ,rest-api is best.. Because of , i can use oAuthas authorization between magento plat form and apps platform ... What you say Anna? – Amit Bera Jun 19 '15 at 8:12
  • AnnaVölkl ,If i i use Custom module then what would be wrong. in one case . As my throught , that may be loggin process – Amit Bera Jun 19 '15 at 10:03
11
+25

REST API

Reasons:

  • it is much easier to implement than SOAP as PHP notoriously does not always follow the same standards as - for instance - Microsoft products do. Also, dealing with SOAP implies dealing with XML, namespaces and WSDL. Of course it will work, if done properly, but the cost of developing this for iOS would be greater;
  • SOAP is based on XML, and requires downloading (and perhaps caching) of a service definition file (also XML), and XML is mostly more verbose and therefore more bandwidth-consuming than REST data encoding, not to mention memory usage for parsing (if you use DOM parsers), decoding and in-memory object-based tree-like document representation. REST, at the other hand, is much less bandwidth and memory consumptive, which makes it more suitable for mobile devices;
  • JSON would be great, but that would require for you to implement a whole new API interface at Magento side, which may have consequences with regards to Magento security as well, not to mention the complexity of it overall.

I would suggest to use the native Magento REST-based API, and eventually plug in it your custom services. This would be a more reliable (REST API is supported by Magento, it's tested by a wider range of customers, and Magento provides some updates - as security updates - for it along with releases) and cost-effective solution.

Good luck!

4

Answer:-SOAP API

SOAP (Simple Object Access Protocol) brings it’s own protocol and focuses on exposing pieces of application logic (not data) as services. It exposes operations and focuses on accessing named operations, each implement some business logic through different interfaces. That’s why SOAP is considered as successor of XML-RPC and also uses XML to encode its HTTP-based calls. Everything is done via HTTP POST request.

SOAP is mostly used for Enterprise applications to integrate wide types and no. of applications and another trend is to integrate with legacy systems. With that said, consuming SOAP should be an easy task. This is when WSDL comes in story.

  • 1
    Please do not copy from @Anna volki comments – Amit Bera Jun 22 '15 at 13:23
  • If you have answer. Then pkz explain all the things – Amit Bera Jun 22 '15 at 13:24
2

Both APIs have their shares of advantages and drawbacks as well. It is quite tough to be very precise as selection of API depends upon the requirement. I’d like to share certain basics that set these APIs apart. Hope it would help.

SOAP uses XML for request and responses which makes it complicated to us. REST uses shorter message formats making it comparatively faster

SOAP is quite heavyweight compared to REST

SOAP is language, platform and transport independent while REST requires HTTP

SOAP provides better assistance in error handling

REST is comparatively fast as there is no extensive processing required

REST is a designers’ delight

According to my personal experience I’ve been working with REST API for more than a year now. We are into mobile app building solution for Magento websites. We have a readymade framework call Contus Mcomm which can accelerate the mobile app building process of an ecommerce store. Everything looks fine for me with REST except its widely accepted drawbacks.

Not the answer you're looking for? Browse other questions tagged or ask your own question.