Pack

Picking and packing an order in Ongoing WMS is a multi-step process:

  1. First, article items are allocated to the order
  2. Then, the allocated items are marked as picked
  3. Last, the picked items are marked packed

The third step (packing) is not mandatory. Note that the first step (allocation) cannot be performed via the API - it has to be done inside the system itself. For more information about how an order is processed in Ongoing WMS, please see this article.

This API call (Pack) allows you to perform the third step. Note that the items you are packing have to at least be allocated before they can be packed.

Tags: Pack, PackOperation, ByUser, PackResponse, PackResult, PackError

Request XML

POST /xxx/Automation.asmx HTTP/1.1
Host: api.ongoingsystems.se
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://ongoingsystems.se/Automation/Pack"

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <Pack xmlns="http://ongoingsystems.se/Automation">
      <UserName>string</UserName>
      <Password>string</Password>
      <Operation>
        <OrderId>int</OrderId>
        <ArticleDefId>int</ArticleDefId>
        <NumberOfItemsToPack>decimal</NumberOfItemsToPack>
        <PackedByUser>
          <UserName>string</UserName>
        </PackedByUser>
        <PalletItemId>int</PalletItemId>
        <OriginalArticleItemId>int</OriginalArticleItemId>
        <Location>string</Location>
        <OrderLineId>int</OrderLineId>
        <AllowPackingLessThanNumberOfItemsToPack>boolean</AllowPackingLessThanNumberOfItemsToPack>
        <Batch>string</Batch>
        <Comment>string</Comment>
      </Operation>
    </Pack>
  </soap:Body>
</soap:Envelope>

Request specification

Pack
UserName string(50) Req. Your username
Password string(50) Req. Your password
Operation PackOperation Req. The operation object
PackOperation
OrderId int Req. The order id of the order to pack.
ArticleDefId int Req. The article id of the article to pack.
NumberOfItemsToPack decimal Req. The number of items to pack.
PackedByUser ByUser Req. An element of type ByUser. Designates which user did the packing.
PalletItemId int The pallet item id of a pallet item that the article was packed on/in. Can be used if you want to specify which package an article was packed in.
OriginalArticleItemId int The original article item id of an article item. Used to specify a specific article item to pack. A use case for this is when you want to assign specific serial numbers to an order.
Location string(50) The location to pack from.
OrderLineId int The order line id of an order line. Used if you want to specify which order line to pack. If left empty, Ongoing WMS will match to an order line with the specified article.
AllowPackingLessThanNumberOfItemsToPack boolean Set to false if you want to get an error message if you try to pack more than is allocated to an order. If set to true it will still only pack at most the allocated number of items but no error will be caused. The result will contain the actual number of packed items. True is the default value.
Batch string(50) Filter by batch. If multiple batches of an article are allocated this will specify which batch to pack. Useful when there is need to track which batch is placed in which pallet item.
Comment string
ByUser
UserName string(50) Req. The name of the user. Must be an actual user in Ongoing WMS. Will be set as the user that performed the packing.

Response XML

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <PackResponse xmlns="http://ongoingsystems.se/Automation">
      <PackResult>
        <Errors>
          <PackError>
            <Message>string</Message>
            <ErrorType>UnknownError or LogonError or LocationNotFound or ArticleNotFound or ArticleNotOnOrder or GoodsOwnerIsDeleted or OrderIdNotFound or OrderLineIdMissMatch or NumberOfItemsToPackGreaterThanLeftToPackOnOrder or PalletItemIdNotFound or ErrorWhileSaving or PackedByUserError</ErrorType>
          </PackError>
          <PackError>
            <Message>string</Message>
            <ErrorType>UnknownError or LogonError or LocationNotFound or ArticleNotFound or ArticleNotOnOrder or GoodsOwnerIsDeleted or OrderIdNotFound or OrderLineIdMissMatch or NumberOfItemsToPackGreaterThanLeftToPackOnOrder or PalletItemIdNotFound or ErrorWhileSaving or PackedByUserError</ErrorType>
          </PackError>
        </Errors>
        <Success>boolean</Success>
        <PackedNumberOfItems>decimal</PackedNumberOfItems>
      </PackResult>
    </PackResponse>
  </soap:Body>
</soap:Envelope>

Response specification

PackResponse
PackResult PackResult
PackResult
Errors PackError[]
Success boolean True if successful, false otherwise.
PackedNumberOfItems decimal Confirmation of how many items that were packed.
PackError
Message string Message explaining the error.
ErrorType enum The type of error:
  • UnknownError
  • LogonError
  • LocationNotFound
  • ArticleNotFound
  • ArticleNotOnOrder
  • GoodsOwnerIsDeleted
  • OrderIdNotFound
  • OrderLineIdMissMatch
  • NumberOfItemsToPackGreaterThanLeftToPackOnOrder
  • PalletItemIdNotFound
  • ErrorWhileSaving
  • PackedByUserError