REST Web Services

This appendix covers the following topics:

Overview of Oracle Adaptive Intelligent Apps for Manufacturing REST Web Services

Representational State Transfer, or REST web services, provide interoperability between computer systems and the web. REST web services enable requesting systems to access and manipulate resources. There are two general categories of REST web services used in Adaptive Intelligent Applications for Manufacturing, inbound and outbound. Inbound web services enable a user to import data into Adaptive Intelligent Applications for Manufacturing tables from third party systems using the POST or PUT methods or to alter data using the DELETE method. Outbound web services enable a user to export Adaptive Intelligent Applications for Manufacturing data to third party systems using the GET method. Within the inbound and outbound categories, REST web services are further categorized into the sets of web services listed below.

Inbound Web Service Sets

Outbound Web Service Sets

The following tables show the web services included in each set and their available actions:

Inbound Web Service Sets
Set of Web Services Web Service Name Description
Factory Command Center Method exceptions Create/Update Exception (wipexception) Use to create an exception, update an exception reason, or to update an exception as resolved.
Only exceptions from Oracle Manufacturing Execution System for Discrete Manufacturing are automatically synchronized to the Factory Command Center Method page. Manufacturers using any other manufacturing execution system (MES), including Oracle Manufacturing Execution System for Process Manufacturing, must use a REST web service to import or synchronize their exceptions into the Method page.
Factory Command Center Manpower operators (person-type resources) Create Resource (createresource) Creates a resource.
Person-type resources defined in Oracle E-Business Suite (EBS) products used by discrete manufacturers are automatically synchronized to the Factory Command Center Manpower page, but discrete and process manufacturers (even if using process manufacturing EBS products) using any other system to track manpower must use a REST web service to import or synchronize person-type resources into the Manpower page.
  Update Resource (changeresource) Updates a resource.
  Find Resource (getresource) Finds a resource.
  Create Resource-Employee Association (createresempassoc) Associates a person to a resource.
  Update Resource-Employee Association (changeresempassoc) Updates a person resource association.
  Find Resource-Employee Association (getinstanceId) Finds a person resource association.
  Remove Resource-Employee Association (removeresempassoc) Removes the association between a person and a resource.
  Employee Job assignment (createempjobassignment) Assigns a job to an employee.
  Change/Update Employee Job Assignment (changeempjobassignment) Updates a job assignment.
  Find Jobs Assigned to Employee (getempassignmentforjob) Find jobs assigned to an employee.
  Find Employees Assigned to a Job (getjobassignmentforemp) Find employees assigned to a job.
  Resource Equipment association (createresequpassoc) Associates an equipment instance to a resource.
  Update Resource Equipment association (updatersrcequipment) Updates an equipment instance to resource association.
  Find Resource Equipment association (getreseqpassoc) Finds an equipment instance and resource association.
  Remove Resource Equipment association (removeresequipassoc) Removes the association between an equipment instance and a resource.
  Log Resource In Time (timelogresourceintime) Inserts a shift-in/clock-in record for an employee.
  Log Resource Out Time (logresourceouttime) Inserts a shift-out/clock-out record for an employee.
  Find Employee Shift-In Details (isresshiftedin) Find employee shift details.
Custom KPIs for Factory Command Center Define KPI Create a KPI.
  defineKPIValue Add a KPI value to a KPI.
  Update KPI Update a KPI.
  Delete KPI Delete a KPI.
  Fetch KPI List Fetch all KPI parameters.
  fetchKpisByCategory Fetch KPI's by category. Use the last parameter as a search parameter where you can pass a search string.
  fetchKpisByParamName Fetch KPI's by parameter name. Use the last parameter as a search parameter where you can pass a search string.
Custom Predictors for Insights and Predictions analysis Predictor Get Rest API Use this API to retrieve:
  • a list of all custom predictors.

  • a list of all custom predictors for a given organization.

  • details about a custom predictor.

  • details about a custom predictor based on the predictor's ID and organization.

  Predictor Insert Rest API Create custom predictor data.
  Predictor Update Rest API Update specific custom predictor details for a given custom predictor.
  Predictor Delete Rest API Delete existing custom predictor data.
  Data Get Rest API Either retrieves data for all predictors or retrieves data for specific predictor, based on Case ID or Job ID.
  Predictor Data Insert Rest API Creates predictor data details.
  Predictor Data Update Rest API Updates data details for a specific predictor.
  Predictor Data Delete Rest API Deletes specific data details for a specific predictor based on Case ID.
Custom events for Timeline Viewer Equipment Timeline REST API Creates additional events for the Equipment Timeline.
  Serial Timeline REST API Creates additional events for the Serial Timeline.
  Work Order Timeline REST API Creates additional events for the Work Order Timeline.
  Lot Timeline REST API Creates additional events for the Lot Timeline
Custom entities for the Timeline Viewer User Defined Entity REST API Creates custom entities for use in the Timeline Viewer.
  User Defined Entity Instance REST API Creates custom entity objects for use in the Timeline Viewer.
Custom nodes for Network Viewer Create Network Creates nodes, links between the provided nodes, and/or user defined indicator icons.
Outbound Web Service Sets
Set of Web Services Web Service Name Description
Insights Get Quality Insights Provides quality insights by organization.
  Get Quality Insight Search Form Provides syntax to use with the Get Quality Insights web service.
  Get Yield Insights Provides yield insights by organization.
  Get Yield Insight Search Form Provides syntax to use with the Get Yield Insights web service.
Predictions Get Predictions Provides predictions by organization.
  Get Prediction Detail Provides details for a particular prediction.

Before a user can access the REST web services used in Adaptive Intelligent Applications for Manufacturing, a user with an Oracle Identity Cloud Service Identity Domain Administrator or Application Administrator role must register the AIAMFG client application. Users can then use the AIAMFG client application to access the REST web services.

Registering the AIAMFG Client Application in Oracle Identity Cloud Service

Registering the AIAMFG client application in Oracle Identity Cloud Service enables a user to obtain the credentials (Client ID and Client Secret) used for authentication in REST web service calls. The steps to register the AIAMFG client application generally are similar to the steps provided in the online tutorial Using the Oracle Identity Cloud Service REST APIs with Postman, but since there are differences, the specific steps are listed below.

Prerequisites: Verify that you meet the expectations listed under What Do You Need? before you begin.

  1. In the Oracle Identity Cloud Service administration console, expand the Navigation Drawer, click Applications, and then click Add.

  2. In the Add Application dialog box, select Confidential Application.

  3. In the App Details section on the Add Trusted Application page, enter an application name and description, and then click Next.

    • Application Name: AIAMfg_ClientApp

    • Description: Client App to access REST APIs provided by AIAMfg Application whose url starts with /aimfgapi.

  4. Select Configure this application as a client now, and then, in the Authorization section that appears, select only Client Credentials as the Allowed Grant Type.

  5. Click Add Scope.

  6. On the Select Scope page, select the AIAppsforManufacturing resource, then the right arrow icon. This displays the available scopes for the resource.

  7. Select the scope that ends with /aimfgapi, then click Add.

    Important: Copy the complete URL (scope) that ends with /aimfgapi to a text file. Later, provide this scope for use as the access token and base URL for the REST APIs.

  8. Click Next on the page that shows AIAppsforManufacturing as a resource.

  9. In the Resources page, Skip for later is selected by default. Click Next.

  10. 11. In the Web Tier Policy page, Skip for later is selected by default. Click Next.

  11. Click Next until you reach the Authorization page. Click Finish.

  12. In the Authorization page, do not make any changes. Click Finish.

  13. The Application Added page appears, displaying the Client ID and Client Secret. Copy both of these field values to a text file. Save and store the text file securely.

  14. Click Activate. In the pop-up window, click Activate Application.

    The client application is now ready to use.

Accessing External REST Web Services Using Postman

After registering the client application, use a third-party tool, such as Postman, to access the AIAMFG REST web services.

  1. Open Postman.

  2. Create a new request.

    Click New, then Request.

  3. In the Save Request page, enter values in the following fields, then click Save to (collection or folder name).

    • Select the method of importing or exporting data (GET, POST, PUT, or DELETE). This example uses POST.

    • Request Name: AIAMFG REST Web Services

    • Search for and select a collection or folder. If needed, click Create Collection, then select the collection you created.

  4. Select the request, then the Authorization tab.

    In the Authorization tab, select OAuth 2.0 in the Type field.

  5. Click Get New Access Token.

  6. In the Get New Access Token page, enter the following field values:

    • Token Name: Enter any name.

    • Grant Type: Client Credentials

    • Access Token URL: An Oracle Identity Cloud Service token URL, in the format <IDCS host>/oauth2/v1/token. For example, https://idcs-xyxyxy.hostname.com/oauth2/v1/token.

    • In the following three fields, paste the value copied when Registering the AIAMFG Client Application in Oracle Identity Cloud Service.

      • Client ID

      • Client Secret

      • Scope

    • Client Authentication: Send Client Credentials in body

  7. Click Request Token.

    A pop-up window opens with the Access Token, which is a long string. Copy the long string to a text file. Close the pop-up window.

    Warning: The token is only valid for 1 hour. After that, you must request another token.

  8. In the new request window, click the Headers tab. Enter the following key values:

    Key Value
    Content-Type application/json
    Authorization Bearer <the access token copied from the previous step>. For example: Bearer eyJ4NXQjUzI1Nil6lII...
    language D, E, ESA, F, FRC, I, JA, KO, NL, PTB, RU, TR, or US. If no value is provided, the language used is US.
  9. In the Post field, enter the REST API URL.

    To derive the REST API URL, use the scope created when Registering the AIAMFG Client Application in Oracle Identity Cloud Service and a REST web services URL. For example:

    • Scope: https://....../aimfgapi

    • REST web services URL: <host:>/aimfgapi/vof/v1/fsm/wipexception

    Based on the above values, the REST API URL is https://....../aimfgapi/vof/v1/fsm/wipexception.

  10. Click the Body tab. Select the following field values:

    • Input data type: raw

    • Format: JSON

  11. Click Send.

Using Inbound REST Web Services

Create/Update Exception (wipexception)

URL: <host:>/aimfgapi/vof/v1/fsm/wipexception

Request Parameters
Parameter Name Description Type Required?
ExceptionId Resource exception identifier. String A unique value is required.
Action Use CREATE for creating an exception, UPDATE for updating the exception reason, and RESOLVE for updating the exception as resolved. String A value of CREATE, UPDATE or RESOLVE is required.
OrganizationId Organization ID String A value is required for either organizationCode or OrganizationId.
OrganizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
WorkOrderNumber WIP entity name or batch number. String Yes
OperationNumber Operation number. String Yes
ExcepType Exception types are defined as part of the FND Lookup type WIP_EXCEPTION_TYPE. String A value is required for either ExcepType or ExcepTypeCode.
ExcepTypeCode Exception types are defined as part of the FND Lookup type WIP_EXCEPTION_TYPE. String A value is required for either ExcepType or ExcepTypeCode.
RsrcSeqNo Details of the resource related to the resource exception. String Required if the Resource Type is Resource Exceptions.
RsrcId Details of the resource related to the resource exception. String Required if the Resource Type is Resource Exceptions.
ItemId Item details related to material exception. String Required if the Resource Type is Component Exceptions.
Reason Description of the reason. String A value is required for either Reason or ReasonCode.
ReasonCode Reason codes defined as part of the FND Lookup type WIP_EXCEPTION_REASON_CODES. String A value is required for either Reason or ReasonCode.
ReportedBy User ID of the reported user. String No
Note Note for the exception. String No

ExamplePayload

Input:
  {
  "ExceptionId" : "9992",
      "Action" : "CREATE",
      "OrganizationId": "207",
     "WorkOrderNumber" : "61974",
       "OperationNumber" : "20",
     "ItemId" : "151",
     "ExcepType" : "Component",
     "Reason" : "Broken Component",
     "ReportedBy" : "57"
   }
Output:
{
    "action": "CREATE",
    "excepType": "Component",
    "exceptionId": 9992,
    "itemId": 151,
    "operationNumber": 20,
    "organizationId": 207,
    "reason": "Broken Component",
    "reportedBy": 57,
    "returnExceptionID": 9992,
    "returnStatus": "Success",
    "workOrderNumber": "61974"
}

Create Resource (createresource)

URL: <host:>/aimfgapi/vof/v1/fsm/setup/common/createresource

Request Parameters
Parameter Name Description Type Required?
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
OrganizationId Organization ID. String A value is required for either organizationCode or OrganizationId.
resourceCode Resource code. String Yes
resourceType Resource Type. Set to 2 for Manpower. String Yes
description Description of the resource. String No
disableDate Resource disable date. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ” Date No

ExamplePayload

Input:
{
   "resourceCode" : "LBR-MOLD28",
    "organizationCode" : "PR1",
    "description" : "Molding Labor",
    "disableDate" : "2017-12-12T14:00:00.000Z",
     "resourceType":"2"
}

Output:
{
    "resourceId": -1081,
    "status": "success"
}

Update Resource (changeresource)

URL:<host:>/aimfgapi/vof/v1/fsm/setup/common/changeresource

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationCode Organization code. String If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
organizationId Organization ID. Integer If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
newResourceCode Enter a new resource code if you want to update the existing resource code. String No
disableDate The date the resource is disabled. Enter a value if you want to update it. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ” Date No
description Description of the resource. Enter a value if you want to update it. String No

Example Payload

Input:
{
"resourceCode" : "LBR-MOLD28",
"organizationCode" : "PR1",
"newResourceCode" : "LBR-MOLD29",
"disableDate" : "2017-12-14T14:00:00.000Z"
}

Output:
{
"status": "success"
}

Find Resource (getresource)

URL: <host:>aimfgapi/vof/v1/fsm/setup/common/getresource

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationCode Organization code. String If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
organizationId Organization ID. Integer If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.

Example Payload

Input
{
   "resourceCode" : "LBR-MOLD30",
    "organizationCode" : "PR1"
}

Output:

{
   "description":"Molding Labor",
   "disableDate":"2017-12-12T14:00:00.000Z",
   "organizationCode":"PR1",
   "organizationId":1381,
   "resourceCode":"LBR-MOLD30",
   "resourceId":-21,
   "resourceType":2,
   "status":"success"
}

Create Resource-Employee Association (createresempassoc)

URL: <host:>/aimfgapi/vof/v1/fsm/setup/common/createresempassoc

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
organizationCode Organization code. String If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
personId Person ID. Integer Yes
effectiveStartDate Effective start date for the association. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ” Date Yes
effectiveEndDate Effective end date for the association. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ” Date Yes
instanceId This output parameter provides the ID for the person to resource association. Integer This is an output parameter.

