com_api is an extension that adds RESTful APIs to Joomla. APIs bridge a key gap in Joomla - being able to create Mobile apps and also create decoupled frontends using tools like AngularJS. These are of course the simplest use cases. You can build powerful integrations with other systems and automate a lot of your workflows with APIs.
You can install com_api like any other extension, and extend it easily using the plugin system. Plugins already exist for articles, categories and users. Plugins also exist for some 3rd party extensions like Easysocial and Easyblog. It is easy to write your own plugin, in fact we encourage you to develop and share plugins for unsupported extensions. The com_api component and most plugins are available for free.
Plugins currently exist for Joomla articles, categories and user management.
Plugins for extensibility
It is very easy to expose existing functionality by adding plugins and API resources. In fact if your code is ready in the form of models / table classes it is very convenient to create a plugin that provides the same via an API endpoint. More information about developing your own plugins is available in the documentation
Once enabled, the request logs will help you trace incoming requests since they will be logged into the database. This will help debugging any issues faced by API consumers.
It's possible to rate limit the API calls made by a consumer to avoid misuse of the APIs.
Configuration is provided to enable/disable CORS support for APIs. It is also possible to specify specific domains for which CORS is enabled.
For those who want to start using it right away & want commercial support or need custom plugins or applications developed to use the api in your own unique way, feel free to contact us. We can help you extend this in the best way possible. Contact us today for a discussion
Community Help & Discussions
To help foster a developer community around this project, we have opened up a forum to discuss the REST API Project. Do jump on to the forums !
The component code is available on Github. Developers are welcome to send in Pull Requests for features and bugs. If you want to build a feature, we encourage you to post an issue first so that it can be discussed appropriately to arrive at a sound technical design for the feature. That way the feature can be generic and easily merged into the code.
I just love this extension!!! It is doing wonders for our social ecommerce community in Mythos360.com; now everything people does in our massive website goes straight to their own timelines in other social networks!