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: this 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.
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>
<Customs>
<CustomsValueCurrencyCode>string</CustomsValueCurrencyCode>
</Customs>
<PreparedTransportDocumentId>string</PreparedTransportDocumentId>
<WarehouseInstruction>string</WarehouseInstruction>
<OrderClasses>
<Operation>FindOrCreate or Find</Operation>
<Identification>Code</Identification>
<Classes>
<Class>
<Name>string</Name>
<Code>string</Code>
<Comment>string</Comment>
<IsPalletTypeSuggestion>boolean</IsPalletTypeSuggestion>
</Class>
<Class>
<Name>string</Name>
<Code>string</Code>
<Comment>string</Comment>
<IsPalletTypeSuggestion>boolean</IsPalletTypeSuggestion>
</Class>
</Classes>
</OrderClasses>
<OrderFreeDateTime1>dateTime</OrderFreeDateTime1>
<TransporterBulkId>string</TransporterBulkId>
<OrderFreeDateTime2>dateTime</OrderFreeDateTime2>
<OrderFreeDecimal1>decimal</OrderFreeDecimal1>
</OrderInfo>
<GoodsOwner>
<GoodsOwnerIdentification>SystemId or GoodsOwnerCode</GoodsOwnerIdentification>
<GoodsOwnerCode>string</GoodsOwnerCode>
<GoodsOwnerId>int</GoodsOwnerId>
<FinancialCode>string</FinancialCode>
<GoodsLocationCode>string</GoodsLocationCode>
<CountryCode>string</CountryCode>
<GoodsOwnerAddressName>string</GoodsOwnerAddressName>
<Address>string</Address>
<Address2>string</Address2>
<Address3>string</Address3>
<PostCode>string</PostCode>
<City>string</City>
</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>
<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>
<CountryStateCode>string</CountryStateCode>
<CountryCode>string</CountryCode>
<DeliveryInstruction>string</DeliveryInstruction>
<IsVisible>boolean</IsVisible>
<NotifyBySMS>boolean</NotifyBySMS>
<NotifyByEmail>boolean</NotifyByEmail>
<NotifyByTelephone>boolean</NotifyByTelephone>
<AddressClasses>
<Operation>FindOrCreate or Find</Operation>
<Identification>Code</Identification>
<AssignAddressClassMode>NoAssign or Add or Set</AssignAddressClassMode>
<Classes>
<Class>
<Name>string</Name>
<Code>string</Code>
<Comment>string</Comment>
</Class>
<Class>
<Name>string</Name>
<Code>string</Code>
<Comment>string</Comment>
</Class>
</Classes>
</AddressClasses>
</InvoiceAddress>
<CustomerGroup>
<CustomerGroupOperation>Find or CreateOrFind</CustomerGroupOperation>
<CustomerGroupIdentification>CustomerGroupCode or CustomerGroupName</CustomerGroupIdentification>
<CustomerGroupCode>string</CustomerGroupCode>
<CustomerGroupName>string</CustomerGroupName>
</CustomerGroup>
<OrganisationNumber>string</OrganisationNumber>
<VATNumber>string</VATNumber>
<DoorCode>string</DoorCode>
<AddressFreeText1>string</AddressFreeText1>
<AddressFreeText2>string</AddressFreeText2>
<AddressClasses>
<Operation>FindOrCreate or Find</Operation>
<Identification>Code</Identification>
<AssignAddressClassMode>NoAssign or Add or Set</AssignAddressClassMode>
<Classes>
<Class>
<Name>string</Name>
<Code>string</Code>
<Comment>string</Comment>
</Class>
<Class>
<Name>string</Name>
<Code>string</Code>
<Comment>string</Comment>
</Class>
</Classes>
</AddressClasses>
</Customer>
<CommunicationInfo>
<FromSystemName>string</FromSystemName>
<ToSystemName>string</ToSystemName>
<MessageId>string</MessageId>
</CommunicationInfo>
<TransporterContract>
<TransporterContractIdentification>CodeAndServiceCodeAndCustomerNumber or CodeAndServiceCode or Code or ServiceCode or FiltersSpecified</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>
<EDICustomerCode>string</EDICustomerCode>
<WaybillTemplate>string</WaybillTemplate>
</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>
<SubOrderLine>
<CustomerOrderLine>object of type CustomerOrderLine</CustomerOrderLine>
</SubOrderLine>
<SubOrderLine>
<CustomerOrderLine>object of type CustomerOrderLine</CustomerOrderLine>
</SubOrderLine>
</SubOrderLines>
<MinDaysToExpiryDate>int</MinDaysToExpiryDate>
<MaxDaysToExpiryDate>int</MaxDaysToExpiryDate>
<ProductCode>string</ProductCode>
<OrderLineSerial>string</OrderLineSerial>
<Discount>decimal</Discount>
<VatCode>
<VatCodeOperation>Find or CreateNotUpdate</VatCodeOperation>
<VatCodeIdentification>VatTypeCode or VatPercent or VatTypeCodeAndPercent</VatCodeIdentification>
<VatCode>string</VatCode>
<VatPercent>decimal</VatPercent>
</VatCode>
<OrderLineCaseNo>string</OrderLineCaseNo>
<OrderLineArticleItemStatus>
<Identification>ArticleItemStatusCode</Identification>
<Operation>Find or FindOrCreate</Operation>
<ArticleItemStatusId>int</ArticleItemStatusId>
<ArticleItemStatusCode>string</ArticleItemStatusCode>
<ArticleItemStatusName>string</ArticleItemStatusName>
<IsLocked>boolean</IsLocked>
</OrderLineArticleItemStatus>
<OrderLineWeight>decimal</OrderLineWeight>
<CustomerArticleNumber>string</CustomerArticleNumber>
<ForcePickFullItems>boolean</ForcePickFullItems>
<Items>
<CustomerOrderLineArticleItem>
<Operation>CreateOrUpdate</Operation>
<Identification>Serial or OrderLineId or ArticleItemId or SerialAndArticleWithinOrder</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>Serial or OrderLineId or ArticleItemId or SerialAndArticleWithinOrder</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>
<OrderLineTotalCustomsValue>decimal</OrderLineTotalCustomsValue>
<WarehouseInstruction>string</WarehouseInstruction>
<OrderLineType>
<Operation>FindOrCreate</Operation>
<Name>string</Name>
<Code>string</Code>
</OrderLineType>
<OrderLineFreeText1>string</OrderLineFreeText1>
<OrderLineTotalVat>decimal</OrderLineTotalVat>
<OrderLineFreeDecimal1>decimal</OrderLineFreeDecimal1>
</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>
<SubOrderLine>
<CustomerOrderLine>object of type CustomerOrderLine</CustomerOrderLine>
</SubOrderLine>
<SubOrderLine>
<CustomerOrderLine>object of type CustomerOrderLine</CustomerOrderLine>
</SubOrderLine>
</SubOrderLines>
<MinDaysToExpiryDate>int</MinDaysToExpiryDate>
<MaxDaysToExpiryDate>int</MaxDaysToExpiryDate>
<ProductCode>string</ProductCode>
<OrderLineSerial>string</OrderLineSerial>
<Discount>decimal</Discount>
<VatCode>
<VatCodeOperation>Find or CreateNotUpdate</VatCodeOperation>
<VatCodeIdentification>VatTypeCode or VatPercent or VatTypeCodeAndPercent</VatCodeIdentification>
<VatCode>string</VatCode>
<VatPercent>decimal</VatPercent>
</VatCode>
<OrderLineCaseNo>string</OrderLineCaseNo>
<OrderLineArticleItemStatus>
<Identification>ArticleItemStatusCode</Identification>
<Operation>Find or FindOrCreate</Operation>
<ArticleItemStatusId>int</ArticleItemStatusId>
<ArticleItemStatusCode>string</ArticleItemStatusCode>
<ArticleItemStatusName>string</ArticleItemStatusName>
<IsLocked>boolean</IsLocked>
</OrderLineArticleItemStatus>
<OrderLineWeight>decimal</OrderLineWeight>
<CustomerArticleNumber>string</CustomerArticleNumber>
<ForcePickFullItems>boolean</ForcePickFullItems>
<Items>
<CustomerOrderLineArticleItem>
<Operation>CreateOrUpdate</Operation>
<Identification>Serial or OrderLineId or ArticleItemId or SerialAndArticleWithinOrder</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>Serial or OrderLineId or ArticleItemId or SerialAndArticleWithinOrder</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>
<OrderLineTotalCustomsValue>decimal</OrderLineTotalCustomsValue>
<WarehouseInstruction>string</WarehouseInstruction>
<OrderLineType>
<Operation>FindOrCreate</Operation>
<Name>string</Name>
<Code>string</Code>
</OrderLineType>
<OrderLineFreeText1>string</OrderLineFreeText1>
<OrderLineTotalVat>decimal</OrderLineTotalVat>
<OrderLineFreeDecimal1>decimal</OrderLineFreeDecimal1>
</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 | string(400) | Req. | The name/code of your client |
UserName | string(50) | Req. | Your username |
Password | string(50) | Req. | Your password |
co | CustomerOrder | Req. | The CustomerOrder object |
CustomerOrder | |||
---|---|---|---|
OrderInfo | OrderInfoClass | Req. | Defines order head information |
GoodsOwner | GoodsOwner | Omit | Only for internal purposes, don't use |
Customer | Customer | Req. | Defines where the order should be sent. |
CommunicationInfo | CommunicationInfo | Omit | Deprecated, don't use |
TransporterContract | TransporterContractClass | An element of TransporterContract. Use to specify transporter and transporter service | |
CustomerOrderLines | CustomerOrderLine[] | Req. | Containing elements of CustomerOrderLine. Defines articles and amount ordered |
CustomerOrderTextLines | CustomerOrderTextLine[] | Containing elements of CustomerOrderTextLine. Text lines, not containing any article info | |
TransportServices | OrderTransportServices | Contains an element of TransportServices. Determines any specific transport requirements (e.g. if delivery must be done with a crane truck). | |
ReturnTransporterContract | ReturnTransporterContractClass | 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. |
OrderInfoClass | |||
---|---|---|---|
OrderIdentification | enum | Req. | Defines what you want to identify the order by (what is public): - ExternalOrderCode (deprecated) - GoodsOwnerOrderNumber - ReferenceNumber - SystemId - GoodsOwnerOrderId Most integrations will use GoodsOwnerOrderNumber 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 | string(100) | Communication info | |
OrderId | int | Ongoing WMS internal id (SystemId). Required if OrderIdentification = SystemId | |
ReferenceNumber | string(50) | Reference number. Required if OrderIdentification = ReferenceNumber | |
GoodsOwnerOrderNumber | string(50) | Order number. Required if OrderIdentification = GoodsOwnerOrderNumber | |
GoodsOwnerOrderId | string(40) | External order id. Required if OrderIdentification = GoodsOwnerOrderId | |
SalesCode | string(500) | Sales code. Often visible on package label (depending on transporter). 'Mark' in the GUI | |
OrderRemark | string(500) | Remark/comment about the order. 'Comment' in the GUI | |
ConsigneeOrderNumber | string(150) | Consignee order number | |
WayOfDelivery | string(50) | Obsolete. Use WayOfDeliveryType instead. | |
TermsOfDelivery | string(50) | Terms of delivery | |
TermsOfPayment | string(50) | Terms of payment | |
ProfitCenter | string(50) | Profit center | |
DeliveryInstruction | string(300) | Delivery instruction | |
TransporterOrderNumber | string(150) | Transporter order number | |
FreightPrice | decimal | Price of freight | |
DeliveryDate | dateTime | Desired delivery date. Will be 'today' if omitted | |
ArrivalDateFrom | dateTime | First day of arrival | |
ArrivalDate | dateTime | Arrival date | |
WayBill | string(50) | Waybill | |
CustomerPrice | decimal | 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. Updates to statuses above 399 (picked or above) is not allowed if the order has allocated but not picked goods. This field shouldn't be used to cancel an order, use OrderOperation set to Remove instead. | |
Language | string(20) | Language of the consignee, in ISO 639-1. Ex SV, EN, DE, ... | |
OrderType | OrderType | Element of OrderType. Determines what type of order this is | |
WayOfDeliveryType | WayOfDeliveryType | Element of WayOfDeliveryType. Determines how the order should be delivered | |
TermsOfDeliveryType | TypeClass | Element of TermsOfDeliveryType. Enables a terms of delivery type with code and name | |
OrderNotification | OrderNotification | 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 | string(200) | Invoice number | |
InvoiceTypeCode | string(50) | Type code of the invoice, if there are different types of invoices | |
InvoiceUrl | string(200) | Url (http) to an invoice | |
OutboundWarehouse | OutboundWarehouse | Element of type OutboundWarehouse. Defines which warehouse that should process the order (if there are multiple warehouses involed) | |
ProductionCode | string(30) | Production code | |
PickingPriority | int | Picking priority | |
OrderServicePointCode | string(50) | Code of the service point that the customer wishes to pick up the package at | |
FreeText1 | string(300) | Text field for additional comments or other information | |
FreeText2 | string(300) | Text field for additional comments or other information | |
FreeText3 | string(300) | Text field for additional comments or other information | |
MarketPlace | string(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 WMS. | |
MarketPlaceOrderNumber | string(100) | The order number in the market place where the order originated (also see documentation above for the field MarketPlace). | |
Customs | OrderCustoms | Element of type Customs, containing information related to customs. | |
PreparedTransportDocumentId | string(50) | Reference to a transport document which been prepared in a separate transport administration system. Can be used for e.g nShift Checkout. | |
WarehouseInstruction | string(500) | Special instructions for the warehouse workers on how to handle the order. | |
OrderClasses | OrderClasses | An object of type OrderClasses, which specifies which classes this order belongs to. | |
OrderFreeDateTime1 | dateTime | A datetime field which you can use for your own purposes. | |
TransporterBulkId | string(100) | The transporter's bulk Id. This Id is sometimes required by home-delivery or package locker transporters such as Instabox or Airmee. | |
OrderFreeDateTime2 | dateTime | A datetime field which you can use for your own purposes. | |
OrderFreeDecimal1 | decimal | A decimal field which you can use for your own purposes. |
GoodsOwner | |||
---|---|---|---|
GoodsOwnerIdentification | enum | Must always be fixed string "SystemId" | |
GoodsOwnerCode | string(400) | The name/code of the client | |
GoodsOwnerId | int | Ongoing WMS internal id of the client | |
FinancialCode | string(50) | Financial code of the client | |
GoodsLocationCode | string(50) | Goods location code | |
CountryCode | string(2) | The two-letter ISO 3166-1 alpha-2 code of the country. | |
GoodsOwnerAddressName | string(200) | Address name | |
Address | string(200) | Address line 1 | |
Address2 | string(200) | Address line 2 | |
Address3 | string(200) | Address line 3 | |
PostCode | string(50) | Post code/zip | |
City | string(200) | City |
Customer | |||
---|---|---|---|
CustomerOperation | enum | Req. | Defines the operation: - Create - CreateOrUpdate - CreateNotUpdate - Find |
CustomerIdentification | enum | Req. | Defines what you want to identify the customer by. We recommend that you use FullNameAndAddress or CustomerNumber. - ExternalCustomerCode - SystemId - CustomerNumber - FullNameAndAddress |
ExternalCustomerCode | string(50) | External customer code. Required if CustomerIdentification = ExternalCustomerCode | |
CustomerNumber | string(50) | Customer number. Required if CustomerIdentification = CustomerNumber | |
CustomerId | int | Ongoing WMS internal id (SystemId). Required if CustomerIdentification = SystemId | |
DeliveryAddressId | int | Only usable when the Customer tag is used within the ProcessOrder request and CustomerOperation = Find. Binds the delivery address of the order directly to the Ongoing WMS system id of the address | |
InvoiceAddressId | int | Only usable when the Customer tag is used within the ProcessOrder request and CustomerOperation = Find. Binds the invoice address of the order to the Ongoing WMS system id of the address | |
Coordinates | Coordinates | Coordinates of customer | |
Name | string(200) | Name | |
Address | string(200) | Address line 1 | |
Address2 | string(200) | Address line 2 | |
Address3 | string(200) | Address line 3 | |
PostCode | string(50) | Post code/zip | |
City | string(200) | City | |
TelePhone | string(50) | Telephone number (non cellular) | |
Remark | string(800) | Remark/comment | |
string(300) | Email address | ||
MobilePhone | string(50) | Mobile phone number (cellular) | |
CountryCode | string(2) | The two-letter ISO 3166-1 alpha-2 code of the country. | |
CountryStateCode | string(50) | The two-letter ISO 3166-2 abbreviation of the state. Required for United States and Canada. See ISO 3166-2:US for United States and ISO 3166-2:CA for Canada. | |
DeliveryInstruction | string(300) | Delivery instruction | |
IsVisible | boolean | False if the address shouldn't show in the system, e.g. be re-used for manual order | |
NotifyBySMS | boolean | True if the customer should be notified by the transporter through SMS | |
NotifyByEmail | boolean | True if the customer should be notified by the transporter through email | |
NotifyByTelephone | boolean | True if the customer should be notified by the transporter through phone call | |
InvoiceAddress | InvoiceAddress | Address object defining invoice address for the customer. Fields from Coordinates to NotifyByTelephone from the Customer object apply | |
CustomerGroup | CustomerGroup | Customer group, enable grouping of customers | |
OrganisationNumber | string(20) | Organisation number | |
VATNumber | string(20) | VAT number | |
DoorCode | string(30) | Door code, may be sent to transporter for use during delivery | |
AddressFreeText1 | string(400) | A free text field for the address | |
AddressFreeText2 | string(100) | A free text field for the address | |
AddressClasses | AddressClasses | An object of type AddressClasses, which specifies which classes the delivery address on this order belongs to. |
TransporterContractClass | |||
---|---|---|---|
TransporterContractIdentification | enum | Req. | Defines what you want to identify the transporter contract by: - FiltersSpecified - CodeAndServiceCodeAndCustomerNumber - CodeAndServiceCode - Code - ServiceCode Most integrations will use FiltersSpecified, which will cause the system to try to find the best match given the filters that you have specified. |
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 | string(50) | Transporter code. See GetTransporterContracts for available codes. Required if TransporterContractIdentification = CodeAndServiceCodeAndCustomerNumber, CodeAndServiceCode or Code | |
TransporterServiceCode | string(50) | Transporter service code. See GetTransporterContracts for available codes. Required if TransporterContractIdentification = CodeAndServiceCodeAndCustomerNumber, CodeAndServiceCode or ServiceCode | |
CustomerNumber | string(50) | Customer number at the transporter. Usually not needed if TransportPayment = PrePaid | |
ConsigneePalletCustomerNumber | string(50) | Pallet reg number | |
EDICustomerCode | string(200) | Often the code defining the sender in the TA system | |
WaybillTemplate | string(100) | Waybill template |
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 WMS. Must be one of these: - ArticleRegistrySpecification (this is the default) - RequestSpecification |
|
OrderLineSystemId | int | Ongoing WMS internal order line id. Required if OrderLineIdentification = SystemId | |
DeliveryDate | dateTime | Desired delivery date of this specific order line | |
ExternalOrderLineCode | string(40) | External order line code. Insert row number of your system if needed. Required if OrderLineIdentification = ExternalOrderLineCode or ExternalOrderLineId | |
OrderLineComment | string(300) | Order line comment | |
ArticleSystemId | int | Ongoing WMS internal article id. Required if ArticleIdentification = SystemId | |
ArticleNumber | string(100) | Article number. Required if ArticleIdentification = ArticleNumber | |
ArticleName | string(200) | Article name. Required if ArticleIdentification = ArticleName | |
CustomerLinePrice | decimal | Customer price of the order line. Corresponds to RowPrice in GetOrder | |
LinePrice | decimal | Price of the order line. 'Purchase price' in the GUI | |
NumberOfItems | decimal | Req. | Number of items to ship for this order line |
CurrencyCode | string(20) | Currency code of the order line, in ISO 4217. E.g. SEK, NOK or EUR | |
Height | decimal | Height in m | |
Width | decimal | Width in m | |
Length | decimal | Length in m | |
DoPick | boolean | False if this orderline should not be picked/shipped. Default value is True | |
Batch | string(50) | Enables you to specify that a certain batch should be shipped | |
SubOrderLines | SubOrderLine[] | 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 | string(200) | Product code. Required if ArticleIdentification = ProductCode | |
OrderLineSerial | string(128) | Enables a specified serial to be shipped | |
Discount | decimal | Discount of the order line (in percent) | |
VatCode | VatCodeClass | Element of type VatCode. Defines VAT code of order line | |
OrderLineCaseNo | string(100) | Defines the case number of the order line. Often used to store customs information. | |
OrderLineArticleItemStatus | OrderLineArticleItemStatus | Element of type OrderLineArticleItemStatus. Defines the status of the goods which are to be picked for the order line | |
OrderLineWeight | decimal | Used in rare cases. If the goods have variable weights this can be used as a target weight. In kg. | |
CustomerArticleNumber | string(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 | boolean | 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 | CustomerOrderLineArticleItem[] | Element of type CustomerOrderLineArticleItem. Only used in advanced cases where you wish to send in exactly the article items which are to be picked. | |
OrderLineTotalCustomsValue | decimal | The total customs value for this order line. The currency is sent in the field CustomsValueCurrencyCode. | |
WarehouseInstruction | string(300) | Special instructions for the warehouse workers on how to handle the order line. | |
OrderLineType | OrderLineType | Elements of type OrderLineType. Represents the order line type. | |
OrderLineFreeText1 | string(300) | Free text field. This field can for example be displayed on a delivery note. | |
OrderLineTotalVat | decimal | The total VAT for this order line. | |
OrderLineFreeDecimal1 | decimal | Free decimal 1. |
CustomerOrderTextLine | |||
---|---|---|---|
ExternalOrderLineCode | string(50) | Req. | Text line row number |
OrderLineComment | string(300) | Req. | Comment/order line text |
NumberOfItems | decimal | Number of items |
OrderTransportServices | |||
---|---|---|---|
ExactTime | boolean | Determines if the delivery must happen at a specific time | |
CraneTruck | boolean | Determines if the delivery must be done with a crane truck | |
CarryIn | boolean | Determines if the delivery men should carry the goods in to the customer |
ReturnTransporterContractClass | |||
---|---|---|---|
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 | string(50) | Transporter code. See GetTransporterContracts for available codes. Required if TransporterContractIdentification = CodeAndServiceCodeAndCustomerNumber, CodeAndServiceCode or Code | |
TransporterServiceCode | string(50) | Transporter service code. See GetTransporterContracts for available codes. Required if TransporterContractIdentification = CodeAndServiceCodeAndCustomerNumber, CodeAndServiceCode or ServiceCode | |
CustomerNumber | string(50) | Customer number at the transporter. Usually not needed. | |
ConsigneePalletCustomerNumber | string(50) | Pallet reg number |
OrderType | |||
---|---|---|---|
OrderTypeOperation | enum | Req. | Defines the operation: - Find - CreateOrFind |
OrderTypeIdentification | enum | Req. | Defines what you want to identify the type by: - OrderTypeCode - OrderTypeName |
OrderTypeCode | string(50) | Order type code. Required if OrderTypeIdentification = OrderTypeCode | |
OrderTypeName | string(50) | Order type name. Required if OrderTypeIdentification = OrderTypeName |
WayOfDeliveryType | |||
---|---|---|---|
WayOfDeliveryTypeOperation | enum | Req. | Defines the operation - CreateOrUpdate - Find |
WayOfDeliveryTypeIdentification | enum | Req. | Defines what you want to identify the type by - Code - Name |
Code | string(50) | Way of delivery type code. Required if WayOfDeliveryTypeIdentification = Code | |
Name | string(100) | Way of delivery type name. Required if WayOfDeliveryTypeIdentification = Name |
TypeClass | |||
---|---|---|---|
TypeOperation | enum | Req. | Defines the operation: - CreateOrUpdate - Find - FindOrCreate |
TypeIdentification | enum | Req. | Defines what you want to identify the group by: - Code - Name |
Code | string(50) | Article category code. Required if TypeIdentification = Code | |
Name | string(200) | Article category name. Required if TypeIdentification = Name |
OrderNotification | |||
---|---|---|---|
Telephone | string(50) | Telephone number (non cellular) to notify by call. Required if NotifyByTelephone = True | |
MobilePhone | string(50) | Mobile phone number to notify by SMS. Required if NotifyBySMS = True | |
string(200) | Email address to notify. Required if NotifyByEmail = True | ||
NotifyByEmail | boolean | True if the customer should be notified by the transporter through email | |
NotifyBySms | boolean | True if the customer should be notified by the transporter through SMS | |
NotifyByTelephone | boolean | 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 | string(50) | Warehouse code. Required if WarehouseIdentification = WarehouseCode | |
WarehouseName | string(200) | Warehouse name. Required if WarehouseIdentification = WarehouseName | |
WarehouseId | int | Warehouse id. Required if WarehouseIdentification = WarehouseId |
OrderCustoms | |||
---|---|---|---|
CustomsValueCurrencyCode | string(20) | The customs currency of the order. Only applicable if you also send in the customs values for each order line (in the field OrderLineTotalCustomsValue). |
OrderClasses | |||
---|---|---|---|
Operation | enum | Req. | Defines the operation for each class: - Find - FindOrCreate Most integrations will use FindOrCreate |
Identification | enum | Req. | Defines what you want to identify each class. Currently there is only one type of valid identification: - Code - identifies the class using the code |
Classes | OrderClass[] | Req. | A list of Class objects, each object representing one order class. |
Coordinates | |||
---|---|---|---|
Longitude | decimal | Req. | Longitude |
Latitude | decimal | Req. | Latitude |
InvoiceAddress | |||
---|---|---|---|
Coordinates | Coordinates | Coordinates of the invoice address | |
Name | string(200) | Name | |
Address | string(200) | Address line 1 | |
Address2 | string(200) | Address line 2 | |
Address3 | string(200) | Address line 3 | |
PostCode | string(50) | Post code/zip | |
City | string(200) | City | |
TelePhone | string(50) | Telephone number (non cellular) | |
Remark | string(800) | Remark/comment | |
string(300) | Email address | ||
MobilePhone | string(50) | Mobile phone number (cellular) | |
CountryStateCode | string(50) | The two-letter ISO 3166-2 abbreviation of the state. Mainly used for United States and Canada. See ISO 3166-2:US for United States and ISO 3166-2:CA for Canada. | |
CountryCode | string(2) | The two-letter ISO 3166-1 alpha-2 code of the country. | |
DeliveryInstruction | string(300) | Delivery instruction | |
IsVisible | boolean | False if the address shouldn't show in the system, e.g. be re-used for manual order | |
NotifyBySMS | boolean | True if the customer should be notified by the transporter through SMS | |
NotifyByEmail | boolean | True if the customer should be notified by the transporter through email | |
NotifyByTelephone | boolean | True if the customer should be notified by the transporter through phone call | |
AddressClasses | AddressClasses | An object of type AddressClasses, which specifies which classes the invoice address on this order belongs to. |
CustomerGroup | |||
---|---|---|---|
CustomerGroupOperation | enum | Req. | Defines the operation - Find |
CustomerGroupIdentification | enum | Req. | Defines what you want to identify the customer group by - CustomerGroupCode - CustomerGroupName |
CustomerGroupCode | string | ||
CustomerGroupName | string | Customer group name. Required if CustomerGroupIdentification = CustomerGroupName |
AddressClasses | |||
---|---|---|---|
Operation | enum | Req. | Defines the operation for each class: - Find - FindOrCreate Most integrations will use FindOrCreate |
Identification | enum | Req. | Defines what you want to identify each class. Currently there is only one type of valid identification: - Code - identifies the class using the code |
AssignAddressClassMode | enum | An element of type AssignAddressClassMode. | |
Classes | AddressClassClass[] | Req. | A list of Class objects, each object representing one address class. |
SubOrderLine | |||
---|---|---|---|
CustomerOrderLine | CustomerOrderLine | An element of type CustomerOrderLine. |
VatCodeClass | |||
---|---|---|---|
VatCodeOperation | enum | Req. | Defines the operation: - Find - CreateNotUpdate |
VatCodeIdentification | enum | Req. | Defines what you identify the VAT by. We recommend VatTypeCodeAndPercent. - VatTypeCode - VatPercent - VatTypeCodeAndPercent |
VatCode | string(50) | VAT code. Required if identifying by VatTypeCode or VatTypeCodeAndPercent | |
VatPercent | decimal | VAT percent. Required if identifying by VatTypeCode or VatTypeCodeAndPercent, or VatCodeOperation = CreateNotUpdate |
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 | Obsolete, do not use! | |
ArticleItemStatusCode | string | Req. | Item status code. Required if Identification = ArticleItemStatusCode |
ArticleItemStatusName | string | Item status name. | |
IsLocked | boolean | Obsolete, do not use! |
CustomerOrderLineArticleItem | |||
---|---|---|---|
Operation | enum | Req. | Defines the operation: - CreateOrUpdate |
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 public among all serial numbers used for the goodsowner. If you use SerialAndArticleWithinOrder, then each serial number must only be public per order and article. Note 2: the most common way is to use SerialAndArticleWithinOrder. |
Serial | string(128) | The article item's serial number. Required if Identification = Serial. | |
Batch | string(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. | |
ArticleItemId | int | The article item id. Required if Identification = ArticleItemId. |
OrderLineType | |||
---|---|---|---|
Operation | enum | Req. | Must be FindOrCreate. |
Name | string(100) | The name of the order line type. | |
Code | string(100) | Req. | The order line type code. |
OrderClass | |||
---|---|---|---|
Name | string(200) | The name of the class. | |
Code | string(200) | The code of the class. | |
Comment | string(500) | Comment. | |
IsPalletTypeSuggestion | boolean | Whether or not this order class is intended to be used as a hint for the type of packaging which is suitable for the order. |
AddressClassClass | |||
---|---|---|---|
Name | string(200) | The name of the class. | |
Code | string(200) | The code of the class. | |
Comment | string(500) | Comment. |
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>
<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>
<ShipmentId>int</ShipmentId>
</ProcessOrderResult>
</ProcessOrderResponse>
</soap:Body>
</soap:Envelope>
Response specification
ProcessOrderResponse | ||
---|---|---|
ProcessOrderResult | FileResultClass |
FileResultClass | ||
---|---|---|
ErrorMessage | string | Error message |
GoodsOwnerOrderNumber | string(50) | |
OrderId | int | |
InOrderId | int | |
ArticleDefId | int | |
Success | boolean | True if success |
Message | string | Process message |
ShipmentId | int |