Retrieve Control Status for Collection Jobs
Scenario Overview
The GetCollectionControlStatusPerDevice
API provides insights into the control status of devices and sensors within a collection job. Tracking control status helps ensure that control paths are properly configured, allowing successful data collection and analysis in CNC.
The GetCollectionControlStatusPerDevice
API provides a detailed view of the control status for each device within a collection job.
This API allows you to track the control status of all devices managed by the Collection Service API for a given collection job.
It also returns information about whether the control path state has been successfully set up per device and per sensor in the Helios database.
To use this API, you must specify either an ApplicationContext
or a device ID
in your request.
The operations in the following API references are used in this example.
Prerequisites
Before running this example, ensure that you have obtained an access token. Refer to the 'Getting Started' section for instructions.
Get Control status for Collection Job
To retrieve the control status for a collection job, update the collection_job_controlstatus_query.json
input file with the required details (e.g., ApplicationContext or device ID), then run the collection_job_controlstatus_query.sh
script from the example directory.
Navigate to the cnc-collections-api-examples
directory and run the collection_job_controlstatus_query.sh
script using the following command:
cd cnc-collections-api-examples;./collection_job_controlstatus_query.sh
Script Details
#!/bin/bash
# Import common API functions and environment variables
# This script reads input from the .json file located in the input directory.
# Upon successful execution, the output is saved to the .json file in the output directory.
. ./cnc-api-common.sh
collection_job_controlstatus_query() {
# Step 1: Ensure the CNC JWT is obtained by running the get-cnc-jwt.sh script.
# Read the JWT from the file and export it as the AUTH_TOKEN_HDR environment variable.
export_jwt
# STEP 2 : Update the input json with details of job for which you want the control status in the file CNC_API_INPUT
# STEP 3 : Retrieve control status for collection job from the server and store the output in CNC_API_OUTPUT file
CNC_COLLECTION_API=$CNC_COLLECTION_API_CTX/collectionjob/controlstatus/query
CNC_API_INPUT="@$PRJ/input/collection_job_controlstatus_query.json"
CNC_API_OUTPUT="$PRJ/output/collection_job_controlstatus_query.json"
# Step 4: Send a POST request to retrieve the control status and store the response in the output file.
http_post $CNC_COLLECTION_API $CNC_API_INPUT $CNC_API_OUTPUT
}
collection_job_controlstatus_query