Ongoing Warehouse logo

Ongoing Warehouse Developer

ProcessOrder

This function is used for creating and updating orders. It may also be used for canceling orders that have not yet been handled.

Note that by default, the function expects that an article will never appear on two or more distinct order lines on the same order. Please see this article if your integration requires several order lines with the same article.

Tags: ProcessOrder, CustomerOrder, OrderInfo, OrderType, WayOfDeliveryType, TermsOfDeliveryType, OrderNotification, OutboundWarehouse, TransporterContract, ReturnTransporterContract, CustomerOrderLine, VatCode, CustomerOrderTextLine, TransportServices, OrderLineArticleItemStatus, CustomerOrderLineArticleItem, ProcessOrderResult

Request XML

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

<?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>
      <ProcessOrder xmlns="http://ongoingsystems.se/WSI">
         <GoodsOwnerCode>string</GoodsOwnerCode>
         <UserName>string</UserName>
         <Password>string</Password>
         <co>
            <OrderInfo>
               <OrderIdentification>ExternalOrderCode or GoodsOwnerOrderNumber or ReferenceNumber or SystemId or GoodsOwnerOrderId</OrderIdentification>
               <OrderOperation>Create or CreateOrUpdate or Update or Remove</OrderOperation>
               <Communication>string</Communication>
               <OrderId>int</OrderId>
               <ReferenceNumber>string</ReferenceNumber>
               <GoodsOwnerOrderNumber>string</GoodsOwnerOrderNumber>
               <GoodsOwnerOrderId>string</GoodsOwnerOrderId>
               <SalesCode>string</SalesCode>
               <OrderRemark>string</OrderRemark>
               <ConsigneeOrderNumber>string</ConsigneeOrderNumber>
               <WayOfDelivery>string</WayOfDelivery>
               <TermsOfDelivery>string</TermsOfDelivery>
               <TermsOfPayment>string</TermsOfPayment>
               <ProfitCenter>string</ProfitCenter>
               <DeliveryInstruction>string</DeliveryInstruction>
               <TransporterOrderNumber>string</TransporterOrderNumber>
               <FreightPrice>decimal</FreightPrice>
               <DeliveryDate>dateTime</DeliveryDate>
               <ArrivalDateFrom>dateTime</ArrivalDateFrom>
               <ArrivalDate>dateTime</ArrivalDate>
               <WayBill>string</WayBill>
               <CustomerPrice>decimal</CustomerPrice>
               <OrderStatusCreated>int</OrderStatusCreated>
               <OrderStatusUpdated>int</OrderStatusUpdated>
               <Language>string</Language>
               <OrderType>
                  <OrderTypeOperation>Find or CreateOrFind</OrderTypeOperation>
                  <OrderTypeIdentification>OrderTypeCode or OrderTypeName</OrderTypeIdentification>
                  <OrderTypeCode>string</OrderTypeCode>
                  <OrderTypeName>string</OrderTypeName>
               </OrderType>
               <WayOfDeliveryType>
                  <WayOfDeliveryTypeOperation>CreateOrUpdate or CreateOrFind or Find</WayOfDeliveryTypeOperation>
                  <WayOfDeliveryTypeIdentification>Code or Name</WayOfDeliveryTypeIdentification>
                  <Code>string</Code>
                  <Name>string</Name>
               </WayOfDeliveryType>
               <TermsOfDeliveryType>
                  <TypeOperation>CreateOrUpdate or Find or FindOrCreate</TypeOperation>
                  <TypeIdentification>Code or Name</TypeIdentification>
                  <Code>string</Code>
                  <Name>string</Name>
               </TermsOfDeliveryType>
               <OrderNotification>
                  <Telephone>string</Telephone>
                  <MobilePhone>string</MobilePhone>
                  <Email>string</Email>
                  <NotifyByEmail>boolean</NotifyByEmail>
                  <NotifyBySms>boolean</NotifyBySms>
                  <NotifyByTelephone>boolean</NotifyByTelephone>
               </OrderNotification>
               <InvoiceNumber>string</InvoiceNumber>
               <InvoiceTypeCode>string</InvoiceTypeCode>
               <InvoiceUrl>string</InvoiceUrl>
               <OutboundWarehouse>
                  <WarehouseIdentification>WarehouseCode or WarehouseName or WarehouseId</WarehouseIdentification>
                  <WarehouseCode>string</WarehouseCode>
                  <WarehouseName>string</WarehouseName>
                  <WarehouseId>int</WarehouseId>
               </OutboundWarehouse>
               <ProductionCode>string</ProductionCode>
               <PickingPriority>int</PickingPriority>
               <OrderServicePointCode>string</OrderServicePointCode>
               <FreeText1>string</FreeText1>
               <FreeText2>string</FreeText2>
               <FreeText3>string</FreeText3>
               <MarketPlace>string</MarketPlace>
               <MarketPlaceOrderNumber>string</MarketPlaceOrderNumber>
            </OrderInfo>
            <GoodsOwner>
               <GoodsOwnerIdentification>SystemId or GoodsOwnerCode</GoodsOwnerIdentification>
               <GoodsOwnerCode>string</GoodsOwnerCode>
               <GoodsOwnerId>int</GoodsOwnerId>
               <FinancialCode>string</FinancialCode>
               <GoodsLocationCode>string</GoodsLocationCode>
            </GoodsOwner>
            <Customer>
               <CustomerOperation>Create or CreateOrUpdate or CreateNotUpdate or Find</CustomerOperation>
               <CustomerIdentification>ExternalCustomerCode or SystemId or CustomerNumber or FullNameAndAddress</CustomerIdentification>
               <ExternalCustomerCode>string</ExternalCustomerCode>
               <CustomerNumber>string</CustomerNumber>
               <CustomerId>int</CustomerId>
               <DeliveryAddressId>int</DeliveryAddressId>
               <InvoiceAddressId>int</InvoiceAddressId>
               <Coordinates>
                  <Longitude>decimal</Longitude>
                  <Latitude>decimal</Latitude>
               </Coordinates>
               <Name>string</Name>
               <Address>string</Address>
               <Address2>string</Address2>
               <Address3>string</Address3>
               <PostCode>string</PostCode>
               <City>string</City>
               <TelePhone>string</TelePhone>
               <Remark>string</Remark>
               <Email>string</Email>
               <MobilePhone>string</MobilePhone>
               <CountryCode>string</CountryCode>
               <CountryStateCode>string</CountryStateCode>
               <DeliveryInstruction>string</DeliveryInstruction>
               <IsVisible>boolean</IsVisible>
               <NotifyBySMS>boolean</NotifyBySMS>
               <NotifyByEmail>boolean</NotifyByEmail>
               <NotifyByTelephone>boolean</NotifyByTelephone>
               <InvoiceAddress>
                  <Coordinates xsi:nil="true" />
                  <Name>string</Name>
                  <Address>string</Address>
                  <Address2>string</Address2>
                  <Address3>string</Address3>
                  <PostCode>string</PostCode>
                  <City>string</City>
                  <TelePhone>string</TelePhone>
                  <Remark>string</Remark>
                  <Email>string</Email>
                  <MobilePhone>string</MobilePhone>
                  <CountryStateCode>string</CountryStateCode>
                  <CountryCode>string</CountryCode>
                  <DeliveryInstruction>string</DeliveryInstruction>
                  <IsVisible>boolean</IsVisible>
                  <NotifyBySMS>boolean</NotifyBySMS>
                  <NotifyByEmail>boolean</NotifyByEmail>
                  <NotifyByTelephone>boolean</NotifyByTelephone>
               </InvoiceAddress>
               <CustomerGroup>
                  <CustomerGroupOperation>Find</CustomerGroupOperation>
                  <CustomerGroupIdentification>CustomerGroupCode or CustomerGroupName</CustomerGroupIdentification>
                  <CustomerGroupCode>string</CustomerGroupCode>
                  <CustomerGroupName>string</CustomerGroupName>
               </CustomerGroup>
               <OrganisationNumber>string</OrganisationNumber>
               <VATNumber>string</VATNumber>
               <DoorCode>string</DoorCode>
            </Customer>
            <CommunicationInfo>
               <FromSystemName>string</FromSystemName>
               <ToSystemName>string</ToSystemName>
               <MessageId>string</MessageId>
            </CommunicationInfo>
            <TransporterContract>
               <TransporterContractIdentification>CodeAndServiceCodeAndCustomerNumber or CodeAndServiceCode or Code or ServiceCode</TransporterContractIdentification>
               <TransporterContractOperation>Find or CreateOrUpdate</TransporterContractOperation>
               <TransportPayment>Collect or Prepaid or ThirdParty or UnKnown</TransportPayment>
               <TransporterCode>string</TransporterCode>
               <TransporterServiceCode>string</TransporterServiceCode>
               <CustomerNumber>string</CustomerNumber>
               <ConsigneePalletCustomerNumber>string</ConsigneePalletCustomerNumber>
            </TransporterContract>
            <CustomerOrderLines>
               <CustomerOrderLine>
                  <OrderLineIdentification>ExternalOrderLineCode or ArticleNumber or ArticleName or ExternalOrderLineId or SystemId</OrderLineIdentification>
                  <ArticleIdentification>SystemId or ArticleNumber or ProductCode or ArticleName</ArticleIdentification>
                  <SubOrderLineSpecification>ArticleRegisterSpecification or RequestSpecification</SubOrderLineSpecification>
                  <OrderLineSystemId>int</OrderLineSystemId>
                  <DeliveryDate>dateTime</DeliveryDate>
                  <ExternalOrderLineCode>string</ExternalOrderLineCode>
                  <OrderLineComment>string</OrderLineComment>
                  <ArticleSystemId>int</ArticleSystemId>
                  <ArticleNumber>string</ArticleNumber>
                  <ArticleName>string</ArticleName>
                  <CustomerLinePrice>decimal</CustomerLinePrice>
                  <LinePrice>decimal</LinePrice>
                  <NumberOfItems>decimal</NumberOfItems>
                  <CurrencyCode>string</CurrencyCode>
                  <Height>decimal</Height>
                  <Width>decimal</Width>
                  <Length>decimal</Length>
                  <DoPick>boolean</DoPick>
                  <Batch>string</Batch>
                  <SubOrderLines xsi:nil="true" />
                  <MinDaysToExpiryDate>int</MinDaysToExpiryDate>
                  <MaxDaysToExpiryDate>int</MaxDaysToExpiryDate>
                  <ProductCode>string</ProductCode>
                  <OrderLineSerial>string</OrderLineSerial>
                  <Discount>decimal</Discount>
                  <VatCode xsi:nil="true" />
                  <OrderLineCaseNo>string</OrderLineCaseNo>
                  <OrderLineArticleItemStatus xsi:nil="true" />
                  <OrderLineWeight>decimal</OrderLineWeight>
                  <CustomerArticleNumber>string</CustomerArticleNumber>
                  <ForcePickFullItems>boolean</ForcePickFullItems>
                  <Items>
                    <CustomerOrderLineArticleItem>
                      <Operation>CreateOrUpdate</Operation>
                      <Identification>SerialAndArticleWithinOrder or Serial or OrderLineId or ArticleItemId</Identification>
                      <Serial>string</Serial>
                      <Batch>string</Batch>
                      <Volume>decimal</Volume>
                      <Weight>decimal</Weight>
                      <NumberOfItems>decimal</NumberOfItems>
                      <Length>decimal</Length>
                      <Width>decimal</Width>
                      <Height>decimal</Height>
                      <SecondNumberOfItems>decimal</SecondNumberOfItems>
                      <ArticleItemId>int</ArticleItemId>
                    </CustomerOrderLineArticleItem>
                    <CustomerOrderLineArticleItem>
                      <Operation>CreateOrUpdate</Operation>
                      <Identification>SerialAndArticleWithinOrder or Serial or OrderLineId or ArticleItemId</Identification>
                      <Serial>string</Serial>
                      <Batch>string</Batch>
                      <Volume>decimal</Volume>
                      <Weight>decimal</Weight>
                      <NumberOfItems>decimal</NumberOfItems>
                      <Length>decimal</Length>
                      <Width>decimal</Width>
                      <Height>decimal</Height>
                      <SecondNumberOfItems>decimal</SecondNumberOfItems>
                      <ArticleItemId>int</ArticleItemId>
                    </CustomerOrderLineArticleItem>
                  </Items>
               </CustomerOrderLine>
               <CustomerOrderLine>
                  <OrderLineIdentification>ExternalOrderLineCode or ArticleNumber or ArticleName or ExternalOrderLineId or SystemId</OrderLineIdentification>
                  <ArticleIdentification>SystemId or ArticleNumber or ProductCode or ArticleName</ArticleIdentification>
                  <SubOrderLineSpecification>ArticleRegisterSpecification or RequestSpecification</SubOrderLineSpecification>
                  <OrderLineSystemId>int</OrderLineSystemId>
                  <DeliveryDate>dateTime</DeliveryDate>
                  <ExternalOrderLineCode>string</ExternalOrderLineCode>
                  <OrderLineComment>string</OrderLineComment>
                  <ArticleSystemId>int</ArticleSystemId>
                  <ArticleNumber>string</ArticleNumber>
                  <ArticleName>string</ArticleName>
                  <CustomerLinePrice>decimal</CustomerLinePrice>
                  <LinePrice>decimal</LinePrice>
                  <NumberOfItems>decimal</NumberOfItems>
                  <CurrencyCode>string</CurrencyCode>
                  <Height>decimal</Height>
                  <Width>decimal</Width>
                  <Length>decimal</Length>
                  <DoPick>boolean</DoPick>
                  <Batch>string</Batch>
                  <SubOrderLines xsi:nil="true" />
                  <MinDaysToExpiryDate>int</MinDaysToExpiryDate>
                  <MaxDaysToExpiryDate>int</MaxDaysToExpiryDate>
                  <ProductCode>string</ProductCode>
                  <OrderLineSerial>string</OrderLineSerial>
                  <Discount>decimal</Discount>
                  <VatCode xsi:nil="true" />
                  <OrderLineCaseNo>string</OrderLineCaseNo>
                  <OrderLineArticleItemStatus xsi:nil="true" />
                  <OrderLineWeight>decimal</OrderLineWeight>
                  <CustomerArticleNumber>string</CustomerArticleNumber>
                  <ForcePickFullItems>boolean</ForcePickFullItems>
                  <Items>
                    <CustomerOrderLineArticleItem>
                      <Operation>CreateOrUpdate</Operation>
                      <Identification>SerialAndArticleWithinOrder or Serial or OrderLineId or ArticleItemId</Identification>
                      <Serial>string</Serial>
                      <Batch>string</Batch>
                      <Volume>decimal</Volume>
                      <Weight>decimal</Weight>
                      <NumberOfItems>decimal</NumberOfItems>
                      <Length>decimal</Length>
                      <Width>decimal</Width>
                      <Height>decimal</Height>
                      <SecondNumberOfItems>decimal</SecondNumberOfItems>
                      <ArticleItemId>int</ArticleItemId>
                    </CustomerOrderLineArticleItem>
                    <CustomerOrderLineArticleItem>
                        <Operation>CreateOrUpdate</Operation>
                        <Identification>SerialAndArticleWithinOrder or Serial or OrderLineId or ArticleItemId</Identification>
                        <Serial>string</Serial>
                        <Batch>string</Batch>
                        <Volume>decimal</Volume>
                        <Weight>decimal</Weight>
                        <NumberOfItems>decimal</NumberOfItems>
                        <Length>decimal</Length>
                        <Width>decimal</Width>
                        <Height>decimal</Height>
                        <SecondNumberOfItems>decimal</SecondNumberOfItems>
                        <ArticleItemId>int</ArticleItemId>
                    </CustomerOrderLineArticleItem>
                  </Items>
               </CustomerOrderLine>
            </CustomerOrderLines>
            <CustomerOrderTextLines>
               <CustomerOrderTextLine>
                  <ExternalOrderLineCode>string</ExternalOrderLineCode>
                  <OrderLineComment>string</OrderLineComment>
                  <NumberOfItems>decimal</NumberOfItems>
               </CustomerOrderTextLine>
               <CustomerOrderTextLine>
                  <ExternalOrderLineCode>string</ExternalOrderLineCode>
                  <OrderLineComment>string</OrderLineComment>
                  <NumberOfItems>decimal</NumberOfItems>
               </CustomerOrderTextLine>
            </CustomerOrderTextLines>
            <TransportServices>
               <ExactTime>boolean</ExactTime>
               <CraneTruck>boolean</CraneTruck>
               <CarryIn>boolean</CarryIn>
            </TransportServices>
           <ReturnTransporterContract>
             <TransporterContractIdentification>CodeAndServiceCodeAndCustomerNumber or CodeAndServiceCode or ServiceCode</TransporterContractIdentification>
             <TransporterContractOperation>Find or FindOrCreate</TransporterContractOperation>
             <TransporterCode>string</TransporterCode>
             <TransporterServiceCode>string</TransporterServiceCode>
             <CustomerNumber>string</CustomerNumber>
             <ConsigneePalletCustomerNumber>string</ConsigneePalletCustomerNumber>
           </ReturnTransporterContract>
         </co>
      </ProcessOrder>
   </soap:Body>
