Flat Sorter API (2.9, 2.10, 2.11)

Download OpenAPI specification:Download

Last Modified: 2025-02-25 14:00:00
A few features are only available in KiSoft One 2.10. These features are marked as "available in KiSoft One 2.10".

This document represents the API description for flat sorter products. It is a subset of the KiSoft One API specification.

Introduction

This API is documented in OpenAPI Specification (OAS) format. In addition to standard OpenAPI syntax a few vendor extensions are used for easier documentation.

Encoding

The standard UTF-8 is used for the character encoding for the data interchange between KiSoft One and the higher-level system.

General Conventions

Throughout this documentation, monospace letters are used for data definitions (fields, values, etc...).

When referencing certain values of data fields, every "value" is written in quotation marks.

All data fields are named in camelCase schema with lowercase first letter.

All component references in the OAS schema are named in PascalCase schema with uppercase first letter.

Since this specification can be used on non HTTP transport layers, it omits the use of URI parameters (e.g. PATCH /frameworkRoute/{clientNumber}/{orderNumber}).

Transmission of Date & Time

A date attribute has to be transmitted as string in the following format: YYYY-MM-DD, e. g. 2024-03-15.

A time attribute has to be transmitted as string in the following format: HH:MM:SS, e. g. 14:30:00.

A date-time attribute has to be transmitted as string in the following format: YYYY-MM-DDTHH:MM:SSZ, e.g. 2024-01-24T14:15:22Z.

Transmission of Identifying Attributes

For the transmission of identifying attributes in the openAPI messages the following rules must be followed:

  • for messages with clientNumber: for the same clientNumber each value of the identifying attribute (e. g. orderNumber, inboundDeliveryNumber, requestNumber) must be unique among all types of messages for this attribute.
  • for messages without clientNumber: each value of the identifying attribute (e. g. requestNumber of message requestStorageReport) must be globally unique among all types of messages.

Transport Layer Security

It is highly recommended to use HTTPS as the default transport layer for communication. Nevertheless, the interface may be used without any transport layer security.

Note that using the interface without transport layer security is not recommended and should only be used in isolated network environments to ensure communication interference is prevented.

Application Layer Security

This interface allows for application layer security by providing authentication methods.

Accessing the interface can be restricted to authenticated communication partners.

The following authentication flows are provided.

Client Credentials Flow (available in KiSoft One 2.10)

With machine-to-machine (M2M) applications, such as this host interface, the system authenticates and authorizes another app rather than a user. For this scenario, typical authentication schemes like username + password or social logins don't make sense. Instead, M2M apps use the Client Credentials Flow (defined in OAuth 2.0 RFC 6749, section 4.4), in which they pass along their Client ID and Client Secret to authenticate themselves and get a token.

The flow contains the following interaction steps:

  1. Your app authenticates with the Authorization Server using its Client ID and Client Secret (/oauth/token endpoint).
  2. Authorization Server validates the Client ID and Client Secret.
  3. Authorization Server responds with an Access Token.
  4. Your application can use the Access Token to call an API on behalf of itself.
  5. The API responds with requested data.

Using the Interface on Non-HTTP Transport Layers

JSON and/or XML messages on e.g. simple TCP/IP connections without the URL and HTTP-method have to compensate for missing information. A corresponding encapsulation element/object has to be added in order to achieve this.

Information which would normally be part of the HTTP header, will be added as additional fields to the top element/object. (see examples below). The name of the object will compensate for the missing http request method and the http request path Response messages will contain an additional attribute called httpResponseStatus which represents the request status

Note: When using the Replychannels via Websockets, the same rules apply to the message syntax as are used with TCP/IP socket streams.

Note: XML messages always provide the encapsulating element including the attributes, to provide a valid xml document.

JSON Examples:

WEB-JSON: DELETE /goodsOutOrder

{
   "clientNumber": "DEFAULT",
   "orderNumber": "ORD_00001"
}

TCP-JSON:

"DeleteGoodsOutOrder": {
   "clientNumber": "DEFAULT",
   "orderNumber": "ORD_00001"
}

TCP-JSON Response:

"DeleteGoodsOutOrder_Response": {
  "httpResponseStatus": 200,
  "clientNumber": "DEFAULT",
  "orderNumber": "ORD_00001"
}