Example Payload

Input:
{
 "resourceId" : -1081,
    "organizationId" :1381,
    "personId" : 30750 ,
    "effectiveStartDate" : "2016-12-12T14:00:00.000Z",
    "effevtiveEndDate" : "2019-12-12T14:00:00.000Z"
}
 
Output:
{
    "instanceId": -601,
    "status": "success"
}

Update Resource-Employee Association (changeresempassoc)

URL: <host:>/aimfgapi/vof/v1/fsm/setup/common/changeresempassoc

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
organizationCode Organization code. String If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
personId Person ID. Integer Yes
effectiveStartDate Effective start date for the association. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ” Date No
effectiveEndDate Effective end date for the association. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ” Date No

Example Payload

Input:
{
   "resourceId":-1081,
    "personId" :30750 ,
    "effectiveStartDate" : "2016-12-12T14:00:00.000Z",
    "effevtiveEndDate":"2018-12-12T14:00:00.000Z"
}

Output:
{
    "status": "success"
}

Find Resource-Employee Association (getinstanceId)

URL: <host:>/aimfgapi/vof/v1/fsm/setup/common/getinstanceId

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
organizationCode Organization code. String If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
personId Person ID. Integer Yes
instanceId ID for the person to resource association. Integer Yes, if both personId & Resource details are not provided.

Example Payload

Input:
{
  
     "resourceId" : -1081,
     "personId" :30750
   }

Output:
{
    "effectiveStartDate": "2016-12-12T14:00:00.000Z",
    "effevtiveEndDate": "2018-12-12T14:00:00.000Z",
    "instanceId": -601,
    "organizationId": 1381,
    "personId": 30750,
    "resourceId": -1081,
    "status": "success"
}

Remove Resource-Employee Association (removeresempassoc)

URL: <host:>/aimfgapi/vof/v1/fsm/setup/common/removeresempassoc

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
organizationCode Organization code. String If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
personId Person ID. Integer Yes

Example Payload

Input:
{
   "resourceId":-1081,
     "personId":30750
   }
Output:
{
    "status": "success"
}

Employee Job Assignment (createempjobassignment)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/createempjobassignment

Request Parameters
Parameter Name Description Type Required?
workOrderId Work order ID. Integer A value is required for either workOrderId or workOrder.
workOrder Work order name. String A value is required for either workOrderId or workOrder.
operationSeqNumber Operation sequence number. Integer Yes
organizationId Organization ID. Integer A value is required for either organizationCode or OrganizationId.
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
startDate Job assignment start date. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date Yes
completionDate Job assignment end date. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date Yes
instanceId Instance ID generated during employee resource association. Integer Yes

Example Payload

Input:
{
    "workOrder" : “233160”,
    "operationSeqNumber" : 10,
    "organizationCode" : “PR2”,
    "startDate" : "2016-07-22T14:00:00.000Z",
    "completionDate" : "2016-07-22T18:00:00.000Z",
    "instanceId":-601
}

Output:
{
    "status": "Success"
}

Change/Update Employee Job Assignment (changeempjobassignment)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/changeempjobassignment

Request Parameters
Parameter Name Description Type Required?
workOrderId Work order ID. Integer A value is required for either workOrderId or workOrder.
workOrder Work order name. String A value is required for either workOrderId or workOrder.
operationSeqNumber Operation sequence number. Integer Yes
organizationId Organization ID. Integer A value is required for either organizationCode or OrganizationId.
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
startDate Job assignment start date. Enter if you want to update this value. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date No
completionDate Job assignment end date. Enter if you want to update this value. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date No
instanceId Instance ID generated during employee resource association. String Yes

Example Payload

Input:
 
{
    "workOrder" : “233160”,
    "operationSeqNumber" : 10,
    "organizationCode" : “PR2”,
    "startDate" : "2016-07-23T14:00:00.000Z",
    "completionDate" : "2016-07-23T18:00:00.000Z",
    "instanceId":-601
}
output:
{
    "status": "Success"
}

Find Jobs Assigned to Employee (getempassignmentforjob)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/getempassignmentforjob

Request Parameters
Parameter Name Description Type Required?
organizationId Organization ID. Integer A value is required for either organizationCode or OrganizationId.
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
startDate Start date of date range to search for job assignments. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date Yes
completionDate End date of date range to search for job assignments. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date Yes
instanceId Instance ID generated during employee resource association. Integer Yes

Example Payload

Input:
{
    "organizationId" : 207,
    "startDate" : "2016-07-23T12:00:00.000Z",
    "completionDate" : "2016-07-23T19:00:00.000Z",
    "instanceId":-601
}

Output: 
{
"count":1,
"items":[
{
"type":"rsrcInstanceListRow",
"rsrcInstanceDataRow":
 [
    {
"instanceId":-601,
"operationSeqNumber":10,
"organizationId":1382,
"resourceSeqnumber":0,
"workOrder":"233160",
"workOrderId":2712172
   }
 ],
"status":"Success"}],
"totalResults":1
} 

Find Employees Assigned to a Job (getjobassignmentforemp)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/getjobassignmentforemp

Request Parameters
Parameter Name Description Type Required?
workOrderId Work order ID. Integer A value is required for either workOrderId or workOrder.
workOrder Work order name. String A value is required for either workOrderId or workOrder.
organizationId Organization ID. Integer A value is required for either organizationCode or OrganizationId.
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
startDate Start date of date range to search for job assignments. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date No
completionDate End date of date range to search for job assignments. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date No

Example Payload

Input:
 
{
    "workOrder" : “233160”,
    "operationSeqNumber" : 10,
    "organizationCode" : “PR2”,
    "startDate" : "2016-07-23T12:00:00.000Z",
    "completionDate" : "2016-07-23T19:00:00.000Z"
}

Output: 
{
"count":1,
"items":[
{
"type":"rsrcInstanceListRow",
"rsrcInstanceDataRow":
 [
    {
"instanceId":-601,
"operationSeqNumber":10,
"organizationId":1382,
"resourceSeqnumber":0,
"workOrder":"233160",
"workOrderId":2712172
   }
 ],
"status":"Success"}],
"totalResults":1
} 

Resource Equipment Association (createresequpassoc)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/createresequpassoc

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer A value is required for either organizationCode or OrganizationId.
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
inventoryItemId The item ID of the inventory item marked as an equipment item in Inventory. Integer A value is required for either inventoryItemId or inventoryItemName.
inventoryItemName The item name of the inventory item marked as an equipment item in Inventory. String A value is required for either inventoryItemId or inventoryItemName.

Example Payload

Input:

{
  
   "resourceId": -1082,
    "equipmentId": 710045,
      "organizationCode": "PR1"
}
Output:
{
    "status": "success"
}

Update Resource Equipment Association (updatersrcequipment)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/updatersrcequipment

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer A value is required for either organizationCode or OrganizationId.
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
inventoryItemId The item ID of the inventory item marked as an equipment item in Inventory. Enter a value if you want to update this. Integer A value is required for either inventoryItemId or inventoryItemName.
inventoryItemName The item name of the inventory item marked as an equipment item in Inventory. Enter a value if you want to update this. String A value is required for either inventoryItemId or inventoryItemName.

Example Payload

Input:
{
  
   "resourceId": -1082,
   "equipmentId": 721043,
   "organizationCode": "PR1"
}

Output:
{
   "status": "success"
}

Find Resource Equipment Association (getreseqpassoc)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/getreseqpassoc

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer A value is required for either organizationCode or OrganizationId.
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
inventoryItemId The item ID of the inventory item marked as an equipment item in Inventory. Integer A value is required for either inventoryItemId or inventoryItemName.
inventoryItemName The item name of the inventory item marked as an equipment item in Inventory. String A value is required for either inventoryItemId or inventoryItemName.

Example Payload

Input:

{
   "resourceId":-1082,
   "equipmentId":721043,
    "organizationCode":"PR1"
}

Output:
{
    "count": 1,
    "items": [
        {
            "type": "rsrcEquipmentDetailsRow",
            "rsrcEquipmentDataRow": [
                {
                    "equipmentId": 721043,
                    "organizationId": 1381,
                    "resourceId": -1082
                }
            ],
            "status": "Success"
        }
    ],
    "totalResults": 1
}

Remove Resource Equipment Association (removeresequipassoc)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/removeresequipassoc

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer A value is required for either organizationCode or OrganizationId.
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
inventoryItemId The item ID of the inventory item marked as an equipment item in Inventory. Integer A value is required for either inventoryItemId or inventoryItemName.
inventoryItemName The item name of the inventory item marked as an equipment item in Inventory. String A value is required for either inventoryItemId or inventoryItemName.

Example Payload

Input:
{
   "resourceId": -1082,
   "equipmentId": 721043,
   "organizationCode": "PR1"
}

Output:
{
   "status": "success"
}

Log Resource In Time (logresourceintime)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/logresourceintime

Request Parameters
Parameter Name Description Type Required?
workOrderId Work order ID. Value for this field is considered for clock-in. Integer No, but if a value is passed, it is treated as a clock in to the Work Order.
workOrder Work order name. Value for this field is considered for clock-in. String No, but if a value is passed, it is treated as a clock in to the Work Order.
operationSeqNumber Operation sequence number. Integer Required if Work Order detail is provided.
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer A value is required for either organizationCode or OrganizationId.
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
serialNumber Serial number. String No
assemblySerialNumber Assembly Serial number. String No
statusType Value must be always 1. Integer Yes
startDate Date and time of shift-in or clock-in. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date Yes
endDate Date and time of shift-out or clock-out. Do not provide a parameter value if the operator is currently shifted-in or clocked in. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date No
employeeId Person ID entered while associating an employee to a resource. String Yes

Example Payload

Input for Shift-In:
{
    "organizationId" : 1382,
    "startDate" : "2018-03-08T14:00:00.000Z",
     "statusType" : 1,
    "employeeId" : 3527,
     "resourceId" : -5
}
  
  Input for Clock-In:

  {
    "organizationId" : 1382,
    "startDate" : "2018-03-08T14:00:00.000Z",
     "statusType" : 1,
    "employeeId" : 3527,
    "workOrder" : 233159,
    "operationSeqNumber" : 20,
     "resourceId" : -5
  

  }

Output:
{
    "status": "Success",
    "timeEntryId": -1101
}

Log Resource Out Time (logresourceouttime)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/logresourceouttime

Request Parameters
Parameter Name Description Type Required?
timeEntryId Time entry ID generated and is an output of the Log Resource In Time API (logresourceintime) at the time of shift-in or clock-in of employee. Integer Either pass only this parameter or pass the remaining set of parameters.
workOrderId Work order ID. Value for this field is considered for clock-in. Integer No, but if a value is passed, it is treated as a clock out to the Work Order.
workOrder Work order name. Value for this field is considered for clock-in. String No, but if a value is passed, it is treated as a clock out to the Work Order.
operationSeqNumber Operation sequence number. Integer Required if Work Order detail is provided.
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer A value is required for either organizationCode or OrganizationId.
organizationCode Organization code. String A value is required for either organizationCode or OrganizationId.
serialNumber Serial number. String No
assemblySerialNumber Assembly Serial number. String No
statusType Value must be always 1. Integer Yes
startDate Date and time of shift-in or clock-in. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date Yes
endDate Date and time of shift-out or clock-out. Do not provide a parameter value if the operator is currently shifted-in or clocked in. Format: “yyyy-MM-ddTHH:mm:ss.SSSZ”. Date No
employeeId Person ID entered while associating an employee to a resource. String Yes

Example Payload

Input for Shift-Out:
{
    "timeEntryId": -1101
}
OR

{
    "organizationId" : 1382,
    "endDate" : "2018-03-08T20:00:00.000Z",
     "statusType" : 1,
    "employeeId" : 3527,
     "resourceId" : -5
}
  
  Input for Clock-Out:
{
    "timeEntryId": -1101
}

OR

  {
    "organizationId" : 1382,
    "endDate " : "2018-03-08T20:00:00.000Z",
     "statusType" : 1,
    "employeeId" : 3527,
    "workOrder" : 233159,
    "operationSeqNumber" : 20,
     "resourceId" : -5
  }

Output:
{
    "status": "Success"
}

Find Employee Shift-In Details (isresshiftedin)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/isresshiftedin

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
organizationCode Organization code. String If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
shiftIn This is an output parameter. Indicates if the employee is shifted-in. String This is an output field, not an input parameter.
timeEntryId This Time entry ID is an output parameter, which is generated at the time of shift-in. Integer This is an output field, not an input parameter.

Example Payload

Input:
{
   "resourceId" : -22
}

Output:
{
    "employeeId": 4090,
    "instanceId": 0,
    "organizationId": 0,
    "shiftIn": "YES",
    "startDate": "2018-03-08T14:00:00.000Z",
    "status": "success",
    "statusType": 1,
    "timeEntryId": -25,
    "timeEntryMode": 8
}

Find Employee Clock-In Details (isresshiftedin)

URL: <host>/aimfgapi/vof/v1/fsm/setup/common/isresclockedin

Request Parameters
Parameter Name Description Type Required?
resourceId Resource ID. Integer A value is required for either resourceId or resourceCode.
resourceCode Resource code. String A value is required for either resourceId or resourceCode.
organizationId Organization ID. Integer If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
organizationCode Organization code. String If resourceCode is provided instead of resourceId, a value is required for either organizationCode or organizationId.
message This is an output parameter, which indicates if the employee is clocked-in. String This is an output field, not an input parameter.
timeEntryId This Time entry ID is an output parameter, which is generated at the time of clock-in. Integer This is an output field, not an input parameter.

Example Payload

Input:
{
   "resourceId" : -22
}

Output:
  {
    "count": 1,
    "items": [
        {
            "type": "rscActTimesListRow",
            "datalist": [
                {
                    "employeeId": 4090,
                    "operationSeqNumber": 10,
                    "startDate": "08-MAR-18",
                    "statusType": 1,
                    "timeEntryId": -26,
                    "workOrderId": 903
                }
            ],
            "message": "Clocked In:YES",
            "status": "Success"
        }
    ],
    "totalResults": 1
}

defineKPI

URL: <host>/aimfgapi/vof/v1/fsm/dashboard/kpi/defineKPI

Request Parameters
Parameter Name Description Type Required?
paramName Parameter name. String Yes
category Category. String Yes
functionalArea Functional Area. String Yes
valueType Value type. String Yes
isVisible Determines whether or not to display the custom KPI. String No. Valid values are Y or N.
kpiDisplaySeq KPI display sequence. Integer No
Response Parameters
Parameter Name Description Type Required?
paramName Parameter name. String Yes
category Category. String Yes
functionalArea Functional area. String Yes
isVisible Determines whether or not to display the custom KPI. String No
kpiDisplaySeq KPI display sequence. Integer No
valueType Value type. String No
status Status String No

