AlisQI API overview
You want quality to be an integral part of your operation. Quality management should be omnipresent in every inch of your processes. To make it as efficient as possible, it needs to be integrated into your digital business processes as well. AlisQI is a modern, cloud-based Quality Management System that is designed to fit into a bigger IT infrastructure.
AlisQI provides an Application Programming Interface (API) to both READ and WRITE all data in the system. This covers all master data as well as transactional (laboratory or quality) data.
It is important to note that the AlisQI data model is largely user defined. During the onboarding, users mimic their operation by creating their own data model. Every table and field in this data model is accessible thru the API. However, as there is no generic structure this documentation can only discuss the general principles. Detailed documentation for a specific installation is available in the app.
This article tells you all about integrating your QMS with external systems or devices using the API.
In this article
One minute intro
Technique
The API sends JSON over HTTPS.
The actual data structure depends on the definition of the analysis-set involved. See the in-app documentation below for more details for your specific analysis sets.
Endpoints
The AlisQI API offers several endpoints. Currently, these are:
- getAllSets
Get the definition of analysis sets and/or selection lists. This is a wrapper around getSetDefinition, returning the definition for multiple sets or lists. - getResults
Retrieving data from AlisQI, either master or transactional data - storeResults
Sending data to AlisQI, either master or transactional data - getSpecificationVersion
Retrieving specification data from AlisQI, only applies to transactional data - storeSpecificationVersion
Sending specification data to AlisQI, only applies to transactional data - getSetDefinition
Retrieving metadata on the analysis-set, this is available for all sets in the data model, either both master or transactional data - getStatistics
Get descriptive statistics for a data set within an analysis set - getSpecificationEvaluation
Get process capability and performance indicators for (a) product(s).
Documentation
Since all API endpoints deal with user-defined analysis-sets in AlisQI, there is no generic API documentation.
Each endpoint has a few generic parameters. The payload of the API calls however fully depends on the user-defined structure of the analysis-set involved.
Full documentation is available for every analysis-set and selection list within the application. This documentation can be opened from the Results overview:
Menu » Management » Integration hub
AlisQI works with UTC for all date(time) fields. This applies to all date fields. Provide dates in UTC, they will be converted to the user timezone in the AlisQI user interface.
Authentication
All API calls are subject to authentication. In order to invoke the AlisQI API endpoints, developers need to create an authentication token.
The API supports the Bearer authentication specification. See our GitHub repo for example code.
Authentication tokens
Each token is connected to a single user. The READ/WRITE permission this user has for analysis-sets (via its user group), also applies to the API invocations. More information on the user and permission management in AlisQI.
API authentication tokens can be managed from the Integration hub.
To create a new token, click the "+ Create new token". A new panel appears.
In the panel, select a user account, provide a name and click save. When you access the API using this token, you can perform any actions that the selected user has permission for. For example, if you select a user who only has read access to a particular analysis-set, you will not be able to use the storeResults operation using that token.
Note that tokens are not synchronized between AlisQI installations. For example, if you have a test or validation installation, you will need to create fresh tokens to access the API.
You can also specify an IP address whitelist for each token for added security.
It is possible to add multiple tokens for a single user account if desired.
We strongly advise creating a separate user account per integration and to deactivate this user. This way, the account can only be used for API invocations.
For security reasons we do not present the full token in the UI. You will only see the token once after it has been created.
Permissions
The API uses the standard permission management system to validate requests.
Since an authentication token is linked to a user, each API call is validated against the permission this user has granted to its user group.
Only analysis-set permissions are relevant in the context of the API.
Integration hub
The Integration hub is your default go-to point for everything related to system integration. It includes links to the API documentation, logs and authentication tokens.
Usage limits
Requests that hit the rate limit will have a status code of 429 Too many requests
.
All responses include the following headers with explicit numbers on the limits and remaining calls.
X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-Retry-After
If you are impacted by this unexpectedly, it may be that something is misconfigured with an integration that you or your technical support team have built on top of AlisQI.
To debug problems in your integration scenarios that are or can be caused by rate limits, please go through this checklist:
- Consult your integration specialist to inspect the API calls and return headers
- Open your AlisQI integration hub to learn about the concrete rate limit applied to your installation
- Inspect the API log in the AlisQI integration hub, to determine the number of requests per minute.
- Inspect the API request return headers, to see if they contain the
429 Too many requests
status call - Inspect individual API request return headers to assess the
X-RateLimit-*
headers - Assess whether you can improve the integration by reducing duplicate requests, or by combining multiple results in a single storeResults call. Feel free to reach out to AlisQI support to discuss the capabilities of our API regarding caching and processing multiple results.
- If your integration scenario is optimized but legitimately requires more calls per minutes, please reach out to AlisQI support to discuss possibilities to raise the limit.
Developer portal
To support developers in creating integrations with AlisQI, we launched a developer portal (developer.alisqi.com). This portal is designed to empower developers with comprehensive resources, tools, and documentation to make the most of the AlisQI platform.
Besides static documentation on the API and other integration features, this portal offers an interactive API playground. Test your API calls in a sandbox environment directly from the portal, ensuring a smooth development experience.
Whether you're a seasoned developer or just getting started, the AlisQI Developer Portal offers the tools you need to integrate quality management in your digital business processes.
Example code
In our Github repository we collect examples of how to use the AlisQI API in many languages. These are meant to illustrate the ease of use, and to help you avoid common pitfalls.
AlisQI Academy
Master Data management course
When deploying a QMS it needs to be tailored to your business processes and product catalog. Creating a good data model for your master and transactional data is key in creating the perfect fit for your QMS.
Our academy features courses, training, and guides that can help you to improve your Quality Management skills and knowledge. Enroll for free