Zum Hauptinhalt springen

Work order endpoints

oneGRID Cloud calls these adapter endpoints to fetch work orders from the external system and to report what happens to them during processing. Route base: /WorkOrders. All responses use the response envelope; result enums serialize as numbers — the values are listed per endpoint. See the integration lifecycle for when each endpoint is called.

Fetching work orders

GET /WorkOrders

Returns all work orders currently available in the external system.

Response — 200
{
"isResultSuccess": true,
"result": 2,
"validationStatus": null,
"externalMessage": null,
"data": [
{
"number": "WO-2026-0417",
"externalIdentifier": "ERP-000815",
"description": "Assembly kit, line 3",
"dueDate": "2026-07-15T12:00:00Z",
"customerRequiredDeliveryDate": null,
"workOrderTypeName": "Picking",
"designatedStorageName": "Main warehouse",
"deliveryNumber": null,
"alternativeStartNumber": null,
"externalData": null,
"requests": [
{
"itemNumber": "100-4711",
"itemName": "Hex bolt M8",
"requestedAmount": 12,
"unitOfMeasure": 0,
"requestType": 1,
"order": 1,
"lotNumber": null,
"designatedLocationName": null
}
]
}
]
}

Response data: array of WorkOrder objects. Result values: 0 OperationFailed, 1 WorkOrderInvalid, 2 Succeed, 3 AdapterApiClientFailed, 4 AdapterApiCallFailed, 5 AdapterNotDefined.

GET /WorkOrders/Code

Looks up a single work order by a scanned code, scoped to the storage the scan happened in. The envelope's externalMessage may carry a message from the external system, which oneGRID shows to the operator.

Request
GET /WorkOrders/Code?Code=WO-2026-0417&StorageName=Main%20warehouse
Query parameterTypeMeaning
CodestringThe scanned work order code.
StorageNamestringName of the storage the scan happened in.
Response — 200 (order not found)
{
"isResultSuccess": false,
"result": 2,
"validationStatus": null,
"externalMessage": "Order WO-2026-0417 is blocked for invoicing.",
"data": null
}

Response data: one WorkOrder or null. Result values: 0 OperationFailed, 1 Succeed, 2 WorkOrderDoesNotExist, 3 AdapterApiClientFailed, 4 AdapterApiCallFailed, 5 AdapterNotDefined.

GET /WorkOrders/ForPutWall/{code}

Returns the work orders belonging to a scanned code for Put Wall processing — typically one batch or tote code that maps to several orders.

Request
GET /WorkOrders/ForPutWall/TOTE-88123

Response data: array of WorkOrder objects — same shape as GET /WorkOrders. Result values: 0 OperationFailed, 1 WorkOrderInvalid, 2 Succeed, 3 AdapterApiClientFailed, 4 AdapterApiCallFailed, 5 AdapterNotDefined.

POST /WorkOrders/File

Parses an uploaded work order file (JSON or CSV) into work orders. Used by the manual work order import. File contents and column rules: File formats.

Request
{
"fileContent": "TnVtYmVyLEl0ZW1OdW1iZXIsRHVlRGF0ZSxSZXF1ZXN0ZWRBbW91bnQ…",
"fileType": 1
}
Body propertyTypeRequiredMeaning
fileContentstring (Base64)yesThe raw file bytes, Base64-encoded.
fileTypenumberyes0 = JSON, 1 = CSV.

Response data: array of WorkOrder objects parsed from the file. Result values: 0 OperationFailed, 1 Succeed, 2 InvalidInput, 3 FileNotSupported, 4 AdapterApiClientFailed, 5 AdapterApiCallFailed, 6 AdapterNotDefined.

Reporting

POST /WorkOrders/GetReport

Produces a completion report for a set of work orders in a storage — missing quantities and current placements.

Request
{
"workOrdersNumbers": ["WO-2026-0417", "WO-2026-0418"],
"storageId": "42",
"remainingRequests": { "100-4711": 2 }
}
Body propertyTypeRequiredMeaning
workOrdersNumbersstring[]yesWork order numbers to report on.
storageIdstringyesIdentifier of the storage.
remainingRequestsobject (string → number)yesItem number → remaining unfulfilled amount.
Response — 200
{
"isResultSuccess": true,
"result": 5,
"validationStatus": null,
"externalMessage": null,
"data": {
"missingQuantities": { "100-4711": 2 },
"placements": [
{ "itemNumber": "100-4711", "locationName": "A-03-12", "amount": 10 }
]
}
}

Result values: 0 OperationFailed, 1 InvalidInput, 2 AdapterApiClientFailed, 3 AdapterNotDefined, 4 WorkOrderDoesNotExist, 5 Succeed.

Export columns

oneGRID Cloud calls these endpoints while building a work order export file. They let the external system add its own columns to the export and name the column that carries the value it sends with each work order. An adapter that does not override them keeps the export limited to oneGRID's own columns — the base implementation answers Success with an empty list, and an empty label.

GET /WorkOrders/WorkOrderExportColumns