</soap:Envelope>
+

Request specification

ProcessOrder
GoodsOwnerCode str(400) Req. The name/code of your client
UserName str(50) Req. Username
Password str(50) Req. Password
co object Req. The CustomerOrder object
CustomerOrder
OrderInfo object Req. Defines order head information
GoodsOwner object Omit Only for internal purposes, don't use
Customer object Req. Defines where the order should be sent. See ProcessCustomer for specification of the Customer object
CommunicationInfo object Omit Deprecated, don't use
TransporterContract object An element of TransporterContract. Use to specify transporter and transporter service
CustomerOrderLines object Req. Containing elements of CustomerOrderLine. Defines articles and amount ordered
CustomerOrderTextLines object Containing elements of CustomerOrderTextLine. Text lines, not containing any article info
TransportServices object Contains an element of TransportServices. Determines any specific transport requirements (e.g. if delivery must be done with a crane truck).
ReturnTransporterContract object An element of ReturnTransporterContract. Used to specify a deviating transporter for the return shipment. E.g. if you want the warehouse to book the shipment using transporter A, but the return shipment should be booked using transporter B, then you would send in B as the return transporter using these fields.
OrderInfo
OrderIdentification enum Req. Defines what you want to identify the order by (what is unique):
 - ExternalOrderCode (deprecated)
 - GoodsOwnerOrderNumber
 - ReferenceNumber
 - SystemId
 - GoodsOwnerOrderId
