Ongoing Warehouse logo

Ongoing Warehouse Developer

ProcessArticle

Used to create or update an article.

Tags: ProcessArticle, ArticleDefinition, ArticleGroup, ArticleCategory, VatCode, DangerousGoods, ArticleName, StructureArticleDefinition, Supplier, Address (supplier), TaricNumberClass, Country, ArticleColor, ArticleSize, ProcessArticleResult

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/ProcessArticle"

<?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>
      <ProcessArticle xmlns="http://ongoingsystems.se/WSI">
         <GoodsOwnerCode>string</GoodsOwnerCode>
         <UserName>string</UserName>
         <Password>string</Password>
         <art>
            <ArticleOperation>CreateOrUpdate</ArticleOperation>
            <ArticleIdentification>SystemId or ArticleNumber or ProductCode or ArticleName</ArticleIdentification>
            <ArticleSystemId>int</ArticleSystemId>
            <ArticleNumber>string</ArticleNumber>
            <ArticleName>string</ArticleName>
            <ProductCode>string</ProductCode>
            <BarCode>string</BarCode>
            <SupplierArticleNumber>string</SupplierArticleNumber>
            <ArticleDescription>string</ArticleDescription>
            <ArticleUnitCode>string</ArticleUnitCode>
            <CountryOfOriginCode>string</CountryOfOriginCode>
            <StatisticsNumber>string</StatisticsNumber>
            <PurchaseCurrencyCode>string</PurchaseCurrencyCode>
            <Weight>decimal</Weight>
            <NetWeight>decimal</NetWeight>
            <Volume>decimal</Volume>
            <Length>decimal</Length>
            <Width>decimal</Width>
            <Height>decimal</Height>
            <QuantityPerPallet>int</QuantityPerPallet>
            <QuantityPerPackage>int</QuantityPerPackage>
            <OrderPoint>int</OrderPoint>
            <Price>decimal</Price>
            <CustomerPrice>decimal</CustomerPrice>
            <PurchasePrice>decimal</PurchasePrice>
            <IsStockArticle>boolean</IsStockArticle>
            <ArticleGroup>
               <ArticleGroupOperation>Find or FindOrCreate or Clear or CreateOrUpdate</ArticleGroupOperation>
               <ArticleGroupIdentification>ArticleGroupCode or ArticleGroupName</ArticleGroupIdentification>
               <ArticleGroupCode>string</ArticleGroupCode>
               <ArticleGroupName>string</ArticleGroupName>
            </ArticleGroup>
            <ArticleCategory>
               <TypeOperation>CreateOrUpdate or Find or FindOrCreate</TypeOperation>
               <TypeIdentification>Code or Name</TypeIdentification>
               <Code>string</Code>
               <Name>string</Name>
            </ArticleCategory>
            <VatCode>
               <VatCodeOperation>Find or CreateNotUpdate</VatCodeOperation>
               <VatCodeIdentification>VatTypeCode or VatPercent</VatCodeIdentification>
               <VatCode>string</VatCode>
               <VatPercent>decimal</VatPercent>
            </VatCode>
            <DangerousGoods>
               <UNNumber>string</UNNumber>
               <UNIsMarineHazard>boolean</UNIsMarineHazard>
               <UNIsDangerousGoods>boolean</UNIsDangerousGoods>
               <UNPackageType>I or II or III or Unknown</UNPackageType>
               <UNTunnelCodes>
                  <UNTunnelCode>A or B or C or D or E</UNTunnelCode>
                  <UNTunnelCode>A or B or C or D or E</UNTunnelCode>
               </UNTunnelCodes>
               <UNClassNumber>string</UNClassNumber>
               <UNProperShippingName>
                  <Name>string</Name>
                  <LanguageCode>string</LanguageCode>
               </UNProperShippingName>
               <UNProperShippingName>
                  <Name>string</Name>
                  <LanguageCode>string</LanguageCode>
               </UNProperShippingName>
               <UNLabelNumbers>string</UNLabelNumbers>
               <DangerousGoodsCoefficient>decimal</DangerousGoodsCoefficient>
               <EmSCode>string</EmSCode>
            </DangerousGoods>
            <DangerousGoods>
               <UNNumber>string</UNNumber>
               <UNIsMarineHazard>boolean</UNIsMarineHazard>
               <UNIsDangerousGoods>boolean</UNIsDangerousGoods>
               <UNPackageType>I or II or III or Unknown</UNPackageType>
               <UNTunnelCodes>
                  <UNTunnelCode>A or B or C or D or E</UNTunnelCode>
                  <UNTunnelCode>A or B or C or D or E</UNTunnelCode>
               </UNTunnelCodes>
               <UNClassNumber>string</UNClassNumber>
               <UNProperShippingName>
                  <Name>string</Name>
                  <LanguageCode>string</LanguageCode>
               </UNProperShippingName>
               <UNProperShippingName>
                  <Name>string</Name>
                  <LanguageCode>string</LanguageCode>
               </UNProperShippingName>
               <UNLabelNumbers>string</UNLabelNumbers>
               <DangerousGoodsCoefficient>decimal</DangerousGoodsCoefficient>
               <EmSCode>string</EmSCode>
            </DangerousGoods>
            <ArticleNames>
               <ArticleName>
                  <Language>
                    <LanguageCode>string</LanguageCode>
                  </Language>
                  <ArticleName>string</ArticleName>
               </ArticleName>
               <ArticleName>
                 <Language>
                   <LanguageCode>string</LanguageCode>
                 </Language>
                  <ArticleName>string</ArticleName>
               </ArticleName>
            </ArticleNames>
            <ArticleStructureSpecification ArticleStructureType="StructureArticle or ProductionArticle">
               <StructureArticleDefinition>
                  <NumberOfItems>decimal</NumberOfItems>
                  <SubArticleDefinition xsi:nil="true" />
               </StructureArticleDefinition>
               <StructureArticleDefinition>
                  <NumberOfItems>decimal</NumberOfItems>
                  <SubArticleDefinition xsi:nil="true" />
               </StructureArticleDefinition>
            </ArticleStructureSpecification>
            <MainSupplier>
               <SupplierIdentificationType>SupplierNumber or SupplierName or FullNameAndAdress</SupplierIdentificationType>
               <SupplierOperation>CreateOrUpdate or Find or CreateOrFind</SupplierOperation>
               <SupplierNumber>string</SupplierNumber>
               <SupplierName>string</SupplierName>
               <Address>
                  <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>
                  <IsEuCountry>boolean</IsEuCountry>
                  <CountryStateCode>string</CountryStateCode>
                  <CountryCode>string</CountryCode>
                  <DeliveryInstruction>string</DeliveryInstruction>
                  <IsVisible>boolean</IsVisible>
                  <NotifyBySMS>boolean</NotifyBySMS>
                  <NotifyByEmail>boolean</NotifyByEmail>
                  <NotifyByTelephone>boolean</NotifyByTelephone>
               </Address>
               <comment>string</comment>
            </MainSupplier>
            <IsGSPCertified>boolean</IsGSPCertified>
            <MaxStockDays>int</MaxStockDays>
            <ArticleStoragePriority>int</ArticleStoragePriority>
            <BarCodePackage>string</BarCodePackage>
            <LinkToPicture>string</LinkToPicture>
            <BarCodePallet>string</BarCodePallet>
            <QuantityPerLayer>int</QuantityPerLayer>
            <PalletHeight>decimal</PalletHeight>
            <TaricNumbers>
               <TaricNumber>
                  <Country xsi:nil="true" />
                  <TaricNumber>string</TaricNumber>
               </TaricNumber>
               <TaricNumber>
                  <Country xsi:nil="true" />
                  <TaricNumber>string</TaricNumber>
               </TaricNumber>
            </TaricNumbers>
            <IsObsolete>boolean</IsObsolete>
            <MinDaysToExpiryDate>int</MinDaysToExpiryDate>
            <AdditionalStatisticsNumber>string</AdditionalStatisticsNumber>
            <CustomsExportConditions>string</CustomsExportConditions>
            <ArticleColor>
               <ColorCode>string</ColorCode>
               <ColorName>string</ColorName>
            </ArticleColor>
            <ArticleSize>
               <SizeCode>string</SizeCode>
               <SizeName>string</SizeName>
            </ArticleSize>
            <IsSerialNumberArticle>boolean</IsSerialNumberArticle>
            <IsBatchArticle>boolean</IsBatchArticle>
            <ArticleDefinitionClasses>
               <ArticleDefinitionClassesOperation>FindOrCreate</ArticleDefinitionClassesOperation>
               <Classes>
                  <Class xsi:nil="true" />
                  <Class xsi:nil="true" />
               </Classes>
            </ArticleDefinitionClasses>
            <ArticleFreeDecimal1>decimal</ArticleFreeDecimal1>
            <ArticleFreeDecimal2>decimal</ArticleFreeDecimal2>
            <SubQuantityPerItem>int</SubQuantityPerItem>
         </art>
      </ProcessArticle>
   </soap:Body>