XML Examples:

WEB-XML: DELETE /goodsOutOrder

<DeleteGoodsOutOrder clientNumber="DEFAULT" orderNumber="UT-GO-00001" />

TCP-XML:

<DeleteGoodsOutOrder clientNumber="DEFAULT" orderNumber="UT-GO-00001" />

Response:

<DeleteGoodsOutOrder_Response clientNumber="DEFAULT" orderNumber="UT-GO-00001" httpResponseStatus="200"/>

For a further example see Example XML Message.

Base URL for Communication

The base URL for the communication with KiSoft One for incoming messages is: /kisoft/oneapi/v1/

Incoming URL examples (KiSoft One is server):

  • /kisoft/oneapi/v1/customer with html-method "PUT"
  • /kisoft/oneapi/v1/goodsOutOrder with html-method "POST"
  • /kisoft/oneapi/v1/relocationRequest/loadUnits with html-method "POST"

Websocket Response Channel

KiSoft One acts per default as server - and the higher-level system needs to establish permanent Websocket connections.

In order to provide response messages without the need for the higher level system to create a multitude of webhook endpoints a websocket connection is provided.

The websockets can be requested at the following paths:

  • /kisoft/oneapi/v1/websocket/MovementData for all events regarding movement data
  • /kisoft/oneapi/v1/websocket/StockChanges for all live stock changes
  • /kisoft/oneapi/v1/websocket/Reports for requested reports and stock snapshots

It is only possible to create one socket connection per endpoint.

Since the websocket connection is no longer a http transport layer, modifications to the messages described in Using the Interface on Non-HTTP Transport Layers apply.

In order to detect connection loss during idle communication times, the heartbeat message is sent every 60 seconds if no other messages are sent during this period.

If the heartbeat or other messages are not acknowledged by the higher level system, the connection is terminated by KiSoft and a new connection has to be established by the higher level system.

Option: KiSoft One is Client for all Outgoing Reply Messages

If it is required, that the higher-level system acts as server and KiSoft One acts as client for all outgoing reply messages, which are marked with "EVENT", then the higher-level system needs to define the base URL warehouse specific. Knapp will add the reply path based on the message in cammelCase.

Outgoing URL example:

  • https://10.89.17.1/one2host/oneapi/v1/goodsOutOrderReply

Flat Sorter Usecases

A flat sorter system consists of multiple different use cases depending on the deployed mode. For now Sort and Deliver is the first available mode within the flat sorter product. Different processing modes will be added in the future. Custom processing modes which are fitted to specific business can be implemented outside of the standard product.

Sort and Deliver

The Sort and Deliver mode is one of the processing modes for a Flat Sorter. Sort and Deliver covers the essential needs for a typical goods-out processing. Loading units (e.g. a parcel or a carton) are pre-advised to the sorter and routed to their desired destination within the sorter once they arrive. A loading unit consists of only one item. No commissioning (order picking) takes place in this mode.

Transmit of order data including sortation process

Below diagram describes the basic process of transmitting a goods-out order to KiSoft including the followup sortation process. In the beginning the host system creates a goods out order. A goods out order consists of only one loadingUnit with a specific loadingUnitCode. The loadingUnitCode e.g. describes the optical identifyable barcode on the parcel/ carton. Destinations within the sorter are found based on the provided workCriteria that is both attached to the order and the destination (station).

Transmit of order data including sortation process

Update station configuration

As described in above use case work stations must have a workCriteria assigned in order to receive orders matching the same criteria. In order to set the criteria for a given work station, the postWorkStationConfiguration message has to be sent. By sending this message the currently active criteria will be replaced. Loading units which are currently still on transport to the given work station will still be diverted to avoid non-matching trays circling.

Query all available work stations

A work station describes a dropoff/ divert/ chute within a flat sorter. Loading units will exit the sorter at this point. In order to query all work stations attached to the sorter, a PostRequestWorkStationStatus has to be sent without any content. This will cause the system to return all available work stations.

Configure a work station to receive anomaly items