Most integrations will use GoodsOwnerOrderNumer and set it to the order number which is generated by the external system.
OrderOperation enum Req. Defines the operation:
 - CreateOrUpdate
 - Create
 - Update
 - Remove

Note 1: the recommended operation is CreateOrUpdate.

Note 2: if you use Create, then you run the risk of creating duplicate orders. See this page for more info.
Communication str(100) Communication info
OrderId int Req.* Ongoing id (SystemId). Required if OrderIdentification = SystemId
ReferenceNumber str(50) Req.* Reference number. Required if OrderIdentification = ReferenceNumber
GoodsOwnerOrderNumber str(50) Req.* Order number. Required if OrderIdentification = GoodsOwnerOrderNumber
GoodsOwnerOrderId str(40) Req.* External order id. Required if OrderIdentification = GoodsOwnerOrderId
SalesCode str(500) Sales code. Often visible on package label (depending on transporter)
OrderRemark str(500) Remark/comment about the order
ConsigneeOrderNumber str(150) Consignee order number
WayOfDelivery str(50) Way of delivery
TermsOfDelivery str(50) Terms of delivery
TermsOfPayment str(50) Terms of payment
ProfitCenter str(50) Profit center
DeliveryInstruction str(300) Delivery instruction
TransporterOrderNumber str(150) Transporter order number
FreightPrice dec Price of freight
DeliveryDate datetime Desired delivery date. Will be 'today' if omitted
ArrivalDateFrom datetime First day of arrival
ArrivalDate datetime Arrival date
WayBill str(50) Waybill
CustomerPrice dec Full price for order that the customer pays
OrderStatusCreated int Status the order should get when created
OrderStatusUpdated int Status the order should get when updated
Language str(20) Language of the consignee, in ISO 639-1. Ex SV, EN, DE, ...
OrderType object Element of OrderType. Determines what type of order this is
WayOfDeliveryType object Element of WayOfDeliveryType. Determines how the order should be delivered
TermsOfDeliveryType object Element of TermsOfDeliveryType. Enables a terms of delivery type with code and name
OrderNotification object Element of type OrderNotification. Defines how the customer should be notified about this order by the transporter (e.g. by email). Overrides any notification specification which was set on the the Customer object
InvoiceNumber str(200) Invoice number
InvoiceTypeCode str(50) Type code of the invoice, if there are different types of invoices
InvoiceUrl str(200) Url (http) to an invoice
OutboundWarehouse object Element of type OutboundWarehouse. Defines which warehouse that should process the order (if there are multiple warehouses involed)
ProductionCode str(30) Production code
PickingPriority int Picking priority
OrderServicePointCode str(50) Code of the service point that the customer wishes to pick up the package at
FreeText1 str(300) Text field for additional comments or other information
FreeText2 str(50) Text field for additional comments or other information
FreeText3 str(50) Text field for additional comments or other information
MarketPlace str(100) The name of the market place where order originated (e.g. "eBay" or "Sello"). May be used e.g. if several market places are connected to an ERP, which is in turn connected to Ongoing.
MarketPlaceOrderNumber str(100) The order number in the market place where the order originated (also see documentation above for the field MarketPlace).
OrderType
OrderTypeOperation enum Req. Defines the operation:
 - Find
 - CreateOrFind
