curl --request POST \
--url https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in \
--header 'Content-Type: application/json' \
--header 'OW-KEY: <api-key>' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"workOrderId": 123,
"numberOfTechs": 123,
"id": 123,
"leadTechnicianEmail": "<string>",
"additionalTechnicianEmails": [
"<string>"
],
"stockLocationIds": [
123
],
"partsWithQuantity": [
{}
],
"equipmentPerStockLocationIds": [
123
],
"supplierFacilityId": 123,
"serviceScheduledAt": "2023-11-07T05:31:56Z",
"checkInByEmail": "<string>",
"checkInStatus": "<string>",
"checkInTime": "2023-11-07T05:31:56Z",
"checkInNotes": "<string>",
"checkInImages": [
"<string>"
],
"checkOutByEmail": "<string>",
"checkOutStatus": "<string>",
"checkOutTime": "2023-11-07T05:31:56Z",
"checkOutNotes": "<string>",
"checkOutImages": [
"<string>"
],
"createdAt": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in"
payload = {
"workOrderId": 123,
"numberOfTechs": 123,
"id": 123,
"leadTechnicianEmail": "<string>",
"additionalTechnicianEmails": ["<string>"],
"stockLocationIds": [123],
"partsWithQuantity": [{}],
"equipmentPerStockLocationIds": [123],
"supplierFacilityId": 123,
"serviceScheduledAt": "2023-11-07T05:31:56Z",
"checkInByEmail": "<string>",
"checkInStatus": "<string>",
"checkInTime": "2023-11-07T05:31:56Z",
"checkInNotes": "<string>",
"checkInImages": ["<string>"],
"checkOutByEmail": "<string>",
"checkOutStatus": "<string>",
"checkOutTime": "2023-11-07T05:31:56Z",
"checkOutNotes": "<string>",
"checkOutImages": ["<string>"],
"createdAt": "2023-11-07T05:31:56Z"
}
headers = {
"X-API-KEY": "<api-key>",
"OW-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-API-KEY': '<api-key>',
'OW-KEY': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
workOrderId: 123,
numberOfTechs: 123,
id: 123,
leadTechnicianEmail: '<string>',
additionalTechnicianEmails: ['<string>'],
stockLocationIds: [123],
partsWithQuantity: [{}],
equipmentPerStockLocationIds: [123],
supplierFacilityId: 123,
serviceScheduledAt: '2023-11-07T05:31:56Z',
checkInByEmail: '<string>',
checkInStatus: '<string>',
checkInTime: '2023-11-07T05:31:56Z',
checkInNotes: '<string>',
checkInImages: ['<string>'],
checkOutByEmail: '<string>',
checkOutStatus: '<string>',
checkOutTime: '2023-11-07T05:31:56Z',
checkOutNotes: '<string>',
checkOutImages: ['<string>'],
createdAt: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'workOrderId' => 123,
'numberOfTechs' => 123,
'id' => 123,
'leadTechnicianEmail' => '<string>',
'additionalTechnicianEmails' => [
'<string>'
],
'stockLocationIds' => [
123
],
'partsWithQuantity' => [
[
]
],
'equipmentPerStockLocationIds' => [
123
],
'supplierFacilityId' => 123,
'serviceScheduledAt' => '2023-11-07T05:31:56Z',
'checkInByEmail' => '<string>',
'checkInStatus' => '<string>',
'checkInTime' => '2023-11-07T05:31:56Z',
'checkInNotes' => '<string>',
'checkInImages' => [
'<string>'
],
'checkOutByEmail' => '<string>',
'checkOutStatus' => '<string>',
'checkOutTime' => '2023-11-07T05:31:56Z',
'checkOutNotes' => '<string>',
'checkOutImages' => [
'<string>'
],
'createdAt' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"OW-KEY: <api-key>",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in"
payload := strings.NewReader("{\n \"workOrderId\": 123,\n \"numberOfTechs\": 123,\n \"id\": 123,\n \"leadTechnicianEmail\": \"<string>\",\n \"additionalTechnicianEmails\": [\n \"<string>\"\n ],\n \"stockLocationIds\": [\n 123\n ],\n \"partsWithQuantity\": [\n {}\n ],\n \"equipmentPerStockLocationIds\": [\n 123\n ],\n \"supplierFacilityId\": 123,\n \"serviceScheduledAt\": \"2023-11-07T05:31:56Z\",\n \"checkInByEmail\": \"<string>\",\n \"checkInStatus\": \"<string>\",\n \"checkInTime\": \"2023-11-07T05:31:56Z\",\n \"checkInNotes\": \"<string>\",\n \"checkInImages\": [\n \"<string>\"\n ],\n \"checkOutByEmail\": \"<string>\",\n \"checkOutStatus\": \"<string>\",\n \"checkOutTime\": \"2023-11-07T05:31:56Z\",\n \"checkOutNotes\": \"<string>\",\n \"checkOutImages\": [\n \"<string>\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("OW-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in")
.header("X-API-KEY", "<api-key>")
.header("OW-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"workOrderId\": 123,\n \"numberOfTechs\": 123,\n \"id\": 123,\n \"leadTechnicianEmail\": \"<string>\",\n \"additionalTechnicianEmails\": [\n \"<string>\"\n ],\n \"stockLocationIds\": [\n 123\n ],\n \"partsWithQuantity\": [\n {}\n ],\n \"equipmentPerStockLocationIds\": [\n 123\n ],\n \"supplierFacilityId\": 123,\n \"serviceScheduledAt\": \"2023-11-07T05:31:56Z\",\n \"checkInByEmail\": \"<string>\",\n \"checkInStatus\": \"<string>\",\n \"checkInTime\": \"2023-11-07T05:31:56Z\",\n \"checkInNotes\": \"<string>\",\n \"checkInImages\": [\n \"<string>\"\n ],\n \"checkOutByEmail\": \"<string>\",\n \"checkOutStatus\": \"<string>\",\n \"checkOutTime\": \"2023-11-07T05:31:56Z\",\n \"checkOutNotes\": \"<string>\",\n \"checkOutImages\": [\n \"<string>\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["OW-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workOrderId\": 123,\n \"numberOfTechs\": 123,\n \"id\": 123,\n \"leadTechnicianEmail\": \"<string>\",\n \"additionalTechnicianEmails\": [\n \"<string>\"\n ],\n \"stockLocationIds\": [\n 123\n ],\n \"partsWithQuantity\": [\n {}\n ],\n \"equipmentPerStockLocationIds\": [\n 123\n ],\n \"supplierFacilityId\": 123,\n \"serviceScheduledAt\": \"2023-11-07T05:31:56Z\",\n \"checkInByEmail\": \"<string>\",\n \"checkInStatus\": \"<string>\",\n \"checkInTime\": \"2023-11-07T05:31:56Z\",\n \"checkInNotes\": \"<string>\",\n \"checkInImages\": [\n \"<string>\"\n ],\n \"checkOutByEmail\": \"<string>\",\n \"checkOutStatus\": \"<string>\",\n \"checkOutTime\": \"2023-11-07T05:31:56Z\",\n \"checkOutNotes\": \"<string>\",\n \"checkOutImages\": [\n \"<string>\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"type": "<string>",
"data": {
"id": 123,
"buyerSpecificId": "<string>",
"woNumber": "<string>",
"poNumber": "<string>",
"isPM": true,
"isCapex": true,
"isStale": true,
"isSupplierInitiated": true,
"isCustomerInitiated": true,
"isWarranty": true,
"title": "<string>",
"displayStatus": "<string>",
"status": "<string>",
"statusChangedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"assetId": 123,
"subAssetIds": [
123
],
"isAssetDown": true,
"locationId": 123,
"areaId": 123,
"workCategoryId": 123,
"spendCategoryId": 123,
"problemTypeId": 123,
"problemType": {
"id": 123,
"name": "<string>",
"buyerCompanyId": 123,
"hasChildren": true
},
"woPriorityId": 123,
"needsApproval": true,
"images": [
"<string>"
],
"dueDate": "2023-11-07T05:31:56Z",
"scheduledAt": "2023-11-07T05:31:56Z",
"estimatedCompletionDate": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"assignedAt": "2023-11-07T05:31:56Z",
"supplierRespondedAt": "2023-11-07T05:31:56Z",
"supplierFacilityId": 123,
"supplierPrimaryContactEmail": "<string>",
"price": 123,
"currencyId": "<string>",
"nte": 123,
"notes": [
{
"text": "<string>",
"noteAddedBy": "<string>",
"noteAddedAt": "2023-11-07T05:31:56Z",
"id": 123,
"photo": "<string>",
"video": "<string>",
"audio": "<string>",
"otherFile": "<string>",
"elements": [
{
"type": "<string>",
"value": "<string>",
"userObject": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}
],
"noteReadDetails": [
{
"readAt": "2023-11-07T05:31:56Z",
"readBy": "<string>",
"readByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}
],
"noteAddedByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"noteType": "<string>",
"noteAddedByType": "<string>",
"caption": "<string>",
"isNoteAwaitingResponse": true
}
],
"lastNote": "<string>",
"lastNoteAddedBy": "<string>",
"lastNoteAddedAt": 123,
"buyerFacilityId": 123,
"buyerCompanyId": 123,
"createdBy": "<string>",
"buyerSubscriberEmails": [
"<string>"
],
"supplierSubscriberEmails": [
"<string>"
],
"associatedServiceCalls": [
{
"supplierFacilityId": 123,
"numberOfTechs": 123,
"workOrderId": 123,
"locationId": 123,
"buyerFacilityId": 123,
"buyerCompanyId": 123,
"isDeleted": true,
"id": 123,
"leadTechnicianEmail": "<string>",
"leadTechnicianEmailContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"additionalTechnicianEmails": [
"<string>"
],
"additionalTechnicians": [
{
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"stockLocationIds": [
123
],
"stockLocations": [
{
"name": "<string>",
"isMobile": true,
"supplierFacilityId": 123,
"supplierCompanyId": 123,
"isActive": true,
"allowEquipmentForwarding": true,
"isDeleted": true,
"id": 123,
"warehouseId": "<string>",
"images": [
"<string>"
],
"description": "<string>",
"address": {},
"latitude": 123,
"longitude": 123,
"timeZoneId": "<string>",
"locationId": 123,
"burdenRates": [
{
"year": 123,
"rate": "<string>"
}
],
"taxRates": [
{
"year": 123,
"rate": "<string>"
}
],
"purchaseOrderPrefix": "<string>",
"glCode": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
],
"serviceScheduledAt": "2023-11-07T05:31:56Z",
"checkInByEmail": "<string>",
"checkInByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"checkInStatus": "<string>",
"checkInTime": "2023-11-07T05:31:56Z",
"checkInNotes": "<string>",
"checkInImages": [
"<string>"
],
"checkInGeoLocation": {
"lat": "<string>",
"long": "<string>"
},
"checkInAudio": "<string>",
"checkInAudioTranscription": "<string>",
"checkOutByEmail": "<string>",
"checkOutByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"checkOutStatus": "<string>",
"checkOutTime": "2023-11-07T05:31:56Z",
"checkOutNotes": "<string>",
"checkOutImages": [
"<string>"
],
"checkOutGeoLocation": {
"lat": "<string>",
"long": "<string>"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
],
"lastServiceCall": {
"supplierFacilityId": 123,
"numberOfTechs": 123,
"workOrderId": 123,
"locationId": 123,
"buyerFacilityId": 123,
"buyerCompanyId": 123,
"isDeleted": true,
"id": 123,
"leadTechnicianEmail": "<string>",
"leadTechnicianEmailContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"additionalTechnicianEmails": [
"<string>"
],
"additionalTechnicians": [
{
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"stockLocationIds": [
123
],
"stockLocations": [
{
"name": "<string>",
"isMobile": true,
"supplierFacilityId": 123,
"supplierCompanyId": 123,
"isActive": true,
"allowEquipmentForwarding": true,
"isDeleted": true,
"id": 123,
"warehouseId": "<string>",
"images": [
"<string>"
],
"description": "<string>",
"address": {},
"latitude": 123,
"longitude": 123,
"timeZoneId": "<string>",
"locationId": 123,
"burdenRates": [
{
"year": 123,
"rate": "<string>"
}
],
"taxRates": [
{
"year": 123,
"rate": "<string>"
}
],
"purchaseOrderPrefix": "<string>",
"glCode": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
],
"serviceScheduledAt": "2023-11-07T05:31:56Z",
"checkInByEmail": "<string>",
"checkInByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"checkInStatus": "<string>",
"checkInTime": "2023-11-07T05:31:56Z",
"checkInNotes": "<string>",
"checkInImages": [
"<string>"
],
"checkInGeoLocation": {
"lat": "<string>",
"long": "<string>"
},
"checkInAudio": "<string>",
"checkInAudioTranscription": "<string>",
"checkOutByEmail": "<string>",
"checkOutByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"checkOutStatus": "<string>",
"checkOutTime": "2023-11-07T05:31:56Z",
"checkOutNotes": "<string>",
"checkOutImages": [
"<string>"
],
"checkOutGeoLocation": {
"lat": "<string>",
"long": "<string>"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
},
"buyerAttachments": [
{
"fileName": "<string>",
"fileId": "<string>"
}
],
"supplierAttachments": [
{
"fileName": "<string>",
"fileId": "<string>"
}
],
"resolutionTypeId": 123,
"plannedMaintenanceScheduleId": 123,
"cancelledAt": "2023-11-07T05:31:56Z",
"cancelledBy": "<string>",
"glCode": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"isDeleted": true,
"deletedAt": "2023-11-07T05:31:56Z"
},
"status": "ok"
}{
"message": "<string>",
"type": "<string>",
"status": "error",
"traceId": "<string>"
}{
"message": "<string>",
"type": "<string>",
"status": "error",
"traceId": "<string>"
}{
"message": "<string>",
"type": "<string>",
"status": "error",
"traceId": "<string>"
}Service call status update: check in
Records an on-site check-in on the service call; the work order status becomes TechWorkingOnSite. On success the ASSOCIATED WORK ORDER (not the service call) is returned with its status updated. When the resulting status is WorkReviewedAndCompleted, invoice auto-publishing rules may run. For third-party suppliers whose buyer company has autoApproveWorkOrdersCompletedByThirdParty enabled, a WaitingForReview outcome is auto-promoted to WorkReviewedAndCompleted.
curl --request POST \
--url https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in \
--header 'Content-Type: application/json' \
--header 'OW-KEY: <api-key>' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"workOrderId": 123,
"numberOfTechs": 123,
"id": 123,
"leadTechnicianEmail": "<string>",
"additionalTechnicianEmails": [
"<string>"
],
"stockLocationIds": [
123
],
"partsWithQuantity": [
{}
],
"equipmentPerStockLocationIds": [
123
],
"supplierFacilityId": 123,
"serviceScheduledAt": "2023-11-07T05:31:56Z",
"checkInByEmail": "<string>",
"checkInStatus": "<string>",
"checkInTime": "2023-11-07T05:31:56Z",
"checkInNotes": "<string>",
"checkInImages": [
"<string>"
],
"checkOutByEmail": "<string>",
"checkOutStatus": "<string>",
"checkOutTime": "2023-11-07T05:31:56Z",
"checkOutNotes": "<string>",
"checkOutImages": [
"<string>"
],
"createdAt": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in"
payload = {
"workOrderId": 123,
"numberOfTechs": 123,
"id": 123,
"leadTechnicianEmail": "<string>",
"additionalTechnicianEmails": ["<string>"],
"stockLocationIds": [123],
"partsWithQuantity": [{}],
"equipmentPerStockLocationIds": [123],
"supplierFacilityId": 123,
"serviceScheduledAt": "2023-11-07T05:31:56Z",
"checkInByEmail": "<string>",
"checkInStatus": "<string>",
"checkInTime": "2023-11-07T05:31:56Z",
"checkInNotes": "<string>",
"checkInImages": ["<string>"],
"checkOutByEmail": "<string>",
"checkOutStatus": "<string>",
"checkOutTime": "2023-11-07T05:31:56Z",
"checkOutNotes": "<string>",
"checkOutImages": ["<string>"],
"createdAt": "2023-11-07T05:31:56Z"
}
headers = {
"X-API-KEY": "<api-key>",
"OW-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-API-KEY': '<api-key>',
'OW-KEY': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
workOrderId: 123,
numberOfTechs: 123,
id: 123,
leadTechnicianEmail: '<string>',
additionalTechnicianEmails: ['<string>'],
stockLocationIds: [123],
partsWithQuantity: [{}],
equipmentPerStockLocationIds: [123],
supplierFacilityId: 123,
serviceScheduledAt: '2023-11-07T05:31:56Z',
checkInByEmail: '<string>',
checkInStatus: '<string>',
checkInTime: '2023-11-07T05:31:56Z',
checkInNotes: '<string>',
checkInImages: ['<string>'],
checkOutByEmail: '<string>',
checkOutStatus: '<string>',
checkOutTime: '2023-11-07T05:31:56Z',
checkOutNotes: '<string>',
checkOutImages: ['<string>'],
createdAt: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'workOrderId' => 123,
'numberOfTechs' => 123,
'id' => 123,
'leadTechnicianEmail' => '<string>',
'additionalTechnicianEmails' => [
'<string>'
],
'stockLocationIds' => [
123
],
'partsWithQuantity' => [
[
]
],
'equipmentPerStockLocationIds' => [
123
],
'supplierFacilityId' => 123,
'serviceScheduledAt' => '2023-11-07T05:31:56Z',
'checkInByEmail' => '<string>',
'checkInStatus' => '<string>',
'checkInTime' => '2023-11-07T05:31:56Z',
'checkInNotes' => '<string>',
'checkInImages' => [
'<string>'
],
'checkOutByEmail' => '<string>',
'checkOutStatus' => '<string>',
'checkOutTime' => '2023-11-07T05:31:56Z',
'checkOutNotes' => '<string>',
'checkOutImages' => [
'<string>'
],
'createdAt' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"OW-KEY: <api-key>",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in"
payload := strings.NewReader("{\n \"workOrderId\": 123,\n \"numberOfTechs\": 123,\n \"id\": 123,\n \"leadTechnicianEmail\": \"<string>\",\n \"additionalTechnicianEmails\": [\n \"<string>\"\n ],\n \"stockLocationIds\": [\n 123\n ],\n \"partsWithQuantity\": [\n {}\n ],\n \"equipmentPerStockLocationIds\": [\n 123\n ],\n \"supplierFacilityId\": 123,\n \"serviceScheduledAt\": \"2023-11-07T05:31:56Z\",\n \"checkInByEmail\": \"<string>\",\n \"checkInStatus\": \"<string>\",\n \"checkInTime\": \"2023-11-07T05:31:56Z\",\n \"checkInNotes\": \"<string>\",\n \"checkInImages\": [\n \"<string>\"\n ],\n \"checkOutByEmail\": \"<string>\",\n \"checkOutStatus\": \"<string>\",\n \"checkOutTime\": \"2023-11-07T05:31:56Z\",\n \"checkOutNotes\": \"<string>\",\n \"checkOutImages\": [\n \"<string>\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("OW-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in")
.header("X-API-KEY", "<api-key>")
.header("OW-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"workOrderId\": 123,\n \"numberOfTechs\": 123,\n \"id\": 123,\n \"leadTechnicianEmail\": \"<string>\",\n \"additionalTechnicianEmails\": [\n \"<string>\"\n ],\n \"stockLocationIds\": [\n 123\n ],\n \"partsWithQuantity\": [\n {}\n ],\n \"equipmentPerStockLocationIds\": [\n 123\n ],\n \"supplierFacilityId\": 123,\n \"serviceScheduledAt\": \"2023-11-07T05:31:56Z\",\n \"checkInByEmail\": \"<string>\",\n \"checkInStatus\": \"<string>\",\n \"checkInTime\": \"2023-11-07T05:31:56Z\",\n \"checkInNotes\": \"<string>\",\n \"checkInImages\": [\n \"<string>\"\n ],\n \"checkOutByEmail\": \"<string>\",\n \"checkOutStatus\": \"<string>\",\n \"checkOutTime\": \"2023-11-07T05:31:56Z\",\n \"checkOutNotes\": \"<string>\",\n \"checkOutImages\": [\n \"<string>\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.useopenwrench.com/api/external/v1/supplier/work_order/service_calls/status_update/check_in")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["OW-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workOrderId\": 123,\n \"numberOfTechs\": 123,\n \"id\": 123,\n \"leadTechnicianEmail\": \"<string>\",\n \"additionalTechnicianEmails\": [\n \"<string>\"\n ],\n \"stockLocationIds\": [\n 123\n ],\n \"partsWithQuantity\": [\n {}\n ],\n \"equipmentPerStockLocationIds\": [\n 123\n ],\n \"supplierFacilityId\": 123,\n \"serviceScheduledAt\": \"2023-11-07T05:31:56Z\",\n \"checkInByEmail\": \"<string>\",\n \"checkInStatus\": \"<string>\",\n \"checkInTime\": \"2023-11-07T05:31:56Z\",\n \"checkInNotes\": \"<string>\",\n \"checkInImages\": [\n \"<string>\"\n ],\n \"checkOutByEmail\": \"<string>\",\n \"checkOutStatus\": \"<string>\",\n \"checkOutTime\": \"2023-11-07T05:31:56Z\",\n \"checkOutNotes\": \"<string>\",\n \"checkOutImages\": [\n \"<string>\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"type": "<string>",
"data": {
"id": 123,
"buyerSpecificId": "<string>",
"woNumber": "<string>",
"poNumber": "<string>",
"isPM": true,
"isCapex": true,
"isStale": true,
"isSupplierInitiated": true,
"isCustomerInitiated": true,
"isWarranty": true,
"title": "<string>",
"displayStatus": "<string>",
"status": "<string>",
"statusChangedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"assetId": 123,
"subAssetIds": [
123
],
"isAssetDown": true,
"locationId": 123,
"areaId": 123,
"workCategoryId": 123,
"spendCategoryId": 123,
"problemTypeId": 123,
"problemType": {
"id": 123,
"name": "<string>",
"buyerCompanyId": 123,
"hasChildren": true
},
"woPriorityId": 123,
"needsApproval": true,
"images": [
"<string>"
],
"dueDate": "2023-11-07T05:31:56Z",
"scheduledAt": "2023-11-07T05:31:56Z",
"estimatedCompletionDate": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"assignedAt": "2023-11-07T05:31:56Z",
"supplierRespondedAt": "2023-11-07T05:31:56Z",
"supplierFacilityId": 123,
"supplierPrimaryContactEmail": "<string>",
"price": 123,
"currencyId": "<string>",
"nte": 123,
"notes": [
{
"text": "<string>",
"noteAddedBy": "<string>",
"noteAddedAt": "2023-11-07T05:31:56Z",
"id": 123,
"photo": "<string>",
"video": "<string>",
"audio": "<string>",
"otherFile": "<string>",
"elements": [
{
"type": "<string>",
"value": "<string>",
"userObject": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}
],
"noteReadDetails": [
{
"readAt": "2023-11-07T05:31:56Z",
"readBy": "<string>",
"readByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}
],
"noteAddedByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"noteType": "<string>",
"noteAddedByType": "<string>",
"caption": "<string>",
"isNoteAwaitingResponse": true
}
],
"lastNote": "<string>",
"lastNoteAddedBy": "<string>",
"lastNoteAddedAt": 123,
"buyerFacilityId": 123,
"buyerCompanyId": 123,
"createdBy": "<string>",
"buyerSubscriberEmails": [
"<string>"
],
"supplierSubscriberEmails": [
"<string>"
],
"associatedServiceCalls": [
{
"supplierFacilityId": 123,
"numberOfTechs": 123,
"workOrderId": 123,
"locationId": 123,
"buyerFacilityId": 123,
"buyerCompanyId": 123,
"isDeleted": true,
"id": 123,
"leadTechnicianEmail": "<string>",
"leadTechnicianEmailContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"additionalTechnicianEmails": [
"<string>"
],
"additionalTechnicians": [
{
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"stockLocationIds": [
123
],
"stockLocations": [
{
"name": "<string>",
"isMobile": true,
"supplierFacilityId": 123,
"supplierCompanyId": 123,
"isActive": true,
"allowEquipmentForwarding": true,
"isDeleted": true,
"id": 123,
"warehouseId": "<string>",
"images": [
"<string>"
],
"description": "<string>",
"address": {},
"latitude": 123,
"longitude": 123,
"timeZoneId": "<string>",
"locationId": 123,
"burdenRates": [
{
"year": 123,
"rate": "<string>"
}
],
"taxRates": [
{
"year": 123,
"rate": "<string>"
}
],
"purchaseOrderPrefix": "<string>",
"glCode": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
],
"serviceScheduledAt": "2023-11-07T05:31:56Z",
"checkInByEmail": "<string>",
"checkInByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"checkInStatus": "<string>",
"checkInTime": "2023-11-07T05:31:56Z",
"checkInNotes": "<string>",
"checkInImages": [
"<string>"
],
"checkInGeoLocation": {
"lat": "<string>",
"long": "<string>"
},
"checkInAudio": "<string>",
"checkInAudioTranscription": "<string>",
"checkOutByEmail": "<string>",
"checkOutByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"checkOutStatus": "<string>",
"checkOutTime": "2023-11-07T05:31:56Z",
"checkOutNotes": "<string>",
"checkOutImages": [
"<string>"
],
"checkOutGeoLocation": {
"lat": "<string>",
"long": "<string>"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
],
"lastServiceCall": {
"supplierFacilityId": 123,
"numberOfTechs": 123,
"workOrderId": 123,
"locationId": 123,
"buyerFacilityId": 123,
"buyerCompanyId": 123,
"isDeleted": true,
"id": 123,
"leadTechnicianEmail": "<string>",
"leadTechnicianEmailContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"additionalTechnicianEmails": [
"<string>"
],
"additionalTechnicians": [
{
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"stockLocationIds": [
123
],
"stockLocations": [
{
"name": "<string>",
"isMobile": true,
"supplierFacilityId": 123,
"supplierCompanyId": 123,
"isActive": true,
"allowEquipmentForwarding": true,
"isDeleted": true,
"id": 123,
"warehouseId": "<string>",
"images": [
"<string>"
],
"description": "<string>",
"address": {},
"latitude": 123,
"longitude": 123,
"timeZoneId": "<string>",
"locationId": 123,
"burdenRates": [
{
"year": 123,
"rate": "<string>"
}
],
"taxRates": [
{
"year": 123,
"rate": "<string>"
}
],
"purchaseOrderPrefix": "<string>",
"glCode": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
],
"serviceScheduledAt": "2023-11-07T05:31:56Z",
"checkInByEmail": "<string>",
"checkInByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"checkInStatus": "<string>",
"checkInTime": "2023-11-07T05:31:56Z",
"checkInNotes": "<string>",
"checkInImages": [
"<string>"
],
"checkInGeoLocation": {
"lat": "<string>",
"long": "<string>"
},
"checkInAudio": "<string>",
"checkInAudioTranscription": "<string>",
"checkOutByEmail": "<string>",
"checkOutByContact": {
"email": "<string>",
"nameGiven": "<string>",
"nameFamily": "<string>",
"contactType": "<string>",
"title": "<string>",
"department": "<string>",
"facilityId": 123,
"isSharedContact": true,
"readOnlyAccess": true,
"invitedByEmail": "<string>",
"invitedAt": "2023-11-07T05:31:56Z",
"epaCertificationType": "<string>",
"epaCertificationNumber": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"checkOutStatus": "<string>",
"checkOutTime": "2023-11-07T05:31:56Z",
"checkOutNotes": "<string>",
"checkOutImages": [
"<string>"
],
"checkOutGeoLocation": {
"lat": "<string>",
"long": "<string>"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
},
"buyerAttachments": [
{
"fileName": "<string>",
"fileId": "<string>"
}
],
"supplierAttachments": [
{
"fileName": "<string>",
"fileId": "<string>"
}
],
"resolutionTypeId": 123,
"plannedMaintenanceScheduleId": 123,
"cancelledAt": "2023-11-07T05:31:56Z",
"cancelledBy": "<string>",
"glCode": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"isDeleted": true,
"deletedAt": "2023-11-07T05:31:56Z"
},
"status": "ok"
}{
"message": "<string>",
"type": "<string>",
"status": "error",
"traceId": "<string>"
}{
"message": "<string>",
"type": "<string>",
"status": "error",
"traceId": "<string>"
}{
"message": "<string>",
"type": "<string>",
"status": "error",
"traceId": "<string>"
}Autorisations
OpenWrench shared secret. Required on every request alongside X-API-KEY; issued together with your API key.
Corps
Service-call payload parsed by the shared service-call constructor. locationId, buyerFacilityId and buyerCompanyId are derived from the work order.
REQUIRED. Work order the service call belongs to; must exist.
REQUIRED. Number of technicians.
Service call id, when updating an existing call
Part/quantity objects
Required for internal-service-team keys; for third-party suppliers it is overwritten with the API key's own facility id.
ISO 8601 date-time
Defaults to now when checkInStatus is set without a time
Show child attributes
Show child attributes
Defaults to now when checkOutStatus is set without a time
Show child attributes
Show child attributes
ISO 8601 date-time
Réponse
The associated work order, with its status updated
Entity type label, e.g. "WorkOrder". Endpoints that derive it via Scala reflection (most generic list/get endpoints) may return the fully qualified server class name instead (e.g. "models.workorder.WorkOrder"); treat this field as informational.
Work order (abridged - the full model has 150+ fields including hydrated location/asset/facility/approval-hierarchy objects). For third-party suppliers (keys not belonging to an internal service team) responses are masked: buyer-private fields are removed/blanked by the API masking layer.
Show child attributes
Show child attributes
"ok" on success
ok