Example Payloads

Input:
{
	"paramName" : "Test Machine1",
	"category" : "Machine",
	"functionalArea" : "OPM",
	"isVisible" : "y",
	"kpiDisplaySeq" : 11,
	"valueType" : "AbsoluteNo"
}
Output:
{
	"category": "Machine",
	"functionalArea": "OPM",
	"isVisible": "y",
	"kpiDisplaySeq": 11,
	"paramName": "Test ",
	"status": "success",
	"valueType": "AbsoluteNo"
}

defineKPIValue

URL: <host>/aimfgapi/vof/v1/fsm/dashboard/kpi/defineKPIValue

Request Parameters
Parameter Name Description Type Required?
paramName Parameter name. String Yes
category Category. String Yes
orgCode Organization code. String Yes
paramValue Parameter value. String Yes
deptName Department name. String Yes
classification Classification. String Yes
Response Parameters
Parameter Name Description Type Required?
paramName Parameter name. String Yes
category Category. String Yes
orgCode Organization code. String Yes
paramValue Parameter value. String Yes
deptName Department name. String No
classification Classification. String No
message Message String No
status Status String No

Example Payloads

Input:
{
	"paramName" : "Test Machine1",
	"category" : "Machine",
	"orgCode" : "M1",
	"paramValue" : 2,
	"deptName":"ASSEMBLY",
	"classification" : "Bad"
} 

Output:
{
	"category": "Machine",
	"classification": "Bad",
	"deptName": "ASSEMBLY",
	"message": "defineKPIValue",
	"orgCode": "M1",
	"paramName": "Test Machine1",
	"paramValue": 2,
	"status": "success"
}

updateKPI

URL: <host>/aimfgapi/vof/v1/fsm/dashboard/kpi/updateKPI

Request Parameters
Parameter Name Description Type Required?
paramName Parameter name. String Yes
category Category String Yes
isVisible Determines whether or not to display the updated KPI. String No. Valid values are Y or N.
kpiDisplaySeq KPI display sequence. Integer No
functionalArea Functional area. String No
valueType Value type. String No
customParam Custom parameter. String No
Response Parameters
Parameter Name Description Type Required?
paramName Parameter name. String Yes
category Category. String Yes
isVisible Determines whether or not to display the updated KPI. String No
kpiDisplaySeq KPI display sequence. Integer No
status Status. String No

Example Payloads

Input:
{
	"paramName" : "prediction_alerts",
	"category" : "Machine",
	"isVisible" : "Y",
	"kpiDisplaySeq" : 11
}
Output:
{
	"category": "Machine",
	"isVisible": "Y",
	"kpiDisplaySeq": 11,
	"paramName": "prediction_alerts",
	"status": "success"
}

deleteKPI

URL: <host>/aimfgapi/vof/v1/fsm/dashboard/kpi/deleteKPI

Request Parameters
Parameter Name Description Type Required?
paramName Parameter name. String Yes
category Category String Yes
Response Parameters
Parameter Name Description Type Required?
paramName Parameter name. String Yes
category Category String Yes
status Status String No

Example Payloads

Input:
{
	"paramName" : "Test Machine1",
	"category" : "Machine"
}
Output:
{
	"category": "Machine",
	"paramName": "Test Machine1",
	"status": "success"
}

fetchKPIList

URL: <host>/aimfgapi/vof/v1/fsm/dashboard/kpi/fetchKPIList

Response Parameters
Parameter Name Description Type
type Type. String
category Category. String
customParam Custom parameter. String
functionalArea Functional area. String
isVisible Determines whether or not to display the KPI. String
kpiDisplaySeq KPI display sequence. Integer
paramId Parameter ID. Long
paramName Parameter name. String

Example Response Payload

Output:
{
    "count": 5,
    "items": [
        {
            "type": "fsmCustomKpiRow",
            "category": "Manpower",
            "customParam": "N",
            "functionalArea": "COMMON",
            "isVisible": "Y",
            "kpiDisplaySeq": 1,
            "paramId": 1,
            "paramName": "not_reported"
        },
        {
            "type": "fsmCustomKpiRow",
            "category": "Machine",
            "customParam": "N",
            "functionalArea": "COMMON",
            "isVisible": "Y",
            "kpiDisplaySeq": 1,
            "paramId": 8,
            "paramName": "down"
        },
        {
            "type": "fsmCustomKpiRow",
            "category": "Management",
            "customParam": "N",
            "functionalArea": "COMMON",
            "isVisible": "Y",
            "kpiDisplaySeq": 1,
            "paramId": 14,
            "paramName": "start_delayed"
        },
        {
            "type": "fsmCustomKpiRow",
            "category": "Material",
            "customParam": "N",
            "functionalArea": "COMMON",
            "isVisible": "Y",
            "kpiDisplaySeq": 1,
            "paramId": 23,
            "paramName": "shortage"
        },
        {
            "type": "fsmCustomKpiRow",
            "category": "Method",
            "customParam": "N",
            "functionalArea": "COMMON",
            "isVisible": "Y",
            "kpiDisplaySeq": 1,
            "paramId": 30,
            "paramName": "material_exceptions"
        }
    ],
    "totalResults": 5
}

fetchKpisByCategory

URL: <host>/aimfgapi/vof/v1/fsm/dashboard/kpi/fetchKpisByCategory/{machine}

Response Parameters
Parameter Name Description Type
type Type. String
category Category. String
customParam Custom parameter. String
functionalArea Functional area. String
isVisible Determines whether or not to display the KPI. String
kpiDisplaySeq KPI display sequence. Integer
paramId Parameter ID. Long
paramName Parameter name. String

Example Response Payload

Output:
{
    "count": 2,
    "items": [
        {
            "type": "fsmCustomKpiRow",
            "category": "Machine",
            "customParam": "N",
            "functionalArea": "COMMON",
            "isVisible": "Y",
            "kpiDisplaySeq": 1,
            "paramId": 8,
            "paramName": "down"
        },
        {
            "type": "fsmCustomKpiRow",
            "category": "Machine",
            "customParam": "N",
            "functionalArea": "COMMON",
            "isVisible": "Y",
            "kpiDisplaySeq": 2,
            "paramId": 9,
            "paramName": "job_unassigned"
        }
    ],
    "totalResults": 2
}

fetchKpisByParamName

URL: <host>/aimfgapi/vof/v1/fsm/dashboard/kpi/fetchKpisByParamName/{prediction_alerts}

Response Parameters
Parameter Name Description Type
type Type. String
category Category. String
customParam Custom parameter. String
functionalArea Functional area. String
isVisible Determines whether or not to display the KPI. String
kpiDisplaySeq KPI display sequence. Integer
paramId Parameter ID. Long
paramName Parameter name. String

Example Response Payload

Output:
{
    "count": 2,
    "items": [
        {
            "type": "fsmCustomKpiRow",
            "category": "Manpower",
            "customParam": "N",
            "functionalArea": "COMMON",
            "isVisible": "Y",
            "kpiDisplaySeq": 7,
            "paramId": 7,
            "paramName": "prediction_alerts"
        },
        {
            "type": "fsmCustomKpiRow",
            "category": "Management",
            "customParam": "N",
            "functionalArea": "COMMON",
            "isVisible": "Y",
            "kpiDisplaySeq": 9,
            "paramId": 22,
            "paramName": "prediction_alerts"
        }
    ],
    "totalResults": 2
}

custompredictors (Predictor Get REST API)

URL: <host>/iotappscustompred/vof/v1/rta/modelbuilding/custompredictors

Response Parameters
Parameter Name Description Type
routstepCstmPredId Routing step custom predictor ID. Integer
organizationId Organization ID. Integer
inventoryItemId Inventory item ID. Integer
revisionId Revision ID. Integer
recipeId Recipe ID. Integer
recipeVersion Recipe version. Integer
routingId Routing ID. Integer
routingRevision Routing revision. Integer
routingstepId Routing step ID. Integer
billSequenceId Bill sequence ID. Integer
billRevisionId Bill revision ID. Integer
oprnId Operation ID. Integer
enableSerialAnalysis Enable serial analysis? Answer this question using a value of Y or N. String
mapColumn Map column. String
paramCode Parameter code. String
paramValueCode Parameter value code. String
paramShortCodeType Parameter short code type. String
paramParentCode Parameter parent code. String
entity Entity. String
paramVarType Parameter variable type. String
paramCategory Parameter category. String
paramSubCategory Parameter subcategory, which can be anything. Example:Custom Predictor String
isBoolean Is the parameter Boolean? Internal use. String
feature lookup Feature lookup. Internal use. String

Example Response Payload

{
    "count": 2,
    "responseData": [
        {
            "createdBy": "-1",
            "enableSerialAnalysis": "N",
            "item": "PROD1",
            "itemRevision": "A",
            "lastUpdateLogin": -1,
            "lastUpdatedBy": "-1",
            "mapColumn": "N_ATTR_1",
            "operation": 50,
            "orgCode": "PR1",
            "paramCategory": "METHOD",
            "paramCode": "A::A",
            "paramDataType": "NUMBER",
            "paramShortCodeType": "A",
            "paramSubCategory": "A",
            "paramValueCode": "A",
            "recipe": "PROD1",
            "recipeVersion": 55,
            "routstepCstmPredId": 11
        },
        {
            "bomRevision": "A",
            "bomType": "Primary",
            "createdBy": "-1",
            "enableSerialAnalysis": "Y",
            "item": "I10 CAR",
            "lastUpdateLogin": -1,
            "lastUpdatedBy": "-1",
            "mapColumn": "C_ATTR_4",
            "operation": 30,
            "orgCode": "M1",
            "paramCategory": "MATERIAL",
            "paramCode": "OPERATION::20 (VTH2)::DEPARTMENT::VTD001",
            "paramDataType": "CHARACTER",
            "paramShortCodeType": "NO_OP",
            "paramSubCategory": "OPERATOR",
            "paramValueCode": "OP_NO",
            "routingRevision": "A",
            "routingType": "Primary",
            "routstepCstmPredId": 1,
            "serialStartOp": 20
        }
    ],
    "returnMsg": "Success"
}

custompredictors (Predictor Insert REST API)

URL: <host>/iotappscustompred/vof/v1/rta/modelbuilding/custompredictors

Request Parameters
Parameter Name Description Type Required?
orgCode Organization code. String Yes
item Item name. Integer Yes
itemRevision Item revision. Integer Yes, for Process organizations. No, for discrete organizations.
recipe Recipe name. Integer Yes, for Process organizations. No, for discrete organizations.
recipeVersion Recipe version. Integer Yes, for Process organizations. No, for discrete organizations.
routingDesignator Routing designator. Integer Yes, for discrete organizations. No, for process organizations.
routingRevision Routing revision. Integer Yes, for discrete organizations. No, for process organizations.
bomDesignator Bill of material designator. Integer Yes, for Process organizations. No, for discrete organizations.
bomRevision Bill of material revision. Integer Yes, for discrete organizations. No, for process organizations.
enableSerialAnalysis Enable serial analysis? Answer this question using a value of Y or N. String Yes, for discrete organizations. No, for process organizations.
serialStartOp Serial start operation. String Yes, if enableSerialAnalysis is Y.
operation Operation String Yes, for both process and discrete organizations.
mapColumn Map column. String Yes. MapColumn value must be c_attr_1 to c_attr_450 or n_attr_1 to n_attr_450, depending on the data type.
paramCode Parameter code. String Yes. The paramCode and ParamValueCode combination must be unique.
paramValueCode Parameter value code. String Yes. The paramCode and paramValueCode combination must be unique.
paramShortCodeType Parameter short code type. String Yes
paramParentCode Parameter parent code. String No
entity Not used currently. String No
paramDataType Parameter data type. String Yes. Acceptable values are NUMBER or CHARACTER.
paramCategory Parameter category. String Yes. Acceptable values are Man, Machine, Material, Method, or Management.
paramSubCategory Parameter subcategory, which can be anything. Example:Custom Predictor String Yes
isBoolean For internal use only String No
featureLookupType For internal use only String No
uomCode Unit of measure code. String No

Process Manufacturing Example

When producing Strawberry Jam, you want to consider the supplier of Strawberries as a predictor for the data preparation context operation, 30.

{
      "orgCode": "PR1",
      "item": "Strawberry Jam",
      "itemRevision":"A",
       "recipe": "STRAWBERRY_JAM",
      "recipeVersion":1,
       "operation": 30,
      "mapColumn": "C_ATTR_40",
      "paramCategory": "MATERIAL",
      "paramSubCategory": "CUSTOM",
      "paramCode": "Item::Strawberry Jam",
      "paramParentCode": "Item::Strawberry Jam",
      "paramDataType": "CHARACTER",
      "paramShortCodeType": "SJ_SUPPLIER",
      "paramValueCode": "Material Supplier"
      
  }

Discrete Manufacturing Example

When producing a Wind Turbine, you want to consider the vibration readings from the robot (ROBO) for the data preparation context operation, 30.

   {      
      "bomDesignator": "Primary",
      "bomRevision": "A",      
      "item": "WT_5040",     
      "mapColumn": "N_ATTR_1",
      "operation": 30,
      "orgCode": "M1",
      "paramCategory": "METHOD",
      "paramCode": "Custom_code::POWER",
      "paramDataType": "NUMBER",
      "paramParentCode": null,
      "paramShortCodeType": "CP_1",
      "paramSubCategory": "CUSTOM_SUB_CAT",
      "paramValueCode": "Custom Power Value",
      "routingDesignator": "Primary",
      "routingRevision": "A",
      "enableSerialAnalysis": "Y"
    }

custompredictors (Predictor Update REST API)

URL: <host>/iotappscustompred/vof/v1/rta/modelbuilding/custompredictors/{routstepCstmPredId}

Request Parameters
Parameter Name Description Type Required?
routstepCstmPredId ID of the custom predictor to retrieve from the cloud service. Used in the request path. Integer Yes
mapColumn Map column. String Yes. MapColumn value must be c_attr_1 to c_attr_450 or n_attr_1 to n_attr_450, depending on the data type
paramCode Parameter code. String Yes. The paramCode and paramValueCode combination must be unique.
paramValueCode Parameter value code. String Yes. The paramCode and paramValueCode combination must be unique.
paramShortCodeType Parameter short code type. String Yes
paramParentCode Parameter parent code. String No
entity Entity. String No
paramDataType Parameter data type. String Yes. Acceptable values are NUMBER or CHARACTER.
paramCategory Parameter category. String Yes. Acceptable values are Man, Machine, Material, Method, or Management.
paramSubCategory Parameter subcategory, which can be anything. Example:Custom Predictor String Yes
param_var_type Parameter variable type. String No
uomCode Unit of measure code. String No