OrderTypeIdentification enum Req. Defines what you want to identify the type by:
 - OrderTypeCode
 - OrderTypeName
OrderTypeCode str(50) Req.* Order type code. Required if OrderTypeIdentification = OrderTypeCode
OrderTypeName str(50) Req.* Order type name. Required if OrderTypeIdentification = OrderTypeName
WayOfDeliveryType
WayOfDeliveryTypeOperation enum Req. Defines the operation:
 - CreateOrUpdate
 - CreateOrFind
 - Find
WayOfDeliveryTypeIdentification enum Req. Defines what you want to identify the type by:
 - Code
 - Name
Code str(50) Req.* Way of delivery type code. Required if WayOfDeliveryTypeIdentification = Code
Name str(100) Req.* Way of delivery type name. Required if WayOfDeliveryTypeIdentification = Name
TermsOfDeliveryType
TermsOfDelieryTypeOperation enum Req. Defines the operation:
 - CreateOrUpdate
 - Find
 - FindOrCreate
TermsOfDeliveryTypeIdentification enum Req. Defines what you want to identify the type by:
 - Code
 - Name
Code str(50) Req.* Terms of delivery type code. Required if TermsOfDeliveryTypeIdentification = Code
Name str(100) Req.* Terms of delivery type name. Required if TermsOfDeliveryTypeIdentification = Name
OrderNotification
Telephone str(50) Req.* Telephone number (non cellular) to notify by call. Required if NotifyByTelephone = True
MobilePhone str(50) Req.* Mobile phone number to notify by SMS. Required if NotifyBySMS = True
Email str(200) Req.* Email address to notify. Required if NotifyByEmail = True
NotifyByEmail bool True if the customer should be notified by the transporter through e-mail
NotifyBySms bool   True if the customer should be notified by the transporter through SMS
NotifyByTelephone bool   True if the customer should be notified by the transporter through phone call
OutboundWarehouse
WarehouseIdentification enum Req. Defines what you want to identify the warehouse by:
 - WarehouseCode
 - WarehouseName
 - WarehouseId