Within a flat sorter it may happen that errors occur, like no read or no data items. In order to handle these special workCriteria can be assigned to work stations. In order to allow a station to receive no read items, assign SORTER_NO_READ to a work station. In addition to that SORTER_NO_DATA can be assigned for no data items. SORTER_CIRCULATION_REACHED might be assigned if items shall be diverted at a special work station when the number of allowed circulations is reached.

General Purpose Messages

This section provides general supplementary messages.

Heartbeat Webhook

operationId: PostKiSoft2HostHeartbeat

This message provides the heartbeat functionality as described in Websocket Response Channel

Authorizations:
oAuth2ClientCredentialsbasic_user_authenticationNone
Request Body schema:
required
time
required
string <date-time> (EventTime)

Exact time at which the event / status change was recorded.

Responses

Request samples

Content type
{
  • "time": "2023-01-24T14:15:22Z"
}

Workstation Status Webhook

operationId: PostWorkStationStatus

This message provides the information about the status and the warehouse tasks of stations. The warehouse tasks are sent, when a station is active.

This message can be sent because of the following two reasons:

  • A station is configured and the station is activated or a warehouse task for the station is selected or changed. Then only this station is returned.
  • The message is sent as response to the message requestWorkStationStatus.
Authorizations:
oAuth2ClientCredentialsbasic_user_authenticationNone
Request Body schema:
required
Array
stationName
required
string (StationName) <= 20 characters ^[A-Z][A-Z0-9_]*$

Identifying name of the station. The station name is unique within KiSoft One.

stationStatus
required
string (StationStatus) <= 20 characters
Enum: "ACTIVE" "INACTIVE" "LOCKED"

Defines the status of the station.

Value
Meaning
ACTIVE A user is logged on to the station.
INACTIVE No user is logged on to the station.
LOCKED The station is in pause mode.
Array of objects (WarehouseTask)

Warehouse tasks assigned to the station.

Array
workCriteria
Array of strings (WorkCriterion) [^[A-Z][A-Z0-9_]*$]

Work criterion for the station, e.g. SHIPPER, CASE_TYPE. Names are free to choose and are added at runtime

userCode
string (UserCode) <= 128 characters

User logged on to the station.

Responses

Request samples

Content type
[
  • {
    • "stationName": "M01",
    • "stationStatus": "ACTIVE",
    • "warehouseTasks": [
      ],
    • "userCode": "Picker1"
    }
]

Heartbeat Connectivity Check

operationId: PostHost2KiSoftHeartbeat

This message can be used to monitor the availability of the KiSoft One Webserver.

Authorizations:
oAuth2ClientCredentialsbasic_user_authenticationNone
Request Body schema:
required
time
required
string <date-time> (EventTime)

Exact time at which the event / status change was recorded.

Responses

Request samples

Content type
{
  • "time": "2023-01-24T14:15:22Z"
}

Response samples

Content type
{
  • "codes": [
    • "E-AKO-MAST-0001",
    • "E-AKO-MAST-0002"
    ]
}

Request Workstation Status

operationId: PostRequestWorkStationStatus

This message can be used to get the status of workstations. If stationName is transmitted, only the status for this station is returned. If no stationName is transmitted, all stations are returned. The response for this message is the message PostWorkStationStatus.

Authorizations:
oAuth2ClientCredentialsbasic_user_authenticationNone
Request Body schema:
required
stationName
string (StationName) <= 20 characters ^[A-Z][A-Z0-9_]*$

Identifying name of the station. The station name is unique within KiSoft One.

Responses

Request samples

Content type
{
  • "stationName": "M01"
}

Response samples

Content type
{
  • "codes": [
    • "E-AKO-MAST-0001",
    • "E-AKO-MAST-0002"
    ]
}

Post Workstation Configuration

operationId: postWorkStationConfiguration

This message can be used to get the status of workstations. If stationName is transmitted, only the status for this station is returned. If no stationName is transmitted, all stations are returned. The response for this message is the message PostWorkStationStatus.

Authorizations:
oAuth2ClientCredentialsbasic_user_authenticationNone
Request Body schema:
required
Array
stationName
required
string (StationName) <= 20 characters ^[A-Z][A-Z0-9_]*$

Identifying name of the station. The station name is unique within KiSoft One.

stationStatus
required
string (StationStatus) <= 20 characters
Enum: "ACTIVE" "INACTIVE" "LOCKED"