Returns the extra columns the external system offers for the work order export. They are shown in the Columns selection of the Export Data page, below oneGRID's own columns, under the headers returned here.

Response — 200
{
"isResultSuccess": true,
"result": 2,
"validationStatus": null,
"externalMessage": null,
"data": [
{ "key": "tourCode", "header": "Tour" }
]
}
Response propertyTypeMeaning
keystringStable identifier of the column. oneGRID Cloud sends it back in the values lookup below and stores it in the user's remembered column selection.
headerstringColumn heading, used verbatim in the selection list and in the exported file.

Response data: array of column descriptors. An empty array means the adapter offers no extra columns. Result values: 0 AdapterNotDefined, 1 AdapterApiClientFailed, 2 Success, 3 OperationFailed.

hinweis

AdapterNotDefined and Success both leave the export working with oneGRID's own columns. Only AdapterApiClientFailed and OperationFailed fail an export that has adapter columns selected.

POST /WorkOrders/WorkOrderExportValues

Resolves the values of the selected adapter columns for a batch of work orders. Called once per export, after the rows are known and before the file is written, so nothing has to be stored in oneGRID Cloud beforehand. The request body is a JSON array — one element per exported work order.

Request
[
{
"workOrderNumber": "WO-2026-0417",
"externalData": "{\"orderType\":\"rush\"}",
"deliveryNoteExternalData": "{\"noteId\":\"DN-77\"}",
"deliveryAddressExternalData": "{\"city\":\"Olching\"}"
}
]
Body propertyTypeMeaning
workOrderNumberstringWork order the values are requested for.
externalDatastringThe work order's externalData as it was received — see the WorkOrder object.
deliveryNoteExternalDatastringCustomer-specific data of the order's delivery note, when one is known. null otherwise.
deliveryAddressExternalDatastringCustomer-specific data of the delivery note's address, when one is known. null otherwise.
Response — 200
{
"isResultSuccess": true,
"result": 2,
"validationStatus": null,
"externalMessage": null,
"data": [
{
"workOrderNumber": "WO-2026-0417",
"values": { "tourCode": "T-14" }
}
]
}
Response propertyTypeMeaning
workOrderNumberstringWork order the values belong to.
valuesobject (string → string)Column key → cell value. A key that is absent produces an empty cell.

Result values: 0 AdapterNotDefined, 1 AdapterApiClientFailed, 2 Success, 3 OperationFailed.

warnung

The whole export range goes out in one request. A wide date range on a large installation can exceed the HTTP client timeout or the request body limit — keep the response prompt.

GET /WorkOrders/WorkOrderExternalIndexableValueLabel

Returns the name for the column that shows a work order's external indexable value — the value the external system indexes its orders by, which is set on the order through the integration interface rather than through these adapter endpoints. oneGRID Cloud uses the label returned here as the column heading on the work order pages, in the work order details, in the export column selection, and in the exported file.

Response — 200
{
"isResultSuccess": true,
"result": 2,
"validationStatus": null,
"externalMessage": null,
"data": { "label": "Customer Name" }
}
Response propertyTypeMeaning
labelstringColumn heading. A label matching a string oneGRID Cloud already translates — for example Customer Name — is shown in the user's language; any other label is shown verbatim. An empty label hides the column everywhere.

Result values: 0 AdapterNotDefined, 1 AdapterApiClientFailed, 2 Success, 3 OperationFailed.

Event notifications

oneGRID Cloud posts these events so the external system stays in sync with what happens on the warehouse floor. They return no data — only the envelope with the result, for example:

Response — 200 (typical acknowledgement)
{
"isResultSuccess": true,
"result": 1,
"validationStatus": null,
"externalMessage": null
}

POST /WorkOrders/ForPutWall

Confirms that an item amount was placed into a Put Wall location.

Request
{
"workOrderNumber": "WO-2026-0417",
"itemNumber": "100-4711",
"itemNames": [
{ "languageIsoCode": "en", "name": "Hex bolt M8", "isDefault": true }
],
"completedAmount": 12,
"confirmedLocationName": "PW-B-04",
"userEmail": "operator@example.com",
"externalData": null
}
Body propertyTypeMeaning
workOrderNumberstringWork order the placement belongs to.
itemNumberstringItem that was placed.
itemNamesarrayLocalized item names: { languageIsoCode, name, isDefault }.
completedAmountnumberAmount placed, in the item's unit of measure.
confirmedLocationNamestringPut Wall location where the placement was confirmed.
userEmailstringOperator who confirmed.
externalDatastringCustomer-specific supplementary data (JSON string).

Result values: 0 OperationFailed, 1 Succeed, 2 AdapterApiClientFailed, 3 AdapterApiCallFailed, 4 AdapterNotDefined, 5 InvalidInput.

POST /WorkOrders/CancelPutWallItem

Cancels a single item of a work order during Put Wall processing.

Request
{ "workOrderNumber": "WO-2026-0417", "itemNumber": "100-4711" }