WarehouseCode str(50) Req.* Warehouse code. Required if WarehouseIdentification = WarehouseCode
WarehouseName str(200) Req.* Warehouse name. Required if WarehouseIdentification = WarehouseName
WarehouseId int Req.* Warehouse id. Required if WarehouseIdentification = WarehouseName
TransporterContract
TransporterContractIdentification enum Req. Defines what you want to identify the transporter contract by:
 - CodeAndServiceCodeAndCustomerNumber
 - CodeAndServiceCode
 - Code
 - ServiceCode
Most integrations will use CodeAndServiceCode
TransporterContractOperation enum Req. Defines the operation:
 - Find
 - CreateOrUpdate
Most integrations will use Find
TransportPayment enum Req. Defines who will pay for the transport:
 - Collect
 - Prepaid
 - ThirdParty
 - UnKnown
Most integrations will use Prepaid
TransporterCode str(50) Req.* Transporter code. See GetTransporterContracts for available codes. Required if TransporterContractIdentification = CodeAndServiceCodeAndCustomerNumber, CodeAndServiceCode or Code
TransporterServiceCode str(50) Req.* Transporter service code. See GetTransporterContracts for available codes. Required if TransporterContractIdentification = CodeAndServiceCodeAndCustomerNumber, CodeAndServiceCode or ServiceCode
CustomerNumber str(50) Customer number at the transporter. Usually not needed if TransportPayment = PrePaid
ConsigneePalletCustomerNumber str(50) Pallet reg number
ReturnTransporterContract
TransporterContractIdentification enum Req. Defines what you want to identify the transporter contract by:
 - CodeAndServiceCodeAndCustomerNumber
 - CodeAndServiceCode
 - ServiceCode
