Schema
Property | Type | Description | Example Value |
---|---|---|---|
jobId | ID | The XOi Job’s ID | "cjob-830517ba-7603-44136fa3-62374c4389f7-C112-781a49102793" |
workflowJobId | ID | The XOi Workflow Job ID. The workflow added to the XOi Job by the Technician. | “wjob-15e5cf6a-9e1e-i161-e35749099a6f-iR25-4dcd5b886198” |
orgId | string | “jeffs-fast-hvac” | |
workflowName | string | “Installation” | |
reportingCategory | string | The Workflow’s current Reporting Category | “Install” |
jobLocation | string | “123 Main St” | |
createdAt | AWSDateTime | “2023-03-21T13:25:29.200000+00:00” | |
completedAt | AWSDateTime | “2023-03-21T21:57:46.606000+00:00” | |
stepData | object | Contains reference keys and their values based on the step type. See each Step Type schema below. | "yourReferenceKey": { "value": {…}}, "anotherReferenceKey": { "value": {…}} |
Workflow Step Data Value
Note: If any step is empty but has a reference key set, it will return as null
. If no steps have a reference key set, stepData is returned as None
.
Content Only (Dataplate)
Field | Type | Description | Example |
---|---|---|---|
make | string | The make of the equipment | "TRANE" |
model | string | The model number of the equipment | "DM96VC0804CNAA" |
serial | string | The serial number of the equipment | "2012112481" |
Note:
If multiple dataplates are uploaded to a single step, the API will append a number to the reference key per dataplate uploaded (<reference_key>_1
).
The key for equipment items is regenerated each time a request is made. It is possible that multiple requests will return equipment items with different keys compared to previous responses. For instance, the first dataplate may be returned with the key yourKeyForDataplateStep
in one call, but in a subsequent call, it could be returned with the key yourKeyForDataplateStep_1
. For this reason, it is important to note that you cannot rely on the ordering of the dataplates by their reference key, as it may vary between different requests.
For example, three dataplates uploaded to the same step will return as:
"stepData": {
"yourKeyForDataplateStep": {
"value": {
"make": "CARRIER",
"model": "A32NMQ24PBVJ42",
"serial": "E018804"
}
},
"yourKeyForDataplateStep_1": {
"value": {
"make": "DAIKIN",
"model": "FXTQ18TAVJUDAB",
"serial": "1910036390"
}
},
"yourKeyForDataplateStep_2": {
"value": {
"make": "TRANE",
"model": "QTF13579AGKD89",
"serial": "9021401585"
}
}
}
Yes / No
Field | Type | Description | Example |
---|---|---|---|
value | boolean | If "Yes", then value is true. If "No", then value is false. | "value": true |
Multiple Choice
A Multiple Choice step, where multiple answers are allowed.
Field | Type | Description | Example |
---|---|---|---|
value | array | An array of choices selected in the multiple choice step. | "keyMultipleChoice": { "value": ["Option 1", "Option 2", "Option 3"]}, |
Single Choice
A Multiple Choice step, where only one answer is allowed.
Field | Type | Description | Example |
---|---|---|---|
value | string | A choice selected in the multiple choice step. | "keySingleChoice": {"value": "A choice"} |
Numeric
Field | Type | Description | Example |
---|---|---|---|
value | float | The number entered by the user. | "keyNumericTimeMinutes": {"value": 5.0,"unit_type": "Time","unit": "Minutes"} |
unit_type | string | The type of unit requested on the step. | |
unit | string | The unit requested on the step. |
Short Text
Field | Type | Description | Example |
---|---|---|---|
value | string | The text typed by a user in this step. | "keyShortText": {"value": "A short text response."}, |
Date
Field | Type | Description | Example |
---|---|---|---|
value | AWSDateTime | The date selected by the user. | "keyDate": {"value": "2023-08-05T00:00:00.000000Z"}, |
Errors
404 Not Found
The job IDs you requested may not exist or the workflow job and container job do not match (cjob, wjob).
Empty Step Data
If stepData
is empty, then no reference keys have been configured for that workflow.
"Cannot determine single type of data for step.”
Except “Content Only” steps, any workflow steps with “extract dataplate text” enabled will not be returned in the API. Instead, add a “Content Only” step separately to capture dataplate information.
Example
Example HTTP GET Request
https://api-jobs-external.xoi.io/reporting-data/job/cjob-91a57c20-d31d-44136fa3-9b8a45af8b23-C112-aede8de69c63/workflow-job/wjob-4f68742c-d31d-44136fa3-9d1b4c6a8dca-C112-d425f0213d73
Example JSON Response
{
"jobId": "cjob-...",
"workflowJobId": "wjob-15e5cf6a-9e1e-i161-e35749099a6f-uC84-4dcd5b886198",
"jobLocation": "123 Main St",
"orgId": "jeffs-fast-hvac",
"workflowName": "Installation",
"reportingCategory": "Install",
"createdAt": "2023-03-21T13:25:29.200000+00:00",
"completedAt": "2023-03-21T21:57:46.606000+00:00",
"stepData": {
"outdoorEquipment": {
"value": {
"make": "CARRIER",
"model": "A32NMQ24PBVJ42",
"serial": "E018804"
}
},
"outdoorEquipment_1": {
"value": {
"make": "DAIKIN",
"model": "FXTQ18TAVJUDAB",
"serial": "1910036390"
}
},
"indoorEquipment": {
"value": {
"make": "TRANE",
"model": "QTF13579AGKD89",
"serial": "9021401585"
}
},
"indoorVoltage": {
"value": 15,
"unit_type": "Power",
"unit": "Amps"
},
"outdoorVoltage": {
"value": 30,
"unit_type": "Power",
"unit": "Amps"
},
"staticPressureInSpec": {
"value": false
},
"lineSetLength": {
"value": 1
},
"amtRefrigerentAdded": {
"value": 0,
"unit_type": "Weight",
"unit": "Pounds"
},
"cloudServicesAccepted": {
"value": false
}
}
}