I am trying to build an integration between my online inventory system and Magento. However I am a bit lost in the terminology.

Do I need to build the plugin from my app, that will connect to the Magento account? Or will I need a plugin to Magento that will push data to my app?

  • You'll probably just want to look at a direct database connection.
    – SR_Magento
    Feb 5, 2015 at 20:34

2 Answers 2


If possible go with Magento's native API (with extensive documentation). This won't be able to push but you can pull data out.

Make sure you don't request the API to much as this will slow down the Magento installation. For example; updating products will set off the flat product data indexers which can be pretty heavy on the system.

If the API is too limited you can either extend the API with the methods / data you need

Or if you want to actively push changes from Magento use Observers

You can submit your module to http://www.magekarma.com/ for a code review or turn to the community for help if you're doubting the use of a certain solution

  • Thanks for the answer. I guess I would need both. Pulling from my app. Also pushing from Magento, and this can be done through a module right?
    – MBen
    Feb 5, 2015 at 18:39
  • I would do pushing through your module, pulling data via the API. keep as close to native Magento as possible. By the way, cool platform. I'll take a look at it during the weekend Feb 5, 2015 at 18:41
  • exact. Thanks I will start looking how to do this. Looking forward about you think of my app :-)
    – MBen
    Feb 5, 2015 at 18:42

You can do it either way:

  1. You can develop an module at Magento store owners will install on their store through FTP, etc. OR
  2. You can make your app on your own server and pull/push from the REST api that each store has. This doesn't require a Magento extension. You'll need Magento stores to make an API account for you in their store (from the System menu option), then provide you with the credentials and the store address.

Option #1 definitely gives you more control, but #2 is way easier to maintain.

Hope that helps!

  • Thanks Jay. Option one will require me to learn PHP :). I will start with option two.
    – MBen
    Feb 5, 2015 at 18:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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