Process Manufacturing Example

For the product Strawberry Jam, update the predictor, Material Supplier.

{
      "mapColumn": "C_ATTR_29",
      "paramShortCodeType": "SJAM_SUPPLIER",
      "paramValueCode": "Material Supplier"
      
  }

Discrete Manufacturing Example

For the discrete serialized manufacturing product Wind Turbine, pdate the predictor, Custom Power Value.

   {      
      "paramCode": "Custom_code::POWER_READING",
      "paramDataType": "NUMBER",
   }

custompredictors (Predictor Delete REST API)

URL: <host>/iotappscustompred/vof/v1/rta/modelbuilding/custompredictors/{routstepCstmPredId}

Request Parameters
Parameter Name Description Type Required?
routstepCstmPredId ID of the custom predictor to retrieve from the cloud service. Used in the request path. Integer Yes

Response Output: Record deleted successfully.

Processing Validations: Deletes a custom predictor if there is no dataset created for the context after the custom predictor definition for that context.

custompredictors (Data Get REST API)

Choose one of the following web service URLs:

Request Parameters
Parameter Name Description Type Required?
routstepCstmPredId ID of the custom predictor to retrieve from the cloud service. Used in the request path. Integer Yes
Response Parameters
Parameter Name Description Type
Count Number of predictor records retrieved. Integer
responseData Information about each predictor. Object
returnMsg Indicates status of the response, such as Success. String

Get All Predictors: <host>/iotapps/vof/v1/rta/modelbuilding/custompredictors/