Most integrations will use CodeAndServiceCode
TransporterContractOperation enum Req. Defines the operation:
 - Find
 - FindOrCreate
Most integrations will use Find
TransporterCode str(50) Req.* Transporter code. See GetTransporterContracts for available codes. Required if TransporterContractIdentification = CodeAndServiceCodeAndCustomerNumber, CodeAndServiceCode or Code
TransporterServiceCode str(50) Req.* Transporter service code. See GetTransporterContracts for available codes. Required if TransporterContractIdentification = CodeAndServiceCodeAndCustomerNumber, CodeAndServiceCode or ServiceCode
CustomerNumber str(50) Customer number at the transporter. Usually not needed.
ConsigneePalletCustomerNumber str(50) Pallet reg number
CustomerOrderLine
OrderLineIdentification enum Req. Defines what you want to identify the order line by:
 - ExternalOrderLineCode
 - ArticleNumber
 - ArticleName
 - ExternalOrderLineId (same as ExternalOrderLineCode)
 - SystemId
Most integrations will use ArticleNumber or ExternalOrderLineCode. We also have a separate article with more information about order line identification.
ArticleIdentification enum Req. Defines what you want to identify the article by:
 - SystemId
 - ArticleNumber
 - ProductCode
 - ArticleName
Most integrations will use ArticleNumber
SubOrderLineSpecification enum   Defines if the sub order line structure should be retrieved from this request or from the article registry already within Ongoing. Must be one of these:
 - ArticleRegistrySpecification (this is the default)
 - RequestSpecification