</soap:Envelope>
+

Request specification

ProcessArticle
GoodsOwnerCode str(400) Req. The name/code of your client
UserName str(50) Req. Username
Password str(50) Req. Password
art object Req. The ArticleDefinition object
ArticleDefinition
ArticleOperation enum Req. Defines the operation. Must always be CreateOrUpdate
ArticleIdentification enum Req. Defines what you want to identify the article by:
 - SystemId
 - ArticleNumber
 - ProductCode
 - ArticleName
Most integrations use ArticleNumber
ArticleSystemId int Req.* Ongoing 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
ProductCode str(200) Req.* Product code. Required if ArticleIdentification = ProductCode. In the system it is sometimes called FactoryCode.
BarCode str(100) Barcode/EAN. Used by warehouse to scan the article
SupplierArticleNumber str(200) Article number from the supplier
ArticleDescription str(3000) Description
ArticleUnitCode str(50) Unit code. Ask client for exact list if you wish to use.
CountryOfOriginCode str(2) The two-letter ISO 3166-1 alpha-2 code of the country.
StatisticsNumber str(100) Statistical number or harmonization code. Use this field if exporting to a single country. Use TaricNumbers if you need different numbers for different countries.
AdditionalStatisticsNumber str(10) Additional field for statistics number.
CustomsExportConditions str(100) A string describing which conditions apply when the article is exported
IsGSPCertified bool True if the article is GSP certified
TaricNumbers object[] Elements of type TaricNumberClass. Customs codes. Use this field if you need different statistical numbers (also called taric codes or harmonized codes) for exporting to different countries.
PurchaseCurrencyCode str(20) Currency code of the purchase price, in ISO 4217. E.g. SEK, NOK or EUR
Weight dec Weight in kg
NetWeight dec Net weight in kg
Volume dec Volume in m3
Length dec Length in m
Width dec Width in m
Height dec Height in m
QuantityPerPallet int Number of units that fit on a pallet
QuantityPerPackage int Number of units that fit in a package/box
OrderPoint dec If the stock balance falls below this value, more articles of this type should be ordered from supplier.
Price dec Stock valuation price
CustomerPrice dec Customer price
PurchasePrice dec Purchase price
IsStockArticle bool True if the article is physically kept in stock in the warehouse. Otherwise, if the article is fictional (e.g. it's a "freight cost" article), then this should be False.
ArticleGroup object Article group, enable grouping of articles
ArticleCategory object Article category, enables categorization of articles
VatCode object Of type VatCode. Defines VAT code.
DangerousGoods object[] Elements of type DangerousGoods. defines ADR properties
ArticleNames object Containing elements of ArticleName. Enables alternative article names
ArticleStructureSpecification object Containing elements of StructureArticleDefinition. Enables structure/bundle and production articles.
The enum attribute ArticleStructureType can take these values:
 - StructureArticle
 - ProductionArticle
MainSupplier object Element of type Supplier. The main supplier of the article.
MaxStockDays int Max days that an article item is allowed to be in stock
ArticleStoragePriority int Article storage priority
BarCodePackage str(100) Barcode of bulk package containing this article
LinkToPicture str(100) URL to a picture of the article.
BarCodePallet str(100) Barcode for a pallet containing this article
QuantityPerLayer int Number of articles per layer on the pallet
PalletHeight decimal How many articles can be stacked upon each other on a pallet
IsObsolete bool True if the article is obsolete.
MinDaysToExpiryDate int The minimum allowed days left until expiry for shipping a product.
ArticleColor object Element of type ArticleColor.
ArticleSize object Element of type ArticleSize
IsSerialNumberArticle bool True if serial numbers should be forced for the article
IsBatchArticle bool True if batch numbers should be forced for the article
ArticleDefinitionClasses object Used to set a set up tags to the article.
ArticleFreeDecimal1 decimal Custom decimal field. By default not used for anything.
ArticleFreeDecimal2 decimal Custom decimal field. By default not used for anything.
SubQuantityPerItem decimal In some cases, an article will contain a certain number of another article. For instance, you might wish to record that the article "Box of Nails" contains 100 nails. This field may be used to record this.
ArticleGroup
ArticleGroupOperation enum Req. Defines the operation:
 - Find
 - FindOrCreate
 - Clear
 - CreateOrUpdate
ArticleGroupIdentification enum Req. Defines what you want to identify the group by:
 - ArticleGroupCode
 - ArticleGroupName
ArticleGroupCode str(100) Req.* Article group code. Required if ArticleGroupIdentification = ArticleGroupCode
ArticleGroupName str(100) Req.* Article group name. Required if ArticleGroupIdentification = ArticleGroupName
ArticleCategory
TypeOperation enum Req. Defines the operation:
 - CreateOrUpdate
 - Find
 - FindOrCreate
TypeIdentification enum Req. Defines what you want to identify the group by:
 - Code
 - Name
Code str(50) Req.* Article category code. Required if TypeIdentification = Code
Name str(200) Req.* Article category name. Required if TypeIdentification = Name
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
DangerousGoods
UNNumber str(10) Req. The UN number of the ADR specification
UNIsMarineHazard bool True if ADR is classed as a marine hazard
UNIsDangerousGoods bool True if ADR is classed as dangerous goods
UNPackageType enum Req. Package type:
 - I
 - II
 - III
 - Unknown
UNTunnelCodes object Tunnel codes of ADR
> UNTunnelCode enum[] Req. Elements of tunnel codes:
 - A
 - B
 - C
 - D
 - E
UNClassNumber str(50) Req. Class number of ADR
UNProperShippingName object[] Elements of UNProperShippingName
> Name str(500) Req. Shipping name
> LanguageCode str(50) Req. Language of the shipping name, in ISO 639-1. Ex SV, EN, DE, ...
UNLabelNumbers str(50) Label numbers of ADR
DangerousGoodsCoefficient dec ADR Coefficient
EmSCode str(100) EmS
ArticleName
Language object Req. Defines the language of the article name
> LanguageCode str(50) Req. Language of the article name, in ISO 639-1. Ex SV, EN, DE, ...
ArticleName str(200) Req. Article name
StructureArticleDefinition
NumberOfItems dec Req. Number of items of the specified SubArticleDefinition
SubArticleDefinition object Req. ArticleDefinition object
MainSupplier
SupplierIdentificationType enum Req. Defines what you identify the supplier by:
 - SupplierNumber
 - SupplierName
 - FullNameAndAdress
SupplierOperation enum Req. Defines the operation:
 - CreateOrUpdate
 - Find
 - CreateOrFind
SupplierNumber str(200) Req.* Supplier number. Required if SupplierIdentificationType = SupplierNumber or SupplierOperation = CreateOrUpdate
SupplierName str(200) Req.* Supplier name. Required if SupplierIdentificationType = SupplierName or SupplierOperation = CreateOrUpdate
Address object Req.* Address of the supplier. Required if SupplierIdentificationType = FullNameAndAdress
comment str(800) Comment about the supplier
Address (supplier)
Name str(200) Name
Address str(200) Address line 1
Address2 str(200) Address line 2
Address3 str(200) Address line 3
PostCode str(50) Post code/zip
City str(200) City
TelePhone str(50) Telephone number (non cellular)
Remark str(800) Remark/comment
Email str(300) Email address
MobilePhone str(50) Mobile phone number (cellular)
IsEuCountry bool True if country is within EU
CountryStateCode str(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 str(2) The two-letter ISO 3166-1 alpha-2 code of the country.
DeliveryInstruction str(300) Delivery instruction
IsVisible bool False if the address shouldn't show in the system, e.g. be re-used for manual order
NotifyBySMS bool True if the customer should be notified by the transporter through SMS
NotifyByEmail bool True if the customer should be notified by the transporter through e-mail
NotifyByTelephone bool True if the customer should be notified by the transporter through phone call
TaricNumberClass
TaricNumber str(50) Customs code.
Country object Object of type Country
Country
CountryCode str(2) The two-letter ISO 3166-1 alpha-2 code of the country.
ArticleColor
ColorCode str(50) Identifier for the color.
ColorName str(100) Full name for the color.
ArticleSize
SizeCode str(50) Identifier for the size.
SizeName str(100) Full name for the size.

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

Response specification

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