How to design an API: best practises, concepts, technical aspects When I started to design Piwik I read a lot about APIs, software architecture, service oriented architecture ( soa ), etc. I really wanted to design a modular architecture that would make it easy to request any data and perform any action from outside the user interface. Technically speaking, Piwik has been built on the top of Apis. Everything that does some logic in Piwik is available through an API. We basically open all these APIs via a REST API. Of course you must authenticate for some calls eg. when deleting a user. In ther user interface, the AJAX requests are directed to the API module that returns data in HTML or JSON format (javascript friendly). Main concepts I tried to apply when designing the API: Easy to learn ; the documentation provides simple examples, complete documentation Easy to use ; single entry point, standard parameters Hard to misuse ; explicit error message suggesting ...
Content suppressed by ://URLFAN, for full article visit source