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