Result values: 0 OperationFailed, 1 Succeed, 2 AdapterApiClientFailed, 3 AdapterApiCallFailed, 4 AdapterNotDefined, 5 InvalidInput.

POST /WorkOrders/CancelWorkOrderRequest

Cancels one request line of a work order in the external system.

Request
{
"workOrderNumber": "WO-2026-0417",
"workOrderTypeName": "Picking",
"workOrderExternalIdentifier": "ERP-000815",
"requestExternalIdentifier": "ERP-000815-1",
"userEmail": "operator@example.com",
"request": {
"requestId": 3021,
"itemNumber": "100-4711",
"requestedAmountInBaseUnitOfMeasure": 12,
"completedAmountInBaseUnitOfMeasure": 4,
"isCancelled": true,
"type": 1
}
}
Body propertyTypeMeaning
requestobjectThe full request line being cancelled (item number, amounts, lot number, identifiers).
workOrderNumberstringWork order number.
workOrderTypeNamestringWork order type.
workOrderExternalIdentifierstringExternal system's ID of the work order.
workOrderExternalDatastringCustomer-specific data (JSON string).
requestExternalIdentifierstringExternal system's ID of the request line.
userEmailstringOperator who cancelled.

Result values: 0 AdapterApiClientFailed, 1 AdapterNotDefined, 2 Success, 3 OperationFailed.

POST /WorkOrders/RelocateCartContainers

Reports that PickCart containers — and the work orders picked into them — were relocated to destination locations. The body is a JSON array.

Request
[
{
"containerCode": "CONT-0042",
"destinationLocationName": "OUT-01",
"workOrder": {
"number": "WO-2026-0417",
"requests": [
{ "itemNumber": "100-4711", "requestedAmount": 12, "completedAmount": 12 }
]
}
}
]

Result values: 0 InvalidInput, 1 Success, 2 OperationFailed, 3 AdapterApiClientFailed, 4 AdapterNotDefined.

POST /WorkOrders/AttachWorkOrder

Notifies that a work order was attached to a physical container — or released from it when the order was abandoned or cancelled.

Request
{
"workOrderNumber": "WO-2026-0417",
"containerCode": "CONT-0042",
"isAbandonedOrCancelled": false
}

Result values: 0 Success, 1 OperationFailed, 2 InvalidInput, 3 WorkOrderDoesNotExist, 4 ContainerDoesNotExist, 5 WorkOrderAlreadyAttached, 6 ContainerAlreadyAttached, 7 AdapterApiClientFailed, 8 AdapterNotDefined, 9 InvalidContainer.

POST /WorkOrders/Status

Legacy

This endpoint is legacy and scheduled for rework — new adapter implementations should not rely on it. Work-order status changes are better tracked through the processing callbacks and the event notifications above.

Notifies the external system that a work order's status changed. Body: number (string) and status (0 New, 1 Paused, 2 Assigned, 3 Completed, 4 Empty, 5 Abandoned, 6 Canceled, 7 CompletedWithCancelations, 8 Unknown).

WorkOrder object

The central payload returned by the fetch endpoints and produced by file parsing.

PropertyTypeRequiredMeaning
numberstringyesWork order number (business key).
externalIdentifierstringnoExternal system's ID.
descriptionstringnoHuman-readable description.
dueDatestring (date-time)yesWhen the order is due.
customerRequiredDeliveryDatestring (date-time)noDelivery date requested by the customer.
requestsarrayyesThe order's request lines — see below.
workOrderTypeNamestringnoWork order type — see Process types.
designatedStorageNamestringnoStorage the order is assigned to.
deliveryNumberstringnoDelivery or shipment number.
alternativeStartNumberstringnoAlternative scannable code the order can be started with.
externalDatastringnoCustomer-specific supplementary data as a JSON string.

Each element of requests (one request line):

PropertyTypeRequiredMeaning
itemNumberstringyesItem to pick or place.
itemNamestringnoItem display name.
itemDescriptionstringnoItem description.
languageIsoCodestringnoLanguage of name and description.
requestedAmountnumber (integer)yesAmount in the item's unit of measure.
unitOfMeasurenumber (enum)no0 Piece, 1 Meter, 2 Centimeter, 3 Millimeter, 4 Kilogram, 5 Gram, 6 Milligram, 7 Liter, 8 Centiliter, 9 Milliliter, 10 Gallon, 11 Pound, 12 SquareMeter, 13 CubicMeter. Defaults to 0.
lotNumberstringnoLot or batch number.
itemExternalIdentifierstringnoExternal item ID.
requestExternalIdentifierstringnoExternal request-line ID.
requestExternalDatastringnoCustomer-specific data (JSON string).
requestTypenumber (enum)no0 Ignored, 1 PickItem, 2 PlaceItem.
ordernumber (integer)noProcessing sequence of the line.
designatedLocationNamestringnoLocation the line is bound to.

Wir verwenden Cookies für Analysezwecke, um unsere Website zu verbessern. Weitere Informationen finden Sie in unserer Datenschutzerklärung.