Defines the status of the station.

Value
Meaning
ACTIVE A user is logged on to the station.
INACTIVE No user is logged on to the station.
LOCKED The station is in pause mode.
Array of objects (WarehouseTask)

Warehouse tasks assigned to the station.

Array
workCriteria
Array of strings (WorkCriterion) [^[A-Z][A-Z0-9_]*$]

Work criterion for the station, e.g. SHIPPER, CASE_TYPE. Names are free to choose and are added at runtime

userCode
string (UserCode) <= 128 characters

User logged on to the station.

Responses

Request samples

Content type
[
  • {
    • "stationName": "M01",
    • "stationStatus": "ACTIVE",
    • "warehouseTasks": [
      ],
    • "userCode": "Picker1"
    }
]

Response samples

Content type
{
  • "codes": [
    • "E-AKO-MAST-0001",
    • "E-AKO-MAST-0002"
    ]
}

Sort and Deliver

The Sort and Deliver mode is one of the processing modes for a Flat Sorter. Sort and Deliver covers the essential needs for a typical goods-out processing. Loading units (e.g. a parcel or a carton) are pre-advised to the sorter and routed to their desired destination within the sorter once they arrive.

Goods-Out Order Processing Results Webhook

operationId: PostGoodsOutOrderReply

Provides new processing information for an existing goods-out order.

This message is always sent to the higher-level system (no configuration available), when one of the following trigger events occur:

  • processingStatus changes to one of the following values:
    • "NEW" (only for KiSoft created orders; createdBy = "SYSTEM" or "USER")
    • "STARTED"
    • "PROCESSED"
    • "FINISHED"
    • "CANCELLED"
    • "RESTARTED"
  • a change in the processingResult of one of the transmitted transportTargets
  • reading the load unit at a station configured for station reply
Authorizations:
oAuth2ClientCredentialsbasic_user_authenticationNone
Request Body schema:
required
clientNumber
required
string (ClientNumber) <= 30 characters ^[A-Z][A-Z0-9_]*$

Many entities in KiSoft are linked to a client by a clientNumber like master data, stock or most movement data.

The warehoused goods are always allocated to a client. Therefore when stock is created, the client is always used as a stock separating attribute.

The process of submitting an order is handled by the client. The client takes its customer purchase orders and transmits this data to the warehouse operating company. The operating company is responsible for the outbound delivery of the goods.

orderNumber
required
string (OrderNumber) <= 32 characters ^[A-Z][A-Z0-9_]*$

Identifier assigned to an order. This information will be used as a general reference when communicating with the higher-level system.

The order number is normally assigned by the system that generates the order. Various systems generate orders depending on the order type. A warehouse order includes all warehouse tasks that are necessary to process the warehouse order.

processingStatus
required
string (GoodsOutOrderProcessingStatus) <= 30 characters
Enum: "NEW" "STARTED" "PROCESSED" … 3 more

Represents the current state of an order.

Meaning:
  • NEW: new order was created.
  • STARTED: processing of the order has been started.
  • PROCESSED: picking of the order has been finished.
  • FINISHED: order has been successfully finished.
  • CANCELLED: order has been cancelled.
  • RESTARTED: order has been restarted.

State Diagram

statusEventTime
string <date-time> (EventTime)

Exact time at which the event / status change was recorded.

Responses

Request samples

Content type
{
  • "clientNumber": "DEFAULT",
  • "orderNumber": "ORD_00001",
  • "processingStatus": "FINISHED",
  • "statusEventTime": "2023-01-24T14:15:22Z"
}

Create Goods-Out Order

operationId: PostGoodsOutOrder

Goods-Out orders are used to route goods to a specific destination within the sorter. Each order has certain properties that can have an influence on the processing of the order. The routing of an order to a specific destination takes places based on so called workCriteria. An order can have multiple of these criteria assign. The specific destination has to support all of the required criteria.

Authorizations:
oAuth2ClientCredentialsbasic_user_authenticationNone
Request Body schema:
required
clientNumber
required
string (ClientNumber) <= 30 characters ^[A-Z][A-Z0-9_]*$

Many entities in KiSoft are linked to a client by a clientNumber like master data, stock or most movement data.

