Web services to interact between Joomla backend and iOS/Android app - php

We just started to develop an app where we need to get some data from a Joomla backend. (Data would be company profiles. Those companies register on the Joomla webiste and the public information gets displayed in our app).
What is the best way to communicate between the app and the Joomla backend? The information from the database just has to be pulled once at the start of the app and maybe by manual refreshing.
So far I have read about REST API and SOAP as web-services. I played a bit around with examples from the internet but wasn't really successful yet. So could one of you give a simple explanation and a small example for the interaction between Joomla backend and an Android app e.g.

If you are looking for a pre-packaged solution to turn Joomla 3.5/3.6 into a Mobile Back-end as a Service (MBaSS) you may want to explore cAPI Core REST API.
https://extensions.joomla.org/extensions/extension/capi-core-rest-api
Please note that this is a commercial plugin which I developed. If you are OK with that, you may read on here for more information from a previously answered question:
https://stackoverflow.com/a/32706378/5361267
API Documentation can be found here:
http://learn.getcapi.org
Swagger UI Docs:
https://demo1.getcapi.io/api-docs
To answer your specific question about profiles, this extension will allow you to read and update profile data associated with any user. In addition to the built-in profile fields, the profile creation methods allow you to create and populate unique profile keys. While these might not be visible in the joomla interface (because they have to be defined in XML as well), they can be queried / updated remotely as needed.
PUT /user/profile/{id}
https://demo1.getcapi.io/api-docs#!/User/putUserProfileById

Related

What is the best way to achive realtime info on my website currently using php yii framework and django-rest for api with mysql

Here i have no idea, what to exactly use to get the real-time information on the web page on my already developed application. The real-time feature will be based on online Auction feature, as a bidder bids low/high amount all the concerned user should reflect the newer price on their window immediately without refreshing the web page.
Please suggest me the best way possible, my application based on:
PHP 5 frontend with yii 1.1.15 framework
Python django-rest framework for the rest api to fetch data from mysql database.
for this i have heard about the node js, but will it be possible using only node js without using mongodb/rethinkdb angular or express js or socket.io.
Why do you need bout Yii and Python? DRF is very easy to use and will provide the backend to provide a rest API and the front end can be something as simple as HTML/CSS/js to fetch data from the REST API. Yii will not add any value to this system.
You need to read up on how an API based system works works (which is what you are trying to do.

REST API to post to my users' WordPress website

So, I have a website where I am allow users to aggregate certain settings into readable html pages that can be emailed or copied in html to be shared elsewhere.
What I would like to do now is use REST API in order to allow users to post this content directly to their WordPress blogs (independently hosted or on wordpress.com). From my research, REST API is the best way to go about doing this. However, I cannot seem to find any reliable resources on how this is to be exactly implemented or achieved (or if it is 100% entirely possible).
I'm hoping there are one or two people who have had experience with this sort of thing and who can provide me with some guidance!
There is no standard REST interface to WordPress. However, WordPress does have an XMLRPC interface to post, edit, and otherwise manage content. Information on this interface is available in the WordPress Codex at:
https://codex.wordpress.org/XML-RPC_WordPress_API

Laravel 5 website and API using the same app

The application I am migrating into Laravel 5 is a website and its API.
The API is used for the mobile apps and for the website to pull the data.
The website will not be developed to be a Single Page App, because I already have all the views and I'm just migrating the website to Laravel 5.
How can I do the following without duplicating my code?
For instance, allow /products to list all my products using this API endpoint (/api/2.0/products).
The same applies to all other routes
Yes you can. I am currently doing this myself. Writing the base API first and then dogfooding it for my own website. There is a good laravel package called Dingo ( https://github.com/dingo/api ) that can give different output depending on where you call it from.
If you call it simply from api.yourwebsite.com/products you will get JSON. but if you call it internally like API::get('/products') you will get array/object whatever you're returning instead.
So I have a website that is using the API to render itself. This way, you only write the API once, and can use it for your frontend website, mobile, or give it to third party developers too.
I hope this answers your question. If you have any more questions, please let me know. Thanks
You can do it by creating repositories for your code.
Then create separate controllers for both APIs and Website. Through that your code doesn't duplicated and you can access that repository from both the controllers and return response accordingly.

Multiple instances/sessions of a web app codeigniter

I am new to backend coding but I am getting the hang of codeigniter. I have deployed the simple task board application hosted on github and everything is fine. As it stands this application uses sessions to create a single dashboard that can be shared by multiple users. I would like to be able to set this up so that a user could register and start their own dashboard. For simplicity it would be good if this new instance or session (not quite sure if I have the terminology right) could share the same database.
So my question is can someone tell me what I need to research in order to develop this? I dont think I have the right terminology to ask google or manuals for what I need.
I prefer you to use codeigniter session library and for dashboard, you may be stored much data in session, so use "Saving Session Data to a Database"
check this link : http://ellislab.com/codeigniter/user-guide/libraries/sessions.html

Joomla unified logins for forum and a custom made php sub-site

I'm building a site with Joomla where a forum should exist amongst other things. But also I plan to develop a custom made functionality (diary-like) with a php inserts (it really works, for example with jumi). The problem is that I suppose nobody will understand if the forum and this sub-site will have separated logins. I'd use an existing forum authentication for my code also, but I don't like the idea that the login will look like forum-only login. I see there are bridges exist (like JFusion), but should I choose one particular forum extension if I plan to use a particular bridge extension? And are bridges easy to access with custom-made php code?
If this is for a Joomla 1.5 website, you will want to create a user plugin that will log the user into your custom site as they log into Joomla. Take a look at plugins/user/example.php for an example user plugin. The onLoginUser function will be called just after someone successfully logs into Joomla. At this point, you'll have all of their data in the $user array that's passed into the function. You should be able to use this information to create a bridge into your external PHP application.

Categories