Data export API
Qarma supports file-based data export for further analysis outside Qarma. This is useful for:
Business Intelligence applications showing dashboards, deep analysis of inspection data and supplier scorecards
Bulk updating order status in ERP systems (this can also be accomplished using the event-based API)
Updating order booking systems with status and dates for inspections
Of course, there are many other applications. Overall, the API supports defining data export runs which will be running at scheduled intervals, delivering files that can then readily be downloaded through a URL which includes an API key.
Getting access
You can access the data manually or programmatically. To extract data manually, please go to the Data export page and you will be able to make a one-time extract of the data.
To get an API key and URL for continuous integration of the data, please contact Qarma Support, noting the parameters you would like to base the export data on.
Parameters
The parameters are:
Name | Description |
---|---|
Date start and Date end | The start date can be a specific date or a relative date (for example The date filter will be based on dates according to their status:
Please note that since Qarma supports off-line operations, there can be a delay between the actual end date as measured on the mobile device and the time the data is available at Qarma’s server. This means if you filter for a daily extract of data, it needs to include data several days back to be sure all data is included. |
Type | Inspections or Audits |
Extra data | The basic data that is always exported is a list of inspections or audits, depending on type. In addition, the following data can be included:
Only include checkpoints and defects if they are used, since they will contribute significantly to the size of the export file. |
Status | Select one or more statuses:
|
Interval | Define how often the export job should run. This is quite flexible, so you can decide every day at 20:00, every Monday at 06:00, etc |
Data format
Data is served as both Excel and a set of CSV files. The content is the same. The Excel file will contain one or more sheets, depending on the Extra data parameter defined above. For each sheet, there is a corresponding CSV file.
Due to limitation on the number of rows in Excel files, we recommend large file integrations to be based on CSV files rather than Excel files. If Qarma exports data with more than one million rows, no Excel file is generated, and only CSV files will be available.
Combined inspections
In Qarma, inspections can be combined. This means that it’s possible to create one inspection report out of inspections from different orders, or different items on the same order.
Combined inspections are represented in the inspection list by the inspections they are based on. So a combined inspection based on two inspections, one from order A and one from order B, will be represented as two records in the inspection list. They will have separate Inspection ids
but share the same Report inspection id
(for inspections that are not combined, they two ids are identical). Some properties are pertaining to the combined inspection, for example the Actual sample qty
and the defect counts, so you need to take care when summarizing these values. In that case, sample values should be counted only once for each Report inspection id
.
Checkpoints can be related to either the overall combined inspection or the underlying inspections. This means that relations between the checkpoints table and the inspections table need to mapped from the Inspection id
field of the checkpoint table to both the Inspection id
and the Report inspection id
.
Defects are only logged for the overall combined inspections, so the defects table can be mapped to the Report inspection id
.
Inspections format
The following fields are available for inspections:
Name | Description |
---|---|
Inspection id | Unique id for the inspection |
Report inspection id | For combined inspections, this is the common id for all the inspections involved. For single inspections, the |
Status | Can be |
Order number | The order number |
Order line id | This is the order line id used for data integrations to uniquely match order lines. |
Item number | The item number |
Item name | The item name |
Supplier number | The supplier number |
Supplier name | The supplier name |
Inspection type | The type of inspection performed, e.g. Final or Inline. |
Checklist name | The name of the checklist used to perform the inspection. |
Inspector conclusion | The conclusion which the inspector selected when submitting the report. |
Conclusion | The final conclusion chosen. This can differ from inspector conclusion if for example there is an approval flow. In most cases this is the conclusion to use for downstream analysis. |
Inspector comment | This is the comment made by the inspector when submitting the inspection from the app. |
Inspector name | The user name of the inspector that performed the inspection. |
Inspector email | The email of the inspector. |
Supplier qc | Will be TRUE if the inspector is member of the supplier’s group. |
Etd | Estimated Time of Departure. |
Inspection start time | The time when the first action was taken by the inspector (this could be taking a photo, marking the status of a checkpoint etc. ). It does not reflect the time of download. |
Inspection end time | The time when the inspector submitted the inspection. Qarma supports off line operations, so there can be a difference between the |
Scheduled inspection date | When the inspection is planned. |
Actual sample quantity | The sample qty is the number of pieces to be checked. Normally calculated based on AQL , but depending on permissions, this can be changed by the inspector. |
Quantity available | The number of pieces available for the inspector. For split shipments, this will be the total qty for a specific shipment. |
Quantity available source | Possible values are For combined inspections, the value can apply either to each individual inspection or the combined inspection as a whole, depending on how it was set by the inspector. |
Original total quantity | The original qty on this order as derived from data integration with Qarma, or as manually set on the website prior to inspection. |
Original sample quantity | The sample qty is the number of pieces to be checked. Unless the inspector makes changes during inspection, the |
Re-inspection of | Shows the Report inspection id of the former inspection, e.g. if this is the 2nd inspection, then this field contains the 1st inspection's Report inspection id. |
Split shipment of | Shows the Report inspection id of the inspection that was split. |
Sequence identifier | A textual representation of the inspection sequence, derived from re-inspections and split shipments. For split shipments it will be marked with letters A-Z, and re-inspections with numbers. As an example, B2 means a re-inspection of the second split shipment inspection. |
Link to report | Can be used to open the report in Qarma |
General minor defects | Number of general defects classified as minor |
General major defects | Number of general defects classified as major |
General critical defects | Number of general defects classified as critical |
Minor defects pieces affected | Number of pieces affected by normal defects classified as minor |
Major defects pieces affected | Number of pieces affected by normal defects classified as major |
Critical defects pieces affected | Number of pieces affected by normal defects classified as critical |
Actual sampling method | The sampling method used for the inspection. If the inspector changed the sampling method, the original one is listed in |
Original sampling method | See above |
Minor defects threshold | The number of minor defects allowed according to AQL |
Major defects threshold | The number of major defects allowed according to AQL |
Critical defects threshold | The number of critical defects allowed according to AQL |
Production unit number |
|
Production unit name |
|
Production unit address |
|
Latitude | Tracking based on the last photo taken in this inspection |
Longitude | Tracking based on the last photo taken in this inspection |
Accuracy | For the GPS coordinates, this is the accuracy |
Booking date |
|
Booking note |
|
Booking last confirmed at |
|
Open corrective actions |
|
Resolved corrective actions |
|
Total corrective actions |
|
Checkpoints (inspections)
The following fields are available for checkpoints on inspections:
Name | Description |
---|---|
Checkpoint id | The id of the inspection’s checkpoint. It's unique to the inspection, meaning that the same checkpoint on another inspection will have a different |
Master checkpoint id | The id of the master checkpoint. This will only appear for combined inspections where the inspector has made an action on the sub-checkpoint level. This means several |
Checkpoint type | Shows the type of checkpoint, e.g. |
Inspection id | Unique id for the inspection. |
Report inspection id | For combined inspections, this is the common id for all the inspections involved. For single inspections, the |
Checkpoint header | The name of the checkpoint-header in the checklist. |
Checkpoint | The name of the checkpoint (often a sub-level to the |
Status | The reported status of the checkpoint by the inspector. |
Comment | The inspectors comments given when setting the status of the checkpoint. |
Multiple choice | The value selected if the checkpoint is a multiple choice. |
Score | The score if the checkpoint is a multiple choice. |
max score | The maximum score possible to obtain for a checkpoint with multiple choice. |
Raw data | The raw data of the entire checkpoint presented in json format. |
Defects (inspections)
The following fields are available for defects on inspections:
Name | Description |
---|---|
Report inspection id | The id of the report that map to the |
Defect id | The id of the reported defect. This id is unique to this record, not to be confused with the defect code. |
Checkpoint id | The id of the checkpoint where the defect was reported (can be empty). |
Defect severity | The severity selected for the reported defect: |
Quantity affected | The quantity affected by the reported defect. For |
General defect | Is it a general defect or not; If "false" then it's not a general defect, if "true" then it's a general defect. |
Code hierarchy | This information is presented in a json format. It shows the hierarchy of the defect code that was reported, showing all the levels above the reported defect. |
Top defect type code | Shows the defect code of the top level for the defect that was reported. |
Top defect type name | Shows the defect name of the top level for the defect that was reported. |
Parent defect type code | This will only have a value of you have a 3-layered defect list. Then it will show the name of the mid-level defect. |
Parent defect type name | This will only have a value of you have a 3-layered defect list. Then it will show the code of the mid-level defect. |
Defect type code | Shows the code of the reported defect. |
Defect type name | Shows the name of the reported defect. |
Defect type description | The description of the defect type |
Comment | Textual description of the defect made by the inspector. |
Audits
The following fields are available for audits:
Name | Description |
---|---|
Audit id | Unique id for the Audit. Used to map the Audits sheet with Checkpoints. |
Status | Can be |
Planned date | The planned date for performing the audit |
Audit start time | The time and date the first action was taken on the Audit. |
Audit end time | The time and date the Audit was submitted |
Supplier name |
|
Supplier number |
|
Auditor name | Name of the user who performed the Audit |
Auditor email | Email of the user who performed the Audit |
Production unit name |
|
Production unit number |
|
Production unit address |
|
Latitude | Tracking based on the last photo taken in this inspection |
Longitude | Tracking based on the last photo taken in this inspection |
Accuracy | For the GPS coordinates, this is the accuracy |
Auditor comment | Ending comment made by auditor |
Checklist name |
|
Link to report |
|
Audit type |
|
Checkpoints (audits)
The following fields are available for audit checkpoints:
Name | Description |
---|---|
Checkpoint id | The id of the Audit’s checkpoint. It's unique to the inspection, meaning that the same checkpoint on another inspection will have a different |
Checkpoint type | Shows the type of checkpoint, e.g. |
Audit id | Unique id for the Audit. Used to map the Checkpoints sheet with Audits. |
Checkpoint header | The header from the checklist. |
Checkpoint | The title of the checkpoint |
Status | Status of the checkpoint, e.g. |
Comment | Comments made on the specific checkpoint |
Multiple choice | The value selected if the checkpoint is a multiple choice. |
Score | The score if the checkpoint is a multiple choice. |
Max score | The maximum score possible to obtain for a checkpoint with multiple choice. |
Raw data | The raw data of the entire checkpoint presented in json format. |