OrderLineSystemId int Req.* Ongoing order line id. Required if OrderLineIdentification = SystemId
DeliveryDate datetime Desired delivery date of this specific order line
ExternalOrderLineCode str(40) Req.* External order line code. Insert row number of your system if needed. Required if OrderLineIdentification = ExternalOrderLineCode or ExternalOrderLineId
OrderLineComment str(300) Order line comment
ArticleSystemId int Req.* Ongoing article id. Required if ArticleIdentification = SystemId
ArticleNumber str(100) Req.* Article number. Required if ArticleIdentification = ArticleNumber
ArticleName str(200) Req.* Article name. Required if ArticleIdentification = ArticleName
CustomerLinePrice dec Customer price of the order line
LinePrice dec Price of the order line
NumberOfItems dec Req. Number of items to ship for this order line
CurrencyCode str(20) Currency code of the order line, in ISO 4217. E.g. SEK, NOK or EUR
Height dec Height in m
Width dec Width in m
Length dec Length in m
OrderLineWeight dec Used in rare cases. If the goods have variable weights this can be used as a target weight. In kg.
DoPick bool   False if this orderline should not be picked/shipped. Default value is True
Batch str(50) Enables you to specify that a certain batch should be shipped
SubOrderLines object Containing elements of SubOrderLine, each containing its own CustomerOrderLine. Use if sub order lines should be specified in this request
MinDaysToExpiryDate int Defines minimum amount of days the article is allowed to have left until expiry when shipped
MaxDaysToExpiryDate int Defines maximum amount of days the article is allowed to have left until expiry when shipped
ProductCode str(200) Req.* Product code. Required if ArticleIdentification = ProductCode
OrderLineSerial str(128) Enables a specified serial to be shipped
Discount dec Discount of the order line (in percent)
VatCode object Element of type VatCode. Defines VAT code of order line
OrderLineCaseNo str(100) Defines the case number of the order line. Often used to store customs information.
OrderLineArticleItemStatus object Element of type OrderLineArticleItemStatus. Defines the status of the goods which are to be picked for the order line
CustomerArticleNumber str(100) Defines the customer's article number for the order line, if it differs from the ordinary article number. This field can be displayed on a delivery note.
ForcePickFullItems bool Determines if whole units (e.g. pallets or packages) must be picked. Enabling this will very likely lead to the delivered quantity being larger than the ordered quantity. Default value is False.
Items object Elements of type CustomerOrderLineArticleItem. Only used in advanced cases where you wish to send in exactly the article items which are to be picked.
VatCode
VatCodeOperation enum Req. Defines the operation:
 - Find
 - CreateNotUpdate