{
  "count": 2,
  "responseData": [
    {
	"bomDesignator": "Primary",
      "bomRevision": "A",      
      "item": "WT_5040",     
      "mapColumn": "N_ATTR_1",
      "operation": 30,
      "orgCode": "M1",
      "paramCategory": "METHOD",
      "paramCode": "Custom_code::POWER",
      "paramDataType": "NUMBER",
      "paramParentCode": null,
      "paramShortCodeType": "CP_1",
      "paramSubCategory": "CUSTOM_SUB_CAT",
      "paramValueCode": "Custom Power Value",
      "routingDesignator": "Primary",
      "routingRevision": "A",
      "enableSerialAnalysis": "Y"
	"createdBy": "-1",
      	"creationDate": null,
	"entity": null,
     	"featureLookupType": null,
      	"isBoolean": null,
      	"isbinned": null,
      	"lastUpdateDate": null,
      	"lastUpdateLogin": -1,
      	"lastUpdatedBy": "-1",
	"multirowFunc": null,
	"paramClass": null,
	"recipe": null,
	"recipeVersion": null,
      	"requestId": null,
      "routstepCstmPredId": 100,
      	"returnMessage": null,
      "target": null,
      "trasnformation": null,
      	"uomCode": null

},
    {
   	"orgCode": "PR1",
      "item": "Strawberry Jam",
      "itemRevision":"A",
       "recipe": "STRAWBERRY_JAM",
      "recipeVersion":1,
       "operation": 30,
      "mapColumn": "C_ATTR_40",
      "paramCategory": "MATERIAL",
      "paramSubCategory": "CUSTOM",
      "paramCode": "Item::Strawberry Jam",
      "paramParentCode": "Item::Strawberry Jam",
      "paramDataType": "CHARACTER",
      "paramShortCodeType": "SJ_SUPPLIER",
      "paramValueCode": "Material Supplier"
	"bomDesignator": "null",
      "bomRevision": "null",
      "createdBy": "-1",
      "creationDate": null,
      "enableSerialAnalysis": "null",
      "entity": null,
      "featureLookupType": null,
      "isBoolean": null,
      "isbinned": null,
      "lastUpdateDate": null,
      "lastUpdateLogin": -1,
      "lastUpdatedBy": "-1",
      "paramClass": null,
      "pivotFunction": null,
   	"returnMessage": null,
      "routingDesignator": "null",
      "routingRevision": "null",
      "routstepCstmPredId": 101,
      "scoringStep": null,
      "serialStartOp": 0,
      "target": null,
      "trasnformation": null,
      
    } ,
  "returnMsg": "Success"
}

createcustomdatapredictors (Predictor Data Insert REST API)

This web service creates data for a predictor.

URL: <host>/iotappscustompred/vof/v1/rta/modelbuilding/createcustomdatapredictors

Request Parameters
Parameter Name Description Type Required?
caseId CaseId represents the unique batch/job for the analysis. It is the wip_entity_id from the wip_entities table. Used only for discrete organizations. Integer Yes, for discrete organizations.
batch_id The batch ID from the gme_batch_header table. Used only for process organizations. Integer Yes, for process organizations.
CAttr1 to CAttr450 The map column defined for the predictor. Choose from CAttr1 to CAttr450 if the predictor is a Character type. String Yes
NAttr1 to NAttr450 The map column defined for the predictor. Choose from NAttr1 to NAttr450 if the predictor is a Number type. Integer Yes

Process Manufacturing Example

For the Strawberry Jam product, insert the data for batch_id = 123 for predictor = Material Supplier.

{

      "caseId": 123,
      "CAttr29": "ALLEN SUPPLIER"
 
  }

Discrete Manufacturing Example

For the Wind Turbine serialized product, insert the data for work order = 234 for predictor = Custom Power Value.

{      
            "caseId": 234,
      		"NAttr1": 2.3
 
   }

updatecustomdatapredictors (Predictor Data Update REST API)

This web service updates data for a predictor.

URL: <host>/iotappscustompred/vof/v1/rta/modelbuilding/updatecustomdatapredictors/{caseId}

Request Parameters
Parameter Name Description Type Required?
caseId CaseId is the identifier of the custom predictor to retrieve from the cloud service. Integer Yes
CAttr1 to CAttr450 The map column defined for the predictor. Choose from CAttr1 to CAttr450 if the predictor is a Character type. String Yes
NAttr1 to NAttr450 The map column defined for the predictor. Choose from NAttr1 to NAttr450 if the predictor is a Number type. Integer Yes

Process Manufacturing Example

For the Strawberry Jam product, insert the data for batch_id = 123 for predictor = Material Supplier.

{

      "caseId": 123,
      "CAttr29": "BERRY SUPPLIER"
 
  }

Discrete Manufacturing Example

For the Wind Turbine serialized product, insert the data for work order = 234 for predictor = Custom Power Value.

   {      
            "caseId": 234,
      		"NAttr1": 3
 
   }

deletecustomdatapredictors (Predictor Data Delete REST API)

This web service deletes data for a predictor.

URL: <host>/iotappscustompred/vof/v1/rta/modelbuilding/deletecustomdatapredictors/{caseId}

Request Parameters
Parameter Name Description Type Required?
caseId CaseId is the identifier of the custom predictor to retrieve from the cloud service. Integer Yes

customdatapredictorslist (Data Get REST API)

Choose one of the following web service URLs:

Request Parameters
Parameter Name Description Type Required?
caseId ID of the custom predictor to retrieve from the cloud service. Used in the request path. Integer Yes
Response Parameters
Parameter Name Description Type
Count Number of predictor records retrieved. Integer
responseData Information about each predictor. Object
returnMsg Indicates status of the response, such as Success. String

Example Output Response

{
   "count":5,
   "responseData":[
      {
         "CAttr4":"D",
         "NAttr4":4.0,
         "caseId":2934570,
         "createdby":"-1",
         "creationdate":"2018-02-23",
         "lastupdatedate":"2018-02-23",
         "lastupdatedby":"-1",
         "lastupdatelogin":-1
      },
      {
         "CAttr4":"D",
         "NAttr4":4.0,
         "caseId":2934571,
         "createdby":"-1",
         "creationdate":"2018-02-23",
         "lastupdatedate":"2018-02-23",
         "lastupdatedby":"-1",
         "lastupdatelogin":-1
      },
    {
         "CAttr1":"2",
         "caseId":1904169,
         "createdby":"-1",
         "creationdate":"2018-02-23",
         "lastupdatedate":"2018-02-23",
         "lastupdatedby":"-1",
         "lastupdatelogin":-1
      },
      {
         "CAttr1":"2",
         "caseId":1904170,
         "createdby":"-1",
         "creationdate":"2018-02-23",
         "lastupdatedate":"2018-02-23",
         "lastupdatedby":"-1",
         "lastupdatelogin":-1
      },
      {
         "CAttr1":"2",
         "caseId":1903503,
         "createdby":"-1",
         "creationdate":"2018-02-23",
         "lastupdatedate":"2018-02-23",
         "lastupdatedby":"-1",
         "lastupdatelogin":-1
      }
   ],
   "returnMsg":"Success"
}

createTimeline (Work Order Timeline REST API)

URL: /aimfgapi/vof/v1/trace/timeline/createTimeline

Request Parameters
Parameter Name Description Type Required?
entityType Type of entity for which event is created. Integer Yes. The only valid value is 5.
entityName Work order name. String Yes
organizationCode Organization code. String Yes
eventDate Date on which the event occurred, in ISO date format. Integer Yes. ISO date format required (yyyy-MM-dd'T'HH:mm:ss.SSSXXX).
eventText First line of event display. String Yes
eventText2 Second line of event display. String Yes
displayType The icon that is displayed for this event from the standard list. String No. Provide a valid icon mapping. See: Icon Mapping.
activeStartDate Date from which to show the event, in ISO date format. Integer No. ISO date format required (yyyy-MM-dd'T'HH:mm:ss.SSSXXX).
activeEndDate Date from which the event ends, in ISO date format. Integer No. ISO date format required (yyyy-MM-dd'T'HH:mm:ss.SSSXXX).
modeFlag INSERT - Create new event.
UPDATE - Update the existing event's active start or active end date.
String Yes. Either INSERT or UPDATE is required.
textColor Text color for display. String No. Supply a valid color hex code.
iconColor Icon color String No. Supply a valid color hex code.
retainDetails Determines whether to delete or retain the details when updating an event. N = remove details. Y = retain details. Null = same behavior as Y. String No. Valid values are Y, N, or null.
attributeText Label in details. String No
attributeValue Value in details. String No
sequenceNumber Order of display in details. Integer No
textColor Text color in details. String No. Supply a valid color hex code.
Response Parameters
Parameter Name Description Type
totalEvents Total events. Integer
validEvents Valid events. Integer
invalidEvents Invalid events. Integer

Example: Work Order Timeline Payload

{
    "events" : [
        {
            "entityName" : "130651",
            "entityType" : 5,
            "organizationCode" : "PR1",
            "eventDate" : "2017-12-11T09:57:19.000Z",
            "eventText" : "Tested",
			"eventText2" : "Verified",
            "displayType" : "5",
            "activeStartDate" : "2017-01-01T01:00:00.000Z",
            "activeEndDate" : "2018-02-02T01:00:00.000Z",
            "modeFlag" : "INSERT",
			"textColor" : "#67b460",
			"iconColor" : "#67b460",
            "details" : [
                {
                    "attributeText" : "Verified By",
                    "attributeValue" : "Martin ",
                    "sequenceNumber" : 1,
                    "highlight" : 2,
					"textColor" : "#67b460"
                },
                {
                    "attributeText" : "Termination Date",
                    "attributeValue" : "18-MAR-16",
                    "sequenceNumber" : 2,
                    "highlight" : 3,
					"textColor" : "#67b460"
                }
            ]
        },
        {
            "entityName" : "121994",
            "entityType" : 5,
            "organizationCode" : "M1",
            "eventDate" : "2017-12-11T01:00:00.000Z",
            "eventText" : "Terminated",
			"eventText2" : "Verified",
            "displayType" : "1",
            "activeStartDate" : "2017-03-03T01:00:00.000Z", 
            "activeEndDate" : "2018-04-03T01:00:00.000Z",
            "modeFlag" : "INSERT",
			"textColor" : "#67b460",
			"iconColor" : "#67b460",
            "details" : [
                {
                    "attributeText" : "Terminated By",
                    "attributeValue" : "Mark Smith",
                    "sequenceNumber" : 1,
                    "highlight" : 2,
					"textColor" : "#67b460"
                },
                {
                    "attributeText" : "Termination Date",
                    "attributeValue" : "18-MAR-16",
                    "sequenceNumber" : 2,
                    "highlight" : 3,
					"textColor" : "#67b460"
                }
            ]
        },
		{
            "entityName" : "121995",
            "entityType" : 5,
            "organizationCode" : "M1",
            "eventDate" : "2017-02-11T01:00:00.000Z",
            "eventText" : "Created",
			"eventText2" : "Verified",
            "displayType" : "1",
            "activeStartDate" : "2017-05-05T01:00:00.000Z", 
            "activeEndDate" : "2018-06-06T01:00:00.000Z",
            "modeFlag" : "INSERT",
			"textColor" : "#67b460",
			"iconColor" : "#67b460",
            "details" : [
                {
                    "attributeText" : "Terminated By",
                    "attributeValue" : "Jonathan Smith",
                    "sequenceNumber" : 1,
                    "highlight" : 2,
					"textColor" : "#67b460"
                },
                {
                    "attributeText" : "Termination Date",
                    "attributeValue" : "18-MAR-16",
                    "sequenceNumber" : 2,
                    "highlight" : 3,
					"textColor" : "#67b460"
                }
            ]
        }
    ]
}

Example Output Responses

This is an example of a successful output response:

{
    "events" : [
    ],
    "invalidEvents" : 0,
    "totalEvents" : 1,
    "validEvents" : 1
}

This is an example of an output response resulting in error:

{
    "events" : [
        {
            "activeEndDate" : "2018-06-06T01:00:00.000Z",
            "activeStartDate" : "2017-05-05T01:00:00.000Z",
            "details" : [
                {
                    "attributeText" : "Terminated By",
                    "attributeValue" : "Jonathan Smith",
                    "sequenceNumber" : 1,
                    "textColor" : "#67b460"
                },
                {
                    "attributeText" : "Termination Date",
                    "attributeValue" : "18-MAR-16",
                    "sequenceNumber" : 2,
                    "textColor" : "#67b460"
                }
            ],
            "displayType" : "1",
            "entityName" : "121995",
            "entityType" : "21",
            "eventDate" : "2017-02-11T01:00:00.000Z",
            "eventText" : "Created",
            "iconColor" : "#67b460",
            "modeFlag" : "INSERT",
            "organizationCode" : "M1",
            "status" : 1,
            "statusCode" : "Invalid Entity Type",
            "textColor" : "#67b460"
        }
    ],
    "invalidEvents" : 1,
    "totalEvents" : 1,
    "validEvents" : 0
}

createTimeline (Serial Timeline REST API)

URL: /aimfgapi/vof/v1/trace/timeline/createTimeline

Request Parameters
Parameter Name Description Type Required?
entityType Type of entity for which event is created. Integer Yes. The only valid value is 2.
serialNumber Serial number. String Yes
itemName Item name. String Yes
organizationCode Organization code. String No
eventDate Date on which the event occurred, in ISO date format. Integer Yes. ISO date format required ((yyyy-MM-dd'T'HH:mm:ss.SSSXXX)).
eventText First line of event display. String Yes
eventText2 Second line of event display. String Yes
displayType The icon that is displayed for this event from the standard list. String No. Provide a valid icon mapping. See: Icon Mapping.
activeStartDate Date from which to show the event, in ISO date format. Integer No. ISO date format required (yyyy-MM-dd'T'HH:mm:ss.SSSXXX).
activeEndDate Date from which the event ends, in ISO date format. Integer No. ISO date format required (yyyy-MM-dd'T'HH:mm:ss.SSSXXX).
modeFlag INSERT - Create new event.
UPDATE - Update the existing event's active start or active end date.
String Yes. Either INSERT or UPDATE is required.
textColor Text color for display. String No. Supply a valid color hex code.
iconColor Icon color String No. Supply a valid color hex code.
retainDetails Determines whether to delete or retain the details when updating an event. N = remove details. Y = retain details. Null = same behavior as Y. String No. Valid values are Y, N, or null.
attributeText Label in details. String No
attributeValue Value in details. String No
sequenceNumber Order of display in details. Integer No
textColor Text color in details. String No. Supply a valid color hex code.
Response Parameters
Parameter Name Description Type
totalEvents Total events. Integer
validEvents Valid events. Integer
invalidEvents Invalid events. Integer

Example: Serial Timeline Payload

{
    "events" : [
        {
            "serialNumber" : "ARKS61797",
            "itemName" : "ARK PP Serial Item2",
            "entityType" : 2,
            "eventDate" : "2017-12-11T09:57:19.000Z",
            "eventText" : "Created",
				"eventText2" : "Serial Timeline event2",
				"organizationCode" : "M1",
            "displayType" : "1",
            "activeStartDate" : "2017-12-11T09:57:19.000Z",
            "activeEndDate" : "2018-12-11T09:57:19.000Z",
            "modeFlag" : "INSERT",
            "iconColor" : "#67b460",
            "details" : [
                {
                    "attributeText" : "Terminated By",
                    "attributeValue" : "Jonathan Smith",
                    "sequenceNumber" : 1
                },
                {
                    "attributeText" : "Termination Date",
                    "attributeValue" : "18-MAR-16",
                    "sequenceNumber" : 2
                }
            ]
        }
    ]
}

Example Output Responses

This is an example of a successful output response:

{
    "events" : [
    ],
    "invalidEvents" : 0,
    "totalEvents" : 1,
    "validEvents" : 1
}

This is an example of an output response resulting in error:

{
    "events" : [
        {
            "activeEndDate" : "2018-06-06T01:00:00.000Z",
            "activeStartDate" : "2017-05-05T01:00:00.000Z",
            "details" : [
                {
                    "attributeText" : "Terminated By",
                    "attributeValue" : "Jonathan Smith",
                    "sequenceNumber" : 1,
                    "textColor" : "#67b460"
                },
                {
                    "attributeText" : "Termination Date",
                    "attributeValue" : "18-MAR-16",
                    "sequenceNumber" : 2,
                    "textColor" : "#67b460"
                }
            ],
            "displayType" : "1",
            "entityName" : "121995",
            "entityType" : "21",
            "eventDate" : "2017-02-11T01:00:00.000Z",
            "eventText" : "Created",
            "iconColor" : "#67b460",
            "modeFlag" : "INSERT",
            "organizationCode" : "M1",
            "status" : 1,
            "statusCode" : "Invalid Entity Type",
            "textColor" : "#67b460"
        }
    ],
    "invalidEvents" : 1,
    "totalEvents" : 1,
    "validEvents" : 0
}

createTimeline (Equipment Timeline REST API)

URL: /aimfgapi/vof/v1/trace/timeline/createTimeline

Request Parameters
Parameter Name Description Type Required?
entityType Type of entity for which event is created. Integer Yes. The only valid value is 10.
departmentCode Equipment department. Applicable only for discrete organizations. String Yes
resourceCode Resource code for the equipment. String Yes
equipmentName Equipment item name. String Yes
instanceNumber Equipment instance number. Applicable only for process organizations. Integer Yes
serialNumber Equipment Serial Number String Yes
organizationCode Organization code. String No
eventDate Date on which the event occurred, in ISO date format. Integer Yes. ISO date format required ((yyyy-MM-dd'T'HH:mm:ss.SSSXXX)).
eventText First line of event display. String Yes
eventText2 Second line of event display. String Yes
displayType The icon that is displayed for this event from the standard list. String No. Provide a valid icon mapping. See: Icon Mapping.
activeStartDate Date from which to show the event, in ISO date format. Integer No. ISO date format required ((yyyy-MM-dd'T'HH:mm:ss.SSSXXX)).
activeEndDate Date from which the event ends, in ISO date format. Integer No. ISO date format required ((yyyy-MM-dd'T'HH:mm:ss.SSSXXX)).
modeFlag INSERT - Create new event.
UPDATE - Update the existing event's active start or active end date.
String Yes. Either INSERT or UPDATE is required.
textColor Text color for display. String No. Supply a valid color hex code.
iconColor Icon color String No. Supply a valid color hex code.
retainDetails Determines whether to delete or retain the details when updating an event. N = remove details. Y = retain details. Null = same behavior as Y. String No. Valid values are Y, N, or null.
attributeText Label in details. String No
attributeValue Value in details. String No
sequenceNumber Order of display in details. Integer No
textColor Text color in details. String No. Supply a valid color hex code.
Response Parameters
Parameter Name Description Type
totalEvents Total events. Integer
validEvents Valid events. Integer
invalidEvents Invalid events. Integer

Example: Equipment Timeline Payload

/* For Process Enabled */

{
    "events" : [
        {
            "entityType" : 10,
            "instanceNumber" : 1,
            "resourceCode" : "1-BLENDER",
            "equipmentName" : "EQ-1002",
            "serialNumber" : "BLENDER-01",
            "organizationCode" : "PR1",
            "eventDate" : "2017-12-11T09:57:19.000Z",
            "eventText" : "Process Machine extended event 1",
				"eventText2" : "Process Machine extended event 2"
            "displayType" : 1,
            "activeStartDate" : "2017-12-11T09:57:19.000Z",
            "activeEndDate" : "2018-12-11T09:57:19.000Z",
            "modeFlag" : "INSERT",
            "textColor" : "#67b460",
            "iconColor" : "#67b460",
            "details" : [
                {
                    "attributeText" : "Started By ",
                    "attributeValue" : "Jonathan ",
                    "sequenceNumber" : 1,
                    "textColor" : "#67b460"
                },
                {
                    "attributeText" : "Started Date",
                    "attributeValue" : "18-MAR-16",
                    "sequenceNumber" : 2,
                    "textColor" : "#67b460"
                }
            ]
        }
    ]
}

/* For Discrete */

{
    "events" : [
        {
            "entityType" : 10,
            "departmentCode" : "MOLDING",
            "resourceCode" : "INJECTMOLD",
            "equipmentName" : "EQ00001",
            "serialNumber" : "INJ00001",
            "organizationCode" : "M1",
            "eventDate" : "2017-12-11T09:57:19.000Z",
            "eventText" : "Discrete Machine extended event 1",
            "displayType" : 1,
            "activeStartDate" : "2017-12-11T09:57:19.000Z",
            "activeEndDate" : "2018-12-11T09:57:19.000Z",
            "modeFlag" : "INSERT",
            "textColor" : "#67b460",
            "iconColor" : "#67b460",
            "details" : [
                {
                    "attributeText" : "Started By ",
                    "attributeValue" : "Jonathan ",
                    "sequenceNumber" : 1,
                    "textColor" : "#67b460"
                },
                {
                    "attributeText" : "Started Date",
                    "attributeValue" : "18-MAR-16",
                    "sequenceNumber" : 2,
                    "textColor" : "#67b460"
                }
            ]
        }
    ]
}

Example Output Responses

This is an example of a successful output response:

{
    "events" : [
    ],
    "invalidEvents" : 0,
    "totalEvents" : 1,
    "validEvents" : 1
}

This is an example of an output response resulting in error:

{
    "events" : [
        {
            "activeEndDate" : "2018-06-06T01:00:00.000Z",
            "activeStartDate" : "2017-05-05T01:00:00.000Z",
            "details" : [
                {
                    "attributeText" : "Terminated By",
                    "attributeValue" : "Jonathan Smith",
                    "sequenceNumber" : 1,
                    "textColor" : "#67b460"
                },
                {
                    "attributeText" : "Termination Date",
                    "attributeValue" : "18-MAR-16",
                    "sequenceNumber" : 2,
                    "textColor" : "#67b460"
                }
            ],
            "displayType" : "1",
            "entityName" : "121995",
            "entityType" : "21",
            "eventDate" : "2017-02-11T01:00:00.000Z",
            "eventText" : "Created",
            "iconColor" : "#67b460",
            "modeFlag" : "INSERT",
            "organizationCode" : "M1",
            "status" : 1,
            "statusCode" : "Invalid Entity Type",
            "textColor" : "#67b460"
        }
    ],
    "invalidEvents" : 1,
    "totalEvents" : 1,
    "validEvents" : 0
}

createTimeline (Lot Timeline REST API)

URL: /aimfgapi/vof/v1/trace/timeline/createTimeline

Request Parameters
Parameter Name Description Type Required?
entityType Type of entity for which event is created. Integer Yes. The only valid value is 1.
lotNumber Lot number. String Yes
itemName Item name. String Yes
organizationCode Organization code. String Yes
eventDate Date on which the event occurred, in ISO date format. Integer Yes. ISO date format required ((yyyy-MM-dd'T'HH:mm:ss.SSSXXX)).
eventText First line of event display. String Yes
eventText2 Second line of event display. String Yes
displayType The icon that is displayed for this event from the standard list. String No. Provide a valid icon mapping. See: Icon Mapping.
activeStartDate Date from which to show the event, in ISO date format. Integer No. ISO date format required ((yyyy-MM-dd'T'HH:mm:ss.SSSXXX)).
activeEndDate Date from which the event ends, in ISO date format. Integer No. ISO date format required ((yyyy-MM-dd'T'HH:mm:ss.SSSXXX)).
modeFlag INSERT - Create new event.
UPDATE - Update the existing event's active start or active end date.
String Yes. Either INSERT or UPDATE is required.
textColor Text color for display. String No. Supply a valid color hex code.
iconColor Icon color String No. Supply a valid color hex code.
retainDetails Determines whether to delete or retain the details when updating an event. N = remove details. Y = retain details. Null = same behavior as Y. String No. Valid values are Y, N, or null.
attributeText Label in details. String No
attributeValue Value in details. String No
sequenceNumber Order of display in details. Integer No
textColor Text color in details. String No. Supply a valid color hex code.
Response Parameters
Parameter Name Description Type
totalEvents Total events. Integer
validEvents Valid events. Integer
invalidEvents Invalid events. Integer

Example: Lot Timeline Payload

{    "events" : [
        {
            "lotNumber" : "LT-ARKS61797",
            "itemName" : "ARK PP Item2",
            "entityType" : 1,
            "eventDate" : "2017-12-11T09:57:19.000Z",
            "eventText" : "Automation",
            "eventText2" : "Testing"
	    "organizationCode" : "M1",
            "displayType" : "1",
            "activeStartDate" : "2017-12-11T09:57:19.000Z",
            "activeEndDate" : "2018-12-11T09:57:19.000Z",
            "modeFlag" : "INSERT",
            "iconColor" : "#67b460",
            "details" : [
                {
                    "attributeText" : "Tested By",
                    "attributeValue" : "Jonathan Smith",
                    "sequenceNumber" : 1
                },
                {
                    "attributeText" : "Test Reason",
                    "attributeValue" : "Auditing",
                    "sequenceNumber" : 2
                }
            ]
        }
    ]
}

Example Output Responses

This is an example of a successful output response:

{
    "events" : [
    ],
    "invalidEvents" : 0,
    "totalEvents" : 1,
    "validEvents" : 1
}

This is an example of an output response resulting in error:

{
    "events" : [
{
            "activeEndDate" : "2018-06-06T01:00:00.000Z",
            "activeStartDate" : "2017-05-05T01:00:00.000Z",
            "details" : [
                {
                    "attributeText" : "Tested By",
                    "attributeValue" : "Jonathan Smith",
                    "sequenceNumber" : 1,
                    "textColor" : "#67b460"
                },
                {
                    "attributeText" : "Test Reason",
                    "attributeValue" : "Auditing",
                    "sequenceNumber" : 2,
                    "textColor" : "#67b460"
                }
            ],
            "displayType" : "1",
            "lotNumber" : "121995",
"itemName" : "121995",
            "entityType" : "1",
            "eventDate" : "2017-02-11T01:00:00.000Z",
            "eventText" : "Created",
            "iconColor" : "#67b460",
            "modeFlag" : "INSERT",
            "organizationCode" : "M1",
            "status" : 1,
            "statusCode" : "Invalid Entity Type",
            "textColor" : "#67b460"
        }
    ],
    "invalidEvents" : 1,
    "totalEvents" : 1,
    "validEvents" : 0
}

insertUpdateEntity (User Defined Entity REST API)

URL: /aimfgapi/vof/v1/trace/setup/entity/insertUpdateEntity

Request Parameters
Parameter Name Description Type Required?
entityType Type of custom entity. Integer Yes. Any valid custom entity value of 100 or greater.
entityName The name for the custom entity. String Yes. Can include up to 128 characters.
StartDate Effective start date for the association. Date No. Defaults to the system date. ISO date format required ((yyyy-MM-dd'T'HH:mm:ss.SSSXXX)).
EndDate Effective end date for the association. Date No. Defaults to the system date. ISO date format required ((yyyy-MM-dd'T'HH:mm:ss.SSSXXX)).
moduleName The name of the module using the entity. String No
orderNumber Display order in search. Integer No
isCustom Identifies the entity as either custom or seeded. Integer No. Valid values are 1 (for seeded) or 2 (for custom).
displayType Identifies the icon to display. String No. Valid values are 1 to 22. See: Icon Mapping.
iconColor Identifies the icon color of the entity. String No. The default value is #8dc592. Use a valid color hex code.
modeFlag INSERT - Create new entity.
UPDATE - Update the existing entity's start or active date.
DELETE - Delete the entity.
String Yes. A value of INSERT, DELETE, or UPDATE is required.
filterLabel1 Search filter label used when the entity is selected in the Timeline view. String No
filterLabel2 Search filter label used when the entity is selected in the Timeline view. String No
filterLabel3 Search filter label used when the entity is selected in the Timeline view. String No
viewType Specifies whether entity can be viewed in the Timeline, Network, or both. String No. Valid values are T (for timeline), N (for network) or null (for both). Null is the default value.
Response Parameters
Parameter Name Description Type
totalEvents Total events. Integer
validEvents Valid events. Integer
invalidEvents Invalid events. Integer

Example: Insert an Entity Payload for a Timeline and Network

{
"entities": [
{
"entityType": 101,
"entityName": "Quality_test",
"startDate": "2018-02-05T09:57:19.000Z",
"endDate" : "2018-02-05T09:57:19.000Z",
"moduleName" :"Manufacturing",
"orderNumber" :2,
"isCustom" :2,
"displayType":1,
"iconColor":"#fffff",
"filterLabel1":"Events",
"filterLabel2":"Operations",
"filterLabel3":"Alerts",
"modeFlag": "INSERT"
}
]
}	

Example: Insert an Entity Payload for a Timeline

{
"entities": [
{
"entityType": 101,
"entityName": "Quality_test",
"startDate": "2018-02-05T09:57:19.000Z",
"endDate" : "2018-02-05T09:57:19.000Z",
"moduleName" :"Manufacturing",
"orderNumber" :2,
"isCustom" :2,
"displayType":1,
"iconColor":"#fffff",
"filterLabel1":"Events",
"filterLabel2":"Operations",
"filterLabel3":"Alerts",
"modeFlag": "INSERT"
"entityViews" : [
                {
                    "viewType" : "T"
                }
            ]
}
]
}

createHeader (User Defined Entity Instance REST API)

URL: /aiamfgapi/vof/v1/trace/timeline/createHeader/

Request Parameters
Parameter Name Description Type Required?
entityType Type of entity for which event is created. Integer Yes. Any valid custom entity value of 100 or greater.
organizationCode Organization code. String Yes
subtype Process or discrete organization. Integer Yes. Valid values are 1 or 2.
1 = Discrete, 2 = Process.
headerDisplayLine1 Primary display name of the entity instance. String Yes
headerDisplayLine2 Secondary display name of the entity instance. String Yes
headerDescription Description of the entity instance. String Yes
modeFlag INSERT - Create new entity.
UPDATE - Update the existing entity.
String Yes. A value of INSERT or UPDATE is required.
entity_pk1 Identifier1 for entity String Yes
entity_pk2 Identifier2 for entity String Yes
entity_pk3 Identifier3 for entity String Yes
entity_pk4 Identifier4 for entity String Yes
entity_pk5 Identifier5 for entity String Yes

Example: Insert a Header Payload

{
"headers" : [
{
"entityType" : 201,
"organizationCode" :"PR1",
"subType":2,
"headerDisplayLine1" : "SR-00001",
"headerDisplayLine2" : "RNC SR",
"headerDescription" : "Internal Service Request created",
"modeFlag" : "INSERT",
"entity_pk1" : "RNC SOURCE",
"entity_pk2" : "RNC SEVERITY",
"entity_pk3" : "RNC STATUS",
"entity_pk4" : "RNC PRIORITY ",
"entity_pk5" : "RNC OWNER"
}
]
}

createNetwork (Create Network)

URL: /aimfgapi/vof/v1/trace/network/createNetwork

Request Parameters
Parameter Name Description Type Required?
For the node structure:      
objectType Specifies the object type of the node. Integer Yes. Provide one of the following values: 1- Lot; 2-Serial; 5- Work Order; 6 - PO; 7- SO; 100 and above- User Defined.
ObjectId Specifies the type of object ID. Integer No. Select the ObjectId based on the objectType value. 1- Lot GenobjectId; 2-Serial GenobjectId; 5- Work Order GenobjectId; 6 - PO Header Id; 7- SO Header Id; 100 and above- User Defined Object unique identifier.
objectNumber Specifies the type of number used for the object. Integer No. Select the objectNumber based on the ObjectType value. 1- Lot Number; 2-Serial Number; 5- Work Order ; 6 - PO Number; 7- SO Number; 100 and above- User Defined Object Name.
orgCode Organization code for the object number specified. String Yes, but not required for objectType = 6 or 7.
itemName The Inventory item associated with the object. String Yes, but not required for objectType = 6 or 7.
lineText1 First line of node display. String No
lineText2 Second line of node display. String No
lineText3 Third line of node display. String No
textColor The text color of the node display lines. String No, but use a valid color hex code.
iconColor The node icon color. String No, but use a valid color hex code.
displayType The icon that is displayed for this node.   No. Select from the following valid values: 1- Lot; 2-Serial; 5- Work Order; 6 - PO; 7- SO; 100 and above- User Defined.
modeFlag Indicates whether to insert, update, or merge a node. String Yes. Valid values are: INSERT - inserts a new node. UPDATE - updates an existing node attribute. MERGE- updates node attributes on an existing node and creates nonexisting nodes.
retainDetails Determines whether to delete or retain details during an event update. String No. Valid values are: N - details are removed. Y - details are retained. Null - same behavior as Y.
Node Structure Details:      
attributeText Label in details. String No.
attributeValue Value in details. String No.
sequenceNumber Order of display. String No.
textColor Text color. String No, but use a valid color hex code.
Link Structure:      
linkColor Color of the line that links two nodes. String No, but use a valid color hex code.
modeFlag Indicates whether to insert, update, or merge a link. String Yes. Valid values are: INSERT - inserts a new link. UPDATE - updates an existing link attribute. MERGE- updates attributes of an existing link and creates nonexisting links.
activeStartDate Date from which to show the link.   No. ISO date format required (yyyy-MM-dd'T'HH:mm:ss.SSSXXX).
activeEndDate Date from which to stop showing the link.   No. ISO date format required (yyyy-MM-dd'T'HH:mm:ss.SSSXXX).
retainDetails Determines whether to delete or retain details when updating the event.   No. Valid values are: N - details are removed. Y - details are retained. Null - same behavior as Y.
Link Structure Details:      
attributeText Label in details. String No.
attributeValue Value in details. String No.
sequenceNumber Order of display. String No.
textColor Text color. String No, but use a valid color hex code.
For defining an indicator to a node:      
indicatorCode Code used to identify a user defined indicator icon. Integer No. Valid values are 1001 through 1006.
colorCode Code used to identify the color of the user defined indicator icon. Integer No. Valid values are 1 and 2. 1 = Red and 2 = Green.
description   String No
startDate Date from which to show the user defined indicator icon. Date No. ISO date format required (yyyy-MM-dd'T'HH:mm:ss.SSSXXX).
endDate Date from which to stop showing the user defined indicator icon. Date No. ISO date format required (yyyy-MM-dd'T'HH:mm:ss.SSSXXX).
Response Parameters
Parameter Name Description Type
For links:    
linksInserted The number of new links created. Integer
linksUpdated The number of links changed. Integer
totalLinks The total number of inserted and updated links. Integer
invalidLinks The number of links with errors. Integer
For nodes:    
nodesInserted The number of new nodes created. Integer
nodesUpdated The number of nodes changed. Integer
invalidNodes The number of invalid nodes Integer
totalNodes The total number of inserted and updated nodes. Integer

Example 1

{
    "nodes" : [
        {
            "fromNode" : {
                "node" : {
                        	"objectType" : 5,
                       	"entityType" : 2
                        	"objectNumber" : "BATCH100",
                        	"orgCode" : "PR1",
                        	"modeFlag" : "MERGE"
                    		}	
            					},
            "toNode" : {
                "node" : {
                        "objectType" : 112,
                        "objectNumber" : "10022",
                        "objectId" : 123,
                        "lineText1" : "Testing",
                        "lineText2" : "BatchAttr Test",
                        "lineText3" : "BatchAttr Test34 ",
                        "modeFlag" : "MERGE",
                        "retainDetails" : "Y",
                        "displayType" : "2",
                        "textColor":"#FF7F50",
                        "iconColor":"#FF7F50",
                         "details" : {
                            "detail" : [
                                {
                                    "attributeText" : "BatchCustNodeDtl",
                                    "attributeValue" : "Testing ",
                                    "sequenceNumber" : 1,
                                    "textColor" : "#9500d8"
                               	 }
                            ]
                        }
                    }
            },
            "link" : {
                "linkColor" : "#0000FF",
                "modeFlag" : "MERGE",
                "activeStartDate" : "13-01-2017",
                "activeEndDate" : "13-01-2017",
                "retainDetails" : "N",
                "details" : {
                            "detail" : [
                                {
                                    "attributeText" : "BatchAttrLink",
                                    "attributeValue" : "Testing ",
                                    "sequenceNumber" : 1,
                                    "textColor" : "#9500d8"
                                    }
                            ]
                        }
            }
        }
    ]
}

Example 2

{
    "nodes" : [
        {
            "fromNode" : {
                "node" : {
                        "objectType" : 7,
                        "objectNumber" : "150023",
                        "modeFlag" : "MERGE"
                    }
            },
            "toNode" : {
                "node" : {
                        "objectType" : 100,
                        "objectNumber" : "EM50021",
                        "lineText1" : "Bearing",
                        "lineText2" : "New Bearing",
                        "lineText3" : "Old #Bearing ",
                        "modeFlag" : "MERGE",
                        "retainDetails" : "Y"
                    }
            },
            "link" : {
   
                "modeFlag" : "MERGE",
               "activeStartDate" : "13-01-2017",
                "retainDetails" : "Y",
                "details" : {
                            "detail" : [
                                {
                                    "attributeText" : "VendorDetails",
                                    "attributeValue" : "Vendor1Dtls ",
                                    "sequenceNumber" : 1,
                                    "textColor" : "#9500d8"
                                    }
                            ]
                        }
            }
        }
    ]
}

Example 3

{
    "nodes" : [
        {
            "fromNode" : {
                "node" : {
                        "objectType" : 7,
                        "objectNumber" : "150025",
                        "modeFlag" : "MERGE"                                              
                    }
            },
            "toNode" : {
                "node" : {
                        "objectType" : 101,
                        "objectNumber" : "150025TurbineSerial",
                        "lineText1" : "My",
                        "lineText2" : "WindTurbine",
                        "lineText3" : "Down",
                        "modeFlag" : "MERGE",
                       "textColor":"#FF7F50",
                       "iconColor":"#FF7F50",
                        "retainDetails":"Y",
                        "details" : {
                            "detail" : [
                                {
                                    "attributeText" : "InstalledBy",
                                    "attributeValue" : "Jonathan",
                                    "sequenceNumber" : 1,
                                    "textColor":"#FF7F50"
                                }
                            ]
                        }
                    }
            },
            "link" : {
                "modeFlag" : "MERGE",
               "activeStartDate" : "13-01-2017",
                "activeEndDate" : "01-02-2017",
               "linkColor":"#FF7F50",
                "retainDetails" : "Y",
                "details" : {
                            "detail" : [
                                {
                                    "attributeText" : "Shipped By",
                                    "attributeValue" : "Fleet",
                                    "sequenceNumber" : 1,
                                    "textColor" : "#FF7F50"
                                    }
                            ]
                        }
            }
        },
         {
            "fromNode" : {
                "node" : {
                        "objectType" : 102,
                        "objectNumber" : "TurbineIncidents2",
                        "lineText1" : "My",
                        "lineText2" : "Wind Turbine Incident2",
                        "lineText3" : "Rotor Problem",
                        "modeFlag" : "INSERT",
                       "textColor":"#FF7F50",
                       "iconColor":"#FF7F50",
                        "retainDetails":"Y",  
                         "details" : {
                            "detail" : [
                                {
                                    "attributeText" : "Reported By",
                                    "attributeValue" : "Jonathan",
                                    "sequenceNumber" : 1,
                                    "textColor":"#FF7F50"
                                }
                            ]
                        }
                    }
            },
            "toNode" : {
                "node" : {
                        "objectType" : 101,
                        "objectNumber" : "150025TurbineSerial",
                        "lineText1" : "My",
                        "lineText2" : "Wind Turbine",
                        "lineText3" : "Good",
                        "modeFlag" : "MERGE",
                       "textColor":"#FF7F50",
                       "iconColor":"#FF7F50",
                        "retainDetails":"Y",
                        "details" : {
                            "detail" : [
                                {
                                    "attributeText" : "Installed By",
                                    "attributeValue" : "Jonathan",
                                    "sequenceNumber" : 1,
                                    "textColor":"#FF7F50"
                                }
                            ]
                        }
                    }
            },
            "link" : {
                "modeFlag" : "MERGE",
               "activeStartDate" : "13-01-2017",

               "linkColor":"#FF7F50",
                "retainDetails" : "Y",
                "details" : {
                            "detail" : [
                                {
                                    "attributeText" : "Found By",
                                    "attributeValue" : "RPM Analysis",
                                    "sequenceNumber" : 1,
                                    "textColor" : "#FF7F50"
                                    },
                                     {
                                    "attributeText" : "Reported Date",
                                    "attributeValue" : "25-Jan-2017",
                                    "sequenceNumber" : 1,
                                    "textColor" : "#FF7F50"
                                    }
                            ]
                        }
            }
        }
    ]
}

Example 4: Defining an Indicator to a Node

{
		"nodes": [{
				"fromNode": {
						"node": {
								"objectType": 100,
								"objectNumber": "EM50021",
								"lineText1": "Bearing",
								"lineText2": "New Bearing",
								"lineText3": "Old #Bearing ",
								"modeFlag": "INSERT",
								"retainDetails": "Y",
								"indicators": [{
								"indicatorCode": 1001,
								"colorCode": 1,
								"description": "description",
								"startDate": "2018-12-03T02:08:56.000Z",
								"endDate": "2019-11-29T16:30:00.000Z"
									}
								}
					}]
}

Example Output Responses

This is an example of a successful output response:

{
    "links" : [ ],
    "linksInserted" : 1,
    "linksUpdated" : 0,
    "nodes" : [ ],
    "nodesInserted" : 2,
    "nodesUpdated" : 0,
    "totalLinks" : 1,
    "totalNodes" : 2
}

This is an example of an output response resulting in error:

{
    "invalidLinks" : 1,
    "links" : [
        {   
            "failureReason" : "End Date should be greater than Start Date",
            "status" : 2,
            "statusCode" : "INCORRECT_END_DATE",
            "activeEndDate" : "2017-04-09T02:08:56.000Z",
            "activeStartDate" : "2017-04-10T02:08:56.000Z"
        },
        {   
            "failureReason" : "End Date should be greater than Start Date",
            "status" : 2,
            "statusCode" : "INCORRECT_END_DATE",
            "activeEndDate" : "2017-04-09T02:08:56.000Z",
            "activeStartDate" : "2017-04-10T02:08:56.000Z"
        }
    ],
    "linksInserted" : 0,
    "linksUpdated" : 1,
    "nodes" : [
    ],
    "nodesInserted" : 0,
    "nodesUpdated" : 2,
    "totalLinks" : 1,
    "totalNodes" : 2
}

Icon Mapping

The Seeded Icons table below lists the icons that display when using the corresponding display type in one of the above web services. Some of the icons are shown as black below, but are actually achromatic and superimposed on a preset background color. The background color indicates the type of material move transaction.

Seeded Icons
Display Type Icon Used Description
1

the picture is described in the document text

Lot
2

the picture is described in the document text

Serial
3

the picture is described in the document text

Operation
4

the picture is described in the document text

Component
5

the picture is described in the document text

Work Order
6

the picture is described in the document text

Purchase Order
7

the picture is described in the document text

Shipment
8

the picture is described in the document text

Assembly
9

the picture is described in the document text

Exception
10

the picture is described in the document text

Operator
11

the picture is described in the document text

Equipment
12

the picture is described in the document text

Quality
13

the picture is described in the document text

Maintenance
14

the picture is described in the document text

Status Updates
15

the picture is described in the document text

Pattern Match
16

the picture is described in the document text

Threshold Violation
17

the picture is described in the document text

Material Movement Outside
18

the picture is described in the document text

Material Movement Inside
19

the picture is described in the document text

Return Procured Material
20

the picture is described in the document text

Movement Within the Organization
21

the picture is described in the document text

Movement Across the Organization
22

the picture is described in the document text

Customer Returns
Null/Default

the picture is described in the document text

Default Icon

The User Defined Indicator Icons table below lists the icons that display when an indicator code is defined for a node.

User Defined Indicator Icons
Indicator Code Icon Used Description
1001

the picture is described in the document text

the picture is described in the document text

Up/Down
1002

the picture is described in the document text

the picture is described in the document text

Yes/No
1003

the picture is described in the document text

the picture is described in the document text

Green/Red Flag
1004

the picture is described in the document text

the picture is described in the document text

Green/Red Signal
1005

the picture is described in the document text

the picture is described in the document text

Problem/Resolved
1006

the picture is described in the document text

the picture is described in the document text

Repair Up/Down

Using Outbound REST Web Services

insights (Get Quality Insights)

URL: /aimfgapi/vof/v1/public/hda/quality/insights

Request Parameters
Parameter Name Description Type Required?
organizationId Organization ID String Yes
itemName Inventory item name String No
qualityElement Quality element String No
insight Insight String No
publishDate Publish date Date No
Response Parameters
Parameter Name Description Type
count Total number of quality insight records. Integer
items Container parameter for item details.  
For items:    
type Type of insight. String
confidence Confidence Float/Double
insight Insight name. String
insightCode Insight code. String
insightId Insight ID. Integer
insightType Type of insight. String
itemDescription Item description. String
itemName Item name. String
kulc Statistical measure. Float/Double
lift Statistical measure. Float/Double
modelId Insight model ID. Integer
modelName Insight model name. String
operation Operation name. String
productRecipe Product recipe. String
publishDate Model publish date. Date
qualityElement Quality element. String
routingStepNo Routing step number. Integer
ruleId Rule ID. Integer
serialManufactured Is this item serial manufactured? Answered "Y" or "N". String
support The percentage of historical work orders supporting the pattern out of the total number of work orders analyzed. Integer
text Insight description. String
total Total number of insights found by the model. Integer
workOrderEndDate End date of work order date range. Date
workOrderStartDate Start date of work order date range. Date
For links:    
href Web site link. String
rel Descriptive attribute to href. String

Process Example: Get Quality Insights for Organization PR2 for Item AUTO02PROD1 between 2017-09-05T00:00:00.000Z and 2017-10-05T00:00:00.000Z

Http://host:port/aimfgapi/vof/v1/public/hda/quality/insights?organizationCode=PR2&q=itemName=AUTO02PROD1,publishDate>=2017-09-05T00:00:00.000Z,publishDate<=2017-10-05T00:00:00.000Z

Sample response payload:

{"count":12,
"items":[
{"type":"hdaPubQualityInsightsRow",
"confidence":1.0,
"insight":"On Target",
"insightCode":"ON_TARGET",
"insightId":3271,
"insightType":"Quality",
"itemDescription":"AUTO02PROD1",
"itemName":"AUTO02PROD1",
"kulc":0.85,
"lift":0.35,
"modelId":3202,
"modelName":"AUTO02_SD_Insights1",
"operation":"50 (AUTO02OP5)",
"productRecipe":"AUTO02RC1-1",
"publishDate":"2017-09-06T23:52:20-07:00",
"qualityElement":"AUTO02-Test_Num",
"routingStepNo":"2766",
"ruleId":"631",
"serialManufactured":"N",
"support":0.35,
"text":"35%  of the work orders of AUTO02PROD1 had AUTO02-Test_Num at Operation 50 (AUTO02OP5) On Target when  Operation 20 (AUTO02OP2) started -14.5 Sec   or less after the completion of prior operation ",
"total":40,
"workOrderEndDate":"2017-09-07T23:59:59-07:00",
"workOrderStartDate":"2017-03-07T00:00:00-08:00"},
.
.
.],
"links":[
{"href":"http://host:port/aimfgapi/vof/v1/public/hda/quality/insights?organizationCode=&organizationCode",
"rel":"self"},
{"href":"http://host:port/aimfgapi/vof/v1/public/hda/quality-insight-search-form",
"rel":"search-form"}]}

Discrete Example Response Payload

{"count":6,

"items": [

{"type":
"hdaPubQualityInsightsRow",
"bomDesignator":"Primary",
"bomRevision":"A",
"confidence":0.8998330550918197,
"insight":"On Target",
"insightCode":"ON_TARGET",
"insightId":3903,
"insightType":"Quality",
"inventoryItemId":858167,
"itemDescription":"Pinion Gear for G15 Gear box",
"itemName":"G15-Pinion Gear 07",
"kulc":0.930308684408655,
"lift":0.0,
"modelId":3178,
"modelName":"RJ_PG_07_TM02",
"operation":"20",
"productRecipe":"G15-Pinion Gear 07-A",
"publishDate":"2017-09-19T21:57:17-07:00",
"qualityElement":"Tooth Depth",
"routing":"G15-Pinion Gear 07-A",
"routingStepNo":"658276",
"ruleId":"981",
"serialManufactured":"N",
"support":0.44954128440366975,
"text":"44.95% of the work orders of G15-Pinion Gear 07 had Tooth Depth 
at Operation 20 On Target when AISI Grade of Component 3DP Main Mtl 
was more than 1025 , average Internal Temperature of &RESOURCE during 
the Operation 10-3DP was 120.86667 F or less, maximum Vibration 
of &RESOURCE during the Operation 10-3DP was 35.5 Hz or less",
"total":1199,
"workOrderEndDate":"2015-08-10T23:59:59-07:00",
"workOrderStartDate":"2015-06-10T00:00:00-07:00"}
,

...

],

"links":[

{"rel": "self",

"href": "http://host:port/aimfgapi/vof/v1/public/hda/quality/insights?organizationCode=&organizationCode"},

{"rel": "search-form",

"href": "http://host:port/aimfgapi/vof/v1/public/hda/insight-search-form"}

]}

quality-insight-search-form (Get Quality Insight Search Form)

URL: /aimfgapi/vof/v1/public/hda/quality-insight-search-form

Response Parameters
Parameter Name Description Type
code Syntax used for an operator. Boolean
types Types of parameters. String
description Description of the operator code. String
itemName Item name. string
publishDate Insight publish date. Date
operators Alphanumerical code used for an operator. String
rel Descriptive attribute to href. String
href Website. String

Example

{
"syntax": {
  "operators": {
    "eq": {"code": ["="], "types": ["string", "integer", "boolean","number"], "description": "equal", "example": "itemName=Item0933"},
    "ge": {"code": [">="], "types": ["date"], "description": "greater than or equal to", "example": "publishDate>=2017-06-20T00:00:00.000Z"},
    "le": {"code": ["<="], "types": ["date"], "description": "less than or equal to", "example": "publishDate<=2017-10-02T00:00:00.000Z"}
   },
  "logicalOperators": {
    "and": {"code": [","], "description": "logical and", "example": "publishDate>=2017-06-20T00:00:00.000Z,publishDate<=2017-10-02T00:00:00.000Z"}
  }
},
"propertyOperators": {
  "itemName": {
    "operators": ["eq"]
  },
    "publishDate": {
    "operators": ["ge"]
  },
    "publishDate": {
    "operators": ["le"]
  },
    "qualityElement": {
    "operators": ["eq"]
  },
    "insight": {
    "operators": ["eq"]
  }
},
"links": [
  {"rel": "self", "href": "http://host:port/aimfgapi/vof/v1/public/hda/quality-insight-search-form"},
  {"rel": "search", "href": "http://host:port/aimfgapi/vof/v1/public/hda/quality/insights"}
]
}

insights (Get Yield Insights)

URL: /aimfgapi/vof/v1/public/hda/yield/insights

Request Parameters
Parameter Name Description Type Required?
organizationCode Organization code. String Yes
itemName Inventory item ID. String No
targetMeasure Time frame. Integer No
insight Insight String No
publishDate Insight publish date. Date No. ISO date format required (yyyy-MM-dd'T'HH:mm:ss.SSSXXX).
Response Parameters
Parameter Name Description Type
count Total number of quality insight records. Integer
items Container parameter for item details.  
For items:    
type Type of insight. String
bomDesignator Bill of material designator. String
bomRevision Bill of material revision. String
confidence Confidence Float/Double
insight Insight name. String
insightCode Insight code. String
insightId Insight ID. Integer
insightType Type of insight. String
itemDescription Item description. String
itemName Item name. String
kulc Statistical measure. Float/Double
lift Statistical measure. Float/Double
modelId Insight model ID. Integer
modelName Insight model name. String
productRecipe Product recipe. String
publishDate Model publish date. Date
routing Quality element. String
routingStepNo Routing step number. Integer
ruleId Rule ID. Integer
serialManufactured Is this item serial manufactured? Answered "Y" or "N". String
support The percentage of historical work orders supporting the pattern out of the total number of work orders analyzed. Integer
targetMeasure Target yield.  
text Insight description. String
total Total number of insights found by the model. Integer
workOrderEndDate End date of work order date range. Date
workOrderStartDate Start date of work order date range. Date
For links:    
href Web site link. String
rel Descriptive attribute to href. String

Sample Discrete Response Payload: Get Yield Insights for Organization M1 for Item MDP_PN_ASSM10 with target measure as WORKORDERYIELD

URL: Http://host:port/aimfgapi/vof/v1/public/hda/yield/insights?organizationCode=M1&q=itemName=MDP_PN_ASSM10,targetMeasure=WORKORDERYIELD

{"count":24,
"items":[{"type":"hdaPubYieldInsightsRow",
"bomDesignator":"Primary",
"bomRevision":"A",
"confidence":1.0,
"insight":"Medium",
"insightCode":"MEDIUM",
"insightId":3413,
"insightType":"Yield",
"itemDescription":"Description for item 001",
"itemName":"MDP_PN_ASSM10",
"kulc":1.0,
"lift":0.0,
"modelId":3277,
"modelName":"MIXED_HDA4",
"productRecipe":"MDP_PN_ASSM10-A",
"publishDate":"2017-09-13T02:24:30-07:00",
"routing":"MDP_PN_ASSM10-A",
"routingStepNo":"902403",
"ruleId":"65125",
"serialManufactured":"N",
"support":0.25,
"targetMeasure":"WORKORDERYIELD",
"text":"25%  of the work orders for MDP_PN_ASSM10 had a Medium Yield when  average BOF-DENSITY of &RESOURCE during the Operation 20-MDP2 was between 25.2 and 30.9 HR  , quantity of MDP_PN10_COMP1 issued to Operation 10-MDP1 was between 3 and 6 Ea ",
"total":40,
"workOrderEndDate":"2017-03-31T23:59:59-07:00",
"workOrderStartDate":"2017-01-30T00:00:00-08:00"},
.
.
.],
"links":[
{"href":"http://host:port/aimfgapi/vof/v1/public/hda/yield/insights?organizationCode=&organizationCode",
"rel":"self"},
{"href":"http://host:port/aimfgapi/vof/v1/public/hda/yield-insight-search-form",
"rel":"search-form"}]}

Sample Process Response Payload

{"count":6,

"items": [

{"type":"hdaPubYieldInsightsRow",
"confidence":0.723353293413174,
"insight":"Very High",
"insightCode":"VERY_HIGH",
"insightId":2641,
"insightType":"Yield",
"inventoryItemId":726055,
"itemDescription":"Hot Rolled Coil",
"itemName":"HR Coil",
"kulc":0.827726029422636,
"lift":0.591576885406464,
"modelId":2504,
"modelName":"SEED_HDA_TEST2",
"operation":"BATCHYIELD",
"productRecipe":"HRCL-3106-1",
"publishDate":"2017-04-07T08:52:21-07:00",
"routing":"NOVALUE",
"routingStepNo":"511",
"ruleId":"394656",
"support":0.591576885406464,
"targetMeasure":"BATCHYIELD",
"text":"59.16%  of the work orders for HR Coil had a Very High Yield 
when  planned duration of 40 (MS-TAP) operation exceeded plan 
by 3307.73% to 9305.4%  , duration of COOL activity at 70 (HRCL-COOLSTRIP) operation 
was 7 Min 45 Sec, duration of SAMPLE activity at 70 (HRCL-COOLSTRIP) operation was 7 Min 45 Sec",
"total":1021,
"workOrderEndDate":"2015-08-01T23:59:59-07:00",
"workOrderStartDate":"2015-05-01T00:00:00-07:00"}
,

...

],

"links":[

{"rel": "self",

"href": "http://host:port/aimfgapi/vof/v1/public/hda/yield/insights?organizationCode=&organizationCode"},

{"rel": "search-form",

"href": "http://host:port/aimfgapi/vof/v1/public/hda/insight-search-form"}

]}

yield-insight-search-form (Get Yield Insight Search Form)

URL: /aimfgapi/vof/v1/public/hda/yield-insight-search-form

Response Parameters
Parameter Name Description Type
code Syntax used for an operator. Boolean
types Types of parameters. String
description Description of the operator code. String
itemName Item name. string
publishDate Insight publish date. Date
operators Alphanumerical code used for an operator. String
targetMeasure Target yield. Integer
insight Insight. String
rel Descriptive attribute to href. String
href Website. String

Example

Http://host:port/aimfgapi/vof/v1/public/hda/yield-insight-search-form

{
"syntax": {
  "operators": {
    "eq": {"code": ["="], "types": ["string", "integer", "boolean","number"], "description": "equal", "example": "itemName=Item0933"},
    "ge": {"code": [">="], "types": ["date"], "description": "greater than or equal to", "example": "publishDate>=2017-06-20T00:00:00.000Z"},
    "le": {"code": ["<="], "types": ["date"], "description": "less than or equal to", "example": "publishDate<=2017-10-02T00:00:00.000Z"}
   },
  "logicalOperators": {
    "and": {"code": [","], "description": "logical and", "example": "publishDate>=2017-06-20T00:00:00.000Z,publishDate<=2017-10-02T00:00:00.000Z"}
  }
},
"propertyOperators": {
  "itemName": {
    "operators": ["eq"]
  },
    "publishDate": {
    "operators": ["ge"]
  },
    "publishDate": {
    "operators": ["le"]
  },
    "targetMeasure": {
    "operators": ["eq"]
  },
    "insight": {
    "operators": ["eq"]
  }
},
"links": [
  {"rel": "self", "href": "http://host:port/aimfgapi/vof/v1/public/hda/yield-insight-search-form"},
  {"rel": "search", "href": "http://host:port/aimfgapi/vof/v1/public/hda/yield/insights"}
]
}

predictions (Get Predictions)

URL: /aimfgapi/vof/v1/public/rta/{kpiCode}/predictions

Request Parameters
Parameter Name Description Type Required?
organizationCode Organization code. String Yes
workOrder Work order. String No
targetMeasure An output target measure, such as work order yield. String No
predictionClassification Prediction classification. String No
status Status. String No
Response Parameters
Parameter Name Description Type
count Total number of prediction records. Integer
items Container parameter for item details.  
For items:    
type Type of prediction. String
alertFlag Alert flag String
completedDuration Number of hours taken to manufacture the item. Float/Double
departmentCode Department code. String
item Item name. String
itemCategory Item category. String
itemDesc Item description. String
operation Operation. String
operationNo Operation number. Integer
operationStatusDesc Operation status description. String
organizationCode Organization code. String
planCompletedDate Planned completion date. Date
planStartDate Planned start date. Date
plannedDuration Number of hours planned to manufacture the item. Float/Double
predictionClassification Classification bin or range. String
predictionId Prediction ID. Integer
status Work order status. String
targetMeasure Target measure. String
workOrder Work order. String
links Container parameter for link details.  
For links:    
href Web site link. String
rel Descriptive attribute to href. String

Example Process Organization Response Payload

URL:https://localhost:443/aimfgapi/vof/v1/public/rta/QUALITY/predictions?organizationCode=FP1

{"count":1,
"items":
		[{"type":"rtaPubPredictionsRow",
		"alertFlag":"N",
		"completedDuration":19166.4,
		"item":"Strawberry Jam LT item 001",
		"itemCategory":"Product",
		"itemDesc":"Bulk Processed Strawberry Jam",
		"operation":"AT_PRED_SJ_MODEL_01",
		"operationNo":"10",
		"operationStatusDesc":"IN_PROGRESS",
		"organizationCode":"FP1",
		"planCompletedDate":"2000-01-01",
		"planStartDate":"2000-01-01",
		"plannedDuration":0.0,
		"predictionClassification":"On Target",
		"predictionId":1991342,
		"status":"In Progress",
		"targetMeasure":"SS_SOLUBLE_SOLIDS",
		"workOrder":"SJ_001_-7222"}
		],
"links":
		[{"href":"http://host:port/aimfgapi/vof/v1/public/rta/{kpiCode}/predictions?organizationCode=organizationCode",
		"rel":"self"}]}

Example Discrete Organization Response Payload

{"count":22,
"items":
		[{"type":"rtaPubPredictionsRow",
		"alertFlag":"N",
		"completedDuration":0.0,
		"departmentCode":"CaseRecord",
		"item":"G15 LT Pinion Gear Data",
		"itemCategory":"Case Record Data",
		"itemDesc":"Pinion Gear Assembly",
		"operation":"TST",
		"operationNo":"20",
		"operationStatusDesc":"IN_PROGRESS",
		"organizationCode":"T11",
		"planCompletedDate":"2010-02-04",
		"planStartDate":"2010-02-04",
		"plannedDuration":2400.0,
		"predictionClassification":"On Target",
		"predictionId":1984327,
		"status":"In Progress",
		"targetMeasure":"TD_TOOTH_DEPTH",
		"workOrder":"AT_WOUP_2505336"},
		...],
"links":
		[{"href":"http://host:port/aimfgapi/vof/v1/public/rta/{kpiCode}/predictions?organizationCode=organizationCode",
		"rel":"self"}]}  

predictions/{predictionId: \d+} (Get Prediction Detail)

URL: /aimfgapi/vof/v1/public/rta/predictions/{predictionId: \d+}

Request Parameters
Parameter Name Description Type Required?
organizationCode Organization code. String Yes
Response Parameters
Parameter Name Description Type
alert Determines if this is a predictive alert. String
classificationProbability Container parameter for classification probability.  
For classification probability:
  • binColor

Color of the classification bin or range. String
  • confidence

The accuracy of the model for the classification range. Float/Double
  • prediction

The classification range for the result. String
classifications Container parameter for classification bins. String
For classifications:
  • alert

Determines if this is a predictive alert. String
  • description

Alert description. String
  • prediction

The classification range for the result. String
  • rangeEnd

The end of the classification range. Float/Double
  • rangeStart

The start of the classification range. Float/Double
departmentCode Department code. String
itemDescription Item description. String
itemName Item name. String
links Container parameter for link information.  
For links:
  • href

Website. String
  • rel

Descriptive attribute to href. String
operation Operation. String
operationNo Operation number. Integer
organizationCode Organization code. String
predictedMeasure Predicted target measure. String
predictionClassification Classification bin or range. String
predictionId Prediction ID. Integer
predictionModel Prediction model name. String
predictors Container parameter for predictors.  
For predictors:
  • category

KPI category. String
  • id

KPI ID. Integer
  • name

KPI name. String
  • predictionInfluence

How much the KPI influences the target measure. Float/Double
  • rank

Rank of KPI. Integer
  • subCategory

KPI subcategory. String
  • value

KPI value. String
  • valueCode

KPI value code String
probability Probability percentage of true predictions. Float/Double
rangeEnd End of alert range. Float/Double
rangeStart Start of alert range. Float/Double
timeline Container parameter for the timeline.  
For timeline:
  • binColor

Color of the classification bin or range. String
  • prediction

The classification range for the result. String
  • predictionDate

The date the prediction was made. Date
  • predictionId

Prediction ID. Integer
workOrder Work order number. String
workOrderCompleted Indicates whether the work order completed. String
workOrderStartDate Work order start date. Date

Example Discrete Organization Response Payload

URL: https://hostport:443/aimfgapi/vof/v1/public/rta/predictions/1827693?organizationCode=T11

{"alert":false,
"classificationProbability":
		[{"binColor":"#309fdb","confidence":0.0,"prediction":"Within Lower Limit"},{"binColor":"#ffb54d",	"confidence":0.15730337078651685,"prediction":"Within Upper Limit"},
		{"binColor":"#68c182","confidence":0.8426966292134831,"prediction":"On Target"}],
"classifications":
		[{"alert":false,"description":null,"prediction":"Within Lower Limit","rangeEnd":4,"rangeStart":4},
		{"alert":false,"description":null,	"prediction":"On Target",	"rangeEnd":5,"rangeStart":4},
		{"alert":false,"description":null,	"prediction":"Within Upper Limit",	"rangeEnd":6,"rangeStart":5}],
"departmentCode":"CaseRecord",
"itemDescription":"Pinion Gear Aseembly",
"itemName":"G15 LT Pinion Gear OOW Data",
"links":
		[{"href":"http://host:port/aimfgapi/vof/v1/public/rta/predictions/1827693?organizationCode=organizationCode","rel":"self"},
		{"href":"http://host:port/aimfgapi/vof/v1/public/rta/predictions/2077495?organizationCode=organizationCode","rel":"other-prediction-for-same-work-order"},
		{"href":"http://host:port/aimfgapi/vof/v1/public/rta/predictions/2079237?organizationCode=organizationCode","rel":"TD_TOOTH_DEPTH-prediction-for-similar-work-order"},
		{"href":"http://host:port/aimfgapi/vof/v1/public/rta/predictions/2079238?organizationCode=organizationCode","rel":"TD_TOOTH_DEPTH-prediction-for-similar-work-order"},
		...],
"operation":"TST",
"operationNo":"20",
"organizationCode":"T11",
"predictedMeasure":"TD_TOOTH_DEPTH",
"predictionClassification":"On Target",
"predictionId":1827693,
"predictionModel":"AT  Model 001",
"predictors":
		[{"category":"UNSPD","id":790,"name":"Y_SUPPLIER","predictionInfluence":0.087,"rank":1,"subCategory":"Unspecified","value":"NIMS Metals","valueCode":"Y_SUPPLIER"},
		{"category":"UNSPD","id":792,"name":"Y_AVERAGE_TEMPERATURE","subCategory":"Unspecified","value":"117.8","valueCode":"Y_AVERAGE_TEMPERATURE"},
		{"category":"UNSPD","id":793,"name":"Y_TENSILE_STRENGTH","subCategory":"Unspecified","value":"65.78883","valueCode":"Y_TENSILE_STRENGTH"},
		{"category":"UNSPD","id":791,"name":"Y_MAXIMUM_VIBRATION","subCategory":"Unspecified","value":"35","valueCode":"Y_MAXIMUM_VIBRATION"}],
"probability":0.8426966292134831,
"rangeEnd":5,
"rangeStart":4,
"timeline":
		[{"binColor":"#68c182","prediction":"On Target","predictionDate":"2020-03-09T12:40:33.000Z","predictionId":1844304},
		{"binColor":"#68c182","prediction":"On Target","predictionDate":"2020-03-09T13:10:33.000Z","predictionId":1846677},
		{"binColor":"#68c182","prediction":"On Target","predictionDate":"2020-03-09T13:40:33.000Z","predictionId":1849050},
		{"binColor":"#68c182","prediction":"On Target","predictionDate":"2020-03-09T14:10:33.000Z","predictionId":1851423},
		...],
"workOrder":"AT_WOUP_2505336",
"workOrderCompleted":false,
"workOrderStartDate":"2010-02-04"}

Example Process Organization Response Payload

{"alert":false,
"classificationProbability":
		[{"binColor":"#ed6647","confidence":0.04316546762589928,"prediction":"Above Upper Limit"},
		{"binColor":"#ffb54d","confidence":0.2805755395683453,"prediction":"Within Upper Limit"},
		{"binColor":"#68c182","confidence":0.6762589928057554,"prediction":"On Target"}],
"classifications":
		[{"alert":false,"description":null,"prediction":"On Target","rangeEnd":63,"rangeStart":60},
		{"alert":false,"description":null,"prediction":"Within Upper Limit","rangeEnd":66,"rangeStart":63},
		{"alert":false,"description":null,"prediction":"Above Upper Limit","rangeEnd":69,"rangeStart":66}],
"itemDescription":"Bulk Processed Strawberry Jam",
"itemName":"Strawberry Jam LT item 001",
"links":
		[{"href":"http://host:port/aimfgapi/vof/v1/public/rta/predictions/1827589?organizationCode=organizationCode","rel":"self"},
		{"href":"http://host:port/aimfgapi/vof/v1/public/rta/predictions/2106015?organizationCode=organizationCode","rel":"other-prediction-for-same-work-order"},
		{"href":"http://host:port/aimfgapi/vof/v1/public/rta/predictions/2105247?organizationCode=organizationCode","rel":"SS_SOLUBLE_SOLIDS-prediction-for-similar-work-order"},
		{"href":"http://host:port/aimfgapi/vof/v1/public/rta/predictions/2105248?organizationCode=organizationCode","rel":"SS_SOLUBLE_SOLIDS-prediction-for-similar-work-order"},
		...]
"operation":"AT_PRED_SJ_MODEL_01",
"operationNo":"10",
"organizationCode":"FP1",
"predictedMeasure":"SS_SOLUBLE_SOLIDS",
"predictionClassification":"On Target",
"predictionId":1827589,
"predictionModel":"AT_PRED_FP1_SJ_M_2",
"predictors":
		[{"category":"UNSPD","id":424,"name":"SS_SJ_FRUIT_CALCIUM","predictionInfluence":0.191,"rank":1,"subCategory":"Unspecified","value":"21.45","valueCode":"SS_SJ_FRUIT_CALCIUM"},
		{"category":"UNSPD","id":423,"name":"SS_SJ_FRUIT_SOLUBLE_SOLIDS","predictionInfluence":0.16,"rank":2,"subCategory":"Unspecified","value":"63.09","valueCode":"SS_SJ_FRUIT_SOLUBLE_SOLIDS"},
		{"category":"UNSPD","id":425,"name":"SS_PECTIN_GRADE","predictionInfluence":0.094,"rank":3,"subCategory":"Unspecified","value":"Medium Set","valueCode":"SS_PECTIN_GRADE"},
		...]
"probability":0.6762589928057554,
"rangeEnd":63,
"rangeStart":60,
"timeline":
		[{"binColor":"#68c182","prediction":"On Target","predictionDate":"2020-03-09T18:06:16.000Z","predictionId":1870303},
		{"binColor":"#68c182","prediction":"On Target","predictionDate":"2020-03-09T18:36:16.000Z","predictionId":1872676},
		{"binColor":"#68c182","prediction":"On Target","predictionDate":"2020-03-09T19:06:16.000Z","predictionId":1875049},
		...]
"workOrder":"SJ_001_-7222",
"workOrderCompleted":false,
"workOrderStartDate":"2000-01-01"}