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,
"checkoutStatus": null
}
}
Body propertyTypeMeaning
requestobjectThe full request line being cancelled (item number, amounts, lot number, identifiers). Its checkoutStatus property is always null in this call.
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/UpdateCompletionCheck​

Reports the result of a checkout — the count of a picked work order before it leaves — to the external system. oneGRID Cloud calls it when an operator finishes the checkout of a work order, and again each time an operator resends a finished checkout. A checkout can only be finished or resent while picking of every line is complete and every line's checked amount equals its requested amount, so the three amounts of each reported line are equal.

Request
{
"workOrderNumber": "WO-2026-0417",
"userEmail": "operator@example.com",
"items": [
{
"requestId": 3021,
"itemNumber": "100-4711",
"itemUnitOfMeasure": 0,
"requestedAmountInBaseUnitOfMeasure": 12,
"completedAmountInBaseUnitOfMeasure": 12,
"checkedAmountInBaseUnitOfMeasure": 12
}
]
}
Body propertyTypeMeaning
workOrderNumberstringWork order that was checked out.
userEmailstringOperator who finished or resent the checkout.
itemsarrayOne element per request line the checkout lists, in the order's processing sequence — see below. A request line cancelled before anything was picked is left out; one cancelled after part of it was picked is included, with the picked amount as its requested amount.

Each element of items:

PropertyTypeMeaning
requestIdnumber (integer)oneGRID-internal ID of the request line.
itemNumberstringItem of the request line.
itemUnitOfMeasurenumber (enum)Unit of measure — same values as unitOfMeasure in the WorkOrder object.
requestedAmountInBaseUnitOfMeasurenumber (integer)Requested amount, in the item's base unit.
completedAmountInBaseUnitOfMeasurenumber (integer)Picked amount, in the item's base unit.
checkedAmountInBaseUnitOfMeasurenumber (integer)Amount counted at checkout, in the item's base unit.

The lines carry no lot number and no external identifiers — match them by requestId or itemNumber.

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

hinweis

A failed call — the adapter cannot be reached, or answers with isResultSuccess: false — does not undo a finished checkout: the counts and the finish stay saved in oneGRID Cloud, and the operator sees a warning. Because a resend repeats the call for a checkout that is already finished, the external system can receive the same work order more than once. Without a configured adapter the call is skipped, and an adapter that does not override the endpoint answers Success without doing anything.

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, 3 RelocateItem. 3 is reserved for oneGRID Cloud's own Relocate Item process — the work order file imports reject it.
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.