Search code examples
androidjsonmagentomagento-rest-apimagento-soap-api

Android app for Magento store using REST or SOAP?


I am developing android app for Magento online store. I have read many blogs, SO questions before asking this question. I found that REST is much more better then SOAP. Because of JSON and advantage over SOAP's overheads etc.

But at some where I found that Magento developer doesn't provide all the functions for REST APIs. I don't know it's true or false.

If I develop android app using REST then, Is there any cons about which I should have to take care?

I found detail info about SOAP vs REST on this post

This question is already asked on SO but it's still unanswered!


Solution

  • REST would definitely be easier option to develop your app with I am sure there will be many libraries available for you to deal with REST endpoints in android ecosystem. But a huge disadvantage magento REST has that you cannot implement a checkout with it. You can only retrieve order which are already placed in the system not add orders http://www.magentocommerce.com/api/rest/introduction.html#RESTAPIIntroduction-SalesOrders

    SOAP will be a little tedious to implement but it has all the features you would require to build an android app for magento. Though SOAP as a protocol has its own issues. But this still requires some modifications to the SOAP API, as there are some bugs I had discovered which had to be patched in magento for the SOAP to accurately work.

    If you develop the app for magento in REST API protocol there are a lot of considerations to be taken care of. Especially in regards for Magento shopping cart price rules, catalog price rules, custom shipping methods, custom payment methods, these aspects of magento won't work as expected unless you make your app handle this correctly.

    This is taken care somewhat if you using SOAP as it actually creates a backend cart in the magento system which will follow all the business rules specified in the magento backend. But you will soon find that its not behaving as expected and would need to modify some aspects of SOAP API in magento so that your app can make a checkout correctly.

    I know all this information for making apps with magento API because I am working on a product which solves this problem https://crunchcommerce.com/sdk/. We have built an SDK which has almost all the features of magento desktop to be used for mobile. Hope my answer helps you decide correctly.