VatCodeIdentification enum Req. Defines what you identify the VAT by:
 - VatTypeCode
 - VatPercent
VatCode str(50) Req.* VAT code. Required if VatCodeIdentification = VatTypeCode
VatPercent dec Req.* VAT percent. Required if VatCodeIdentification = VatPercent or VatCodeOperation = CreateNotUpdate
CustomerOrderTextLine
ExternalOrderLineCode str(50) Req. Text line row number
OrderLineComment str(300) Req. Comment/order line text
NumberOfItems dec Number of items
TransportServices
ExactTime bool Determines if the delivery must happen at a specific time
CraneTruck bool Determines if the delivery must be done with a crane truck
CarryIn bool Determines if the delivery men should carry the goods in to the customer
OrderLineArticleItemStatus
Identification enum Req. Defines what you identify the item status by. Currently only one option is available:
 - ArticleItemStatusCode
Operation enum Req. Defines the operation. Currently only one option is available:
 - Find
ArticleItemStatusId int Internal id of the item status. Will be ignored by the API.
ArticleItemStatusCode str Req. Item status code. Required if Identification = ArticleItemStatusCode
ArticleItemStatusName str Item status name.
IsLocked bool Determines whether or not goods with this status should be considered to be locked. Will be ignored by the API.
CustomerOrderLineArticleItem
Identification enum Req. Defines what you identify the item by:
 - SerialAndArticleWithinOrder
 - Serial
 - ArticleItemId
 - OrderLineId - obsolete, do not use!

Note 1: if you use Serial, then the serial number must be unique among all serial numbers used for the goodsowner. If you use SerialAndArticleWithinOrder, then each serial number must only be unique per order and article.

Note 2: the most common way is to use SerialAndArticleWithinOrder.
Operation enum Req. Defines the operation:
 - CreateOrUpdate
Serial str(128) Req*. The article item's serial number. Required if Identification = Serial.
ArticleItemId int Req.* The article item id. Required if Identification = ArticleItemId.
Batch str(50) The article item's batch number.
Volume decimal The article item's volume.
Weight decimal The article item's weight.
NumberOfItems decimal Number of items of this article item to pick.
Length decimal The article item's length.
Width decimal The article item's width.
Height decimal The article item's height.
SecondNumberOfItems decimal The article item's secondary number of items.

Response XML

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?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>
      <ProcessOrderResponse xmlns="http://ongoingsystems.se/WSI">
         <ProcessOrderResult>
            <ErrorMessage>string</ErrorMessage>
            <GoodsOwnerOrderNumber>string</GoodsOwnerOrderNumber>
            <OrderId>int</OrderId>
            <InOrderId>int</InOrderId>
            <ArticleDefId>int</ArticleDefId>
            <Success>boolean</Success>
            <Message>string</Message>
         </ProcessOrderResult>
      </ProcessOrderResponse>
   </soap:Body>
</soap:Envelope>
+

Response specification

ProcessOrderResult
ErrorMessage str(*) Error message
GoodsOwnerOrderNumber str(50) Goodsowner order number
OrderId int Ongoing system id of the order
InOrderId int Not used
ArticleDefId int Not used
Success bool True if success
Message str(*) Process message