Forum Discussion
The short answer is, YES, absolutely. All you need is to leverage the Quickbase API in your custom web application and you don't need the Quickbase front-end product, except as an "admin/developer/workflow manager" to manage the data, database schema, compose Pipelines, manage roles and users, and create tokens. This is basically the same as building a web app around a cloud-based database, except that the Quickbase tools are pretty exceptional for managing your data and database roles/users. And it's so much easier to model relationships in Quickbase compared to most cloud databases.
You do not need to enable the Everyone On the Internet role to accomplish this, unless it is more covenient for some reason, or to accesss certain tables without authentication. Instead, I typically hard-code a user token in my server-side code to authenticate API calls, or use dynamic authentication.
Here are a few quick tips based on my extensive use of the API for server-side scripting and web applications:
- Highly recommended, in a JavaScript environment, is Tristian Flanagan's quickbase library of tools. You can access them through github and npm. They are well developed and mirror the XML and JSON APIs fairly well.
- v2 quickbase module to access XML API: v.2 XML API
- v5 quickbase module to access JSON API: v.5 JSON API
- If you don't want user tokens or sensitive info in your app, I recommend using a full-stack app or implementing your own server side API to broker API calls as middleware.
- Whether using the quickbase library, or making your own HTTP requests, you will find that the JSON API does not always contain endpoints for all your needs, and so sometimes you are forced to mix in requests to the older XML API.
- You can build a login screen and use the API authentication endpoints if your app needs to be secured, and then manage your sessions using classic web development techniques.
- Be mindful of your account usage, and monitor the total number of API calls and your overall status. You can reduce the overhead by using cacheing to minimize requests, but of course, this doesn't work if your data changes rapidly and you need fresh data for every HTTP request. In my organization, we are about two-thirds into our contract period, but fortunately only have used about one third of our total reads.
- File attachments can be downloaded and uplaoded easily with the JSON API, and this is often much easier with the quickbase library mentioned above.
- JoseBaez2 years agoQrew Trainee
Hi. Awesome info! I'm afraid I'm a newbie to this kind of setup though. What are the chances we can connect on a conf call at your earliest convenience so I can pick your brain a little? I have a use case for something like this but not sure where to start.
------------------------------
Jose Baez
------------------------------