ProcessCustomer

This function is obsolete. We recommended that you do not use this function. Instead, when sending an order to the system using ProcessOrder, simplify specify the customer's address directly in the call to ProcessOrder. Ongoing WMS will manage the rest.

This function is used to create or update a customer.

Tags: ProcessCustomer, Customer, Coordinates, InvoiceAddress, CustomerGroup, AddressClasses, AddressClassClass, ProcessCustomerResponse, FileResultClass

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

<?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>
    <ProcessCustomer xmlns="http://ongoingsystems.se/WSI">
      <GoodsOwnerCode>string</GoodsOwnerCode>
      <UserName>string</UserName>
      <Password>string</Password>
      <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>
    </ProcessCustomer>
  </soap:Body>
</soap:Envelope>

Request specification

ProcessCustomer
GoodsOwnerCode string(400) Req. The name/code of your client
UserName string(50) Req. Your username
Password string(50) Req. Your password
Customer Customer Req. The customer object
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
Email 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.
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
Email 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.
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>
    <ProcessCustomerResponse xmlns="http://ongoingsystems.se/WSI">
      <ProcessCustomerResult>
        <ErrorMessage>string</ErrorMessage>
        <GoodsOwnerOrderNumber>string</GoodsOwnerOrderNumber>
        <OrderId>int</OrderId>
        <InOrderId>int</InOrderId>
        <ArticleDefId>int</ArticleDefId>
        <Success>boolean</Success>
        <Message>string</Message>
        <ShipmentId>int</ShipmentId>
      </ProcessCustomerResult>
    </ProcessCustomerResponse>
  </soap:Body>
</soap:Envelope>

Response specification

ProcessCustomerResponse
ProcessCustomerResult 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