Calling getOnlineUsers() api results in 1 request + 1 callback. So it will be 2 api call. There are two ways to achieve your second requirement which is getting the user info of all active users.
When user connects to the server, you can set the user info as custom data using setCustomUserData API. Now when a user fetches the list of active users then youo have to call getLiveUserInfo for each and every users.
Another way is to store the user info in App42 Coud API storage service and when you have the list of active users, you can fetch the user info from App42 Storage.
Please let me know if you have any queries.