The warehoused goods are always allocated to a client. Therefore when stock is created, the client is always used as a stock separating attribute.

The process of submitting an order is handled by the client. The client takes its customer purchase orders and transmits this data to the warehouse operating company. The operating company is responsible for the outbound delivery of the goods.

orderNumber
required
string (OrderNumber) <= 32 characters ^[A-Z][A-Z0-9_]*$

Identifier assigned to an order. This information will be used as a general reference when communicating with the higher-level system.

The order number is normally assigned by the system that generates the order. Various systems generate orders depending on the order type. A warehouse order includes all warehouse tasks that are necessary to process the warehouse order.

sheetNumber
required
integer (SheetNumber) >= 1

Expansion of the order number that are assigned e.g. to individual picking orders when they are generated.

loadCarrier
required
string (LoadCarrier) <= 30 characters ^[A-Z][A-Z0-9_]*$

Defines the type of the load carrier. Load carriers are divided by types. Examples of load carriers are: SMALL, MEDIUM, LARGE, FULL, HALF, QUARTER, EURO_PALLET

priority
integer (Priority) >= 0

Gives the priority with which an order or request shall be treated by the system. The higher the number the higher the priority.

loadUnitCode
string (LoadUnitCode) <= 36 characters ^[A-Z][A-Z0-9_]*$

Load unit number in a machine-readable optical code that identifies the load unit. Generally the load unit code has to be unique for the warehouse.

The load unit is a logistical unit that can be transported, handled, stored and also picked as a whole.

The forming of standard load units serves to create efficient goods flow processes. Depending on the requirements of the article and the goods flow processes, a load unit can consist of various elements. A typical load unit comprises a load carrier (e.g. container, carton, pallet, wire box pallet - covered by loadCarrier), the cargo located on or in the load carrier (e.g. picked articles).

Orientation information present in optical codes (e.g. 'L' or 'R' for left and right) that do not represent the load unit number, has to be omitted by all systems.

departureTime
string <time> (DepartureTime)

Planned departure for the route at dispatch area. In the case a departureTime set for an order and also for the frameworkRoute of this same order, only the departureTime of the order is considered.

departureDate
string <date> (DepartureDate)

Planned departure date for the route at dispatch area.

customerNumber
string (CustomerNumber) <= 64 characters ^[A-Z][A-Z0-9_]*$

Identifier assigned to a customer by the client.

workCriteria
Array of strings (WorkCriterion) [^[A-Z][A-Z0-9_]*$]

Work criterion for the station, e.g. SHIPPER, CASE_TYPE. Names are free to choose and are added at runtime

Responses

Request samples

Content type
{
  • "clientNumber": "DEFAULT",
  • "orderNumber": "ORD_00001",
  • "sheetNumber": 1,
  • "priority": 1,
  • "loadCarrier": "FULL",
  • "loadUnitCode": "LOU_0000001",
  • "departureTime": "14:00:00",
  • "departureDate": "2023-11-24",
  • "customerNumber": "CUS_0000001",
  • "workCriteria": [
    • "LARGE",
    • "DEPOT_01"
    ]
}

Response samples

Content type
{
  • "clientNumber": "DEFAULT",
  • "orderNumber": "ORD_00001",
  • "sheetNumber": 1,
  • "codes": [
    • "E-AKO-MAST-0001",
    • "E-AKO-MAST-0002"
    ],
  • "lineCodes": [
    • {
      }
    ]
}

Update Goods-Out Order

operationId: PatchGoodsOutOrder

The PATCH operation is used to update information of goods-out order.

The possibility to updated certain information depends on the processingStatus of the order:

processingStatus:

field:
"NEW" "STARTED" "PROCESSED"
priority
loadCarrier
loadUnitCode
departureTime
departureDate
workCriteria
Authorizations:
oAuth2ClientCredentialsbasic_user_authenticationNone
Request Body schema:
required
clientNumber
required
string (ClientNumber) <= 30 characters ^[A-Z][A-Z0-9_]*$

Many entities in KiSoft are linked to a client by a clientNumber like master data, stock or most movement data.

The warehoused goods are always allocated to a client. Therefore when stock is created, the client is always used as a stock separating attribute.

The process of submitting an order is handled by the client. The client takes its customer purchase orders and transmits this data to the warehouse operating company. The operating company is responsible for the outbound delivery of the goods.

orderNumber
required
string (OrderNumber) <= 32 characters ^[A-Z][A-Z0-9_]*$

Identifier assigned to an order. This information will be used as a general reference when communicating with the higher-level system.

The order number is normally assigned by the system that generates the order. Various systems generate orders depending on the order type. A warehouse order includes all warehouse tasks that are necessary to process the warehouse order.

priority
integer (Priority) >= 0

Gives the priority with which an order or request shall be treated by the system. The higher the number the higher the priority.

departureTime
string <time> (DepartureTime)

Planned departure for the route at dispatch area. In the case a departureTime set for an order and also for the frameworkRoute of this same order, only the departureTime of the order is considered.

departureDate
string <date> (DepartureDate)

Planned departure date for the route at dispatch area.

workCriteria
Array of strings (WorkCriterion) [^[A-Z][A-Z0-9_]*$]

Work criterion for the station, e.g. SHIPPER, CASE_TYPE. Names are free to choose and are added at runtime

Responses

Request samples

Content type
{
  • "clientNumber": "DEFAULT",
  • "orderNumber": "ORD_00001",
  • "priority": 1,
  • "departureTime": "14:00:00",
  • "departureDate": "2023-11-24",
  • "workCriteria": [
    • "LARGE",
    • "DEPOT_01"
    ]
}

Response samples

Content type
{
  • "clientNumber": "DEFAULT",
  • "orderNumber": "ORD_00001",
  • "sheetNumber": 1,
  • "codes": [
    • "E-AKO-MAST-0001",
    • "E-AKO-MAST-0002"
    ],
  • "lineCodes": [
    • {
      }
    ]
}

Delete Goods-Out Order

operationId: DeleteGoodsOutOrder

NOTE: The delete operation can be carried out as long as the processingStatus has not reached "STARTED".

Authorizations:
oAuth2ClientCredentialsbasic_user_authenticationNone
Request Body schema:
required
clientNumber
required
string (ClientNumber) <= 30 characters ^[A-Z][A-Z0-9_]*$

Many entities in KiSoft are linked to a client by a clientNumber like master data, stock or most movement data.

The warehoused goods are always allocated to a client. Therefore when stock is created, the client is always used as a stock separating attribute.

The process of submitting an order is handled by the client. The client takes its customer purchase orders and transmits this data to the warehouse operating company. The operating company is responsible for the outbound delivery of the goods.

orderNumber
required
string (OrderNumber) <= 32 characters ^[A-Z][A-Z0-9_]*$

Identifier assigned to an order. This information will be used as a general reference when communicating with the higher-level system.

The order number is normally assigned by the system that generates the order. Various systems generate orders depending on the order type. A warehouse order includes all warehouse tasks that are necessary to process the warehouse order.

Responses

Request samples

Content type
{
  • "clientNumber": "DEFAULT",
  • "orderNumber": "ORD_00001"
}

Response samples

Content type
{
  • "clientNumber": "DEFAULT",
  • "orderNumber": "ORD_00001",
  • "sheetNumber": 1,
  • "codes": [
    • "E-AKO-MAST-0001",
    • "E-AKO-MAST-0002"
    ]
}

Appendix

Return Codes

The following return codes can be sent to the higher level system:

Code Description
200 Processing of message was successful.
207 Some operations failed.
400 A bad request has been sent.
409 Operation is not allowed.

Also the standard HTTP response status codes (e. g. 500) can be sent to the higher level system.

For further detail see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#server_error_responses.

Error Response Codes

The error numbers are built upon this schema:

  • Severity (E):
    • Error
  • System (AKO):
    • Knapp AG (A)
    • KiSoft One (KO)
  • Module (XXXX):
    • General (GENR)
    • Masterdata (MAST)
    • Movementdata (MOVM)
    • Stock-Management (STOC)

The following error codes can be sent to the higher level system:

Code Description
E-AKO-GENR-0001 General error
E-AKO-GENR-0002 Format error
E-AKO-MAST-0001 Unknown article
E-AKO-MAST-0002 Unknown customer
E-AKO-MAST-0003 Unknown route
E-AKO-MAST-0004 Unknown supplier
E-AKO-MAST-0005 Unknown ramp number
E-AKO-MAST-0006 Wrong pack size
E-AKO-MAST-0007 No departure time
E-AKO-MAST-0008 Route departure time < route ramp occupation time is not allowed
E-AKO-MAST-0009 Unknown location
E-AKO-MAST-0010 Invalid overstock location code for article
E-AKO-MAST-0011 Wrong product eject code
E-AKO-MAST-0012 Wrong pack unit height dimension
E-AKO-MAST-0013 Wrong pack unit length dimension
E-AKO-MAST-0014 There is already an article on this location, but only one article is allowed
E-AKO-MAST-0015 Unknown storage area or station name
E-AKO-MOVM-0001 Invalid order number
E-AKO-MOVM-0002 An order with orderNumber/sheetNumber is active
E-AKO-MOVM-0003 Order number not found
E-AKO-MOVM-0004 CD1 unknown outbound delivery
E-AKO-MOVM-0005 Wrong order process status
E-AKO-MOVM-0006 Line not found (usually when trying to delete line in order-update)
E-AKO-MOVM-0007 Unknown sheet number
E-AKO-MOVM-0008 Order has a wrong start station
E-AKO-MOVM-0009 Wrong minimum, maximum or expected order weight
E-AKO-MOVM-0010 Wrong business case
E-AKO-MOVM-0011 An order with this load unit number is already active
E-AKO-MOVM-0012 Planning strategy does not exist
E-AKO-STOC-0001 Not enough stock available
E-AKO-STOC-0002 Active stock-record exists. Not allowed to delete referenced article or supplier
E-AKO-STOC-0003 Unknown load unit
E-AKO-STOC-0005 Storage unit already exists
E-AKO-STOC-0006 Load unit is currently in use for replenishment and can not be modified

Example XML Message

Example for message POST inboundDelivery:

<PostInboundDelivery clientNumber="DEFAULT" inboundDeliveryNumber="UT-INB-0001" priority="1" businessCase="GOODS_IN" supplierNumber="CUS_0000001">
  <VasTask taskReference="VASTASK01" workZone="DEC01" vasProcessingNote="vasProcessingNote 1" lineReference="Host-Reference-1" />
  <VasTask taskReference="VASTASK02" workZone="DEC01" vasProcessingNote="vasProcessingNote 2" lineReference="Host-Reference-1" />
  <AdditionalProperty key="PHARMACY_CODE" value="Pharmacia" />
  <AdditionalProperty key="USER_INSTRUCTION" value="validate the lot number" />
  <InboundDeliveryLine lineReference="Host-Reference-1" articleNumber="UT_ART_0000001" packSize="1" expectedQuantity="1" loadUnitCode="LOU_0000001" loadCarrier="SMALL" stockType="STANDARD" lotNumber="LOT1234567890" dateMark="2030-08-30" serialNumber="1234ABC" reservationCode="ORD_1234567" noteOnProcessing="handle with care" stockQuality="NEW">
    <StockLockReason>EXPIRED</StockLockReason>
    <StockLockReason>QS_REQUIRED</StockLockReason>
    <AdditionalProperty key="LINE_PROPERTY_HOST" value="value1" />
    <AdditionalProperty key="LINE_PROPERTY_SPECIAL" value="value2" />
  </InboundDeliveryLine>
  <InboundDeliveryLine lineReference="Host-Reference-2" articleNumber="UT_ART_0000002" packSize="1" expectedQuantity="999" loadUnitCode="LOU_0000002" loadCarrier="LARGE" stockType="STANDARD" lotNumber="LOT987654321" dateMark="2030-12-30" serialNumber="XYT_000000002" reservationCode="RESERVATION_CODE_02" noteOnProcessing="fragile" stockQuality="NEW" >
    <StockLockReason>HOST</StockLockReason>
    <StockLockReason>QS_REQUIRED</StockLockReason>
    <AdditionalProperty key="LINE_PROPERTY_HOST" value="Line2 value1" />
    <AdditionalProperty key="LINE_PROPERTY_SPECIAL" value="Line2 value2" />
  </InboundDeliveryLine>
</PostInboundDelivery>