Exigo Web Services API v2022.12.19.1

CreateAutoOrder

Create a new Recurring Order template for an existing customer or a new customer as part of a transaction. Client provides schedule, item codes, quantity, and shipping info. Server calculates and commits data, then pricing, tax, shipping and volume info. You can also update/overwrite an existing autoorder by using the OverwriteExistingAutoOrder and ExistingAutoOrderID properties.

Input Properties

CreateAutoOrderRequest
PropertyData TypeNotes
CustomerIDInt32Unique numeric identifier for customer record.
Frequency FrequencyType
StartDateDateTime
StopDateDateTimeOptional. Leave null if there is no stop date.
SpecificDayIntervalInt32Optional. To be used with Frequency Type SpecificDays.
CurrencyCode StringOptional.
WarehouseID Int32Unique location for orders.
ShipMethodID Int32
PriceType Int32Controls which price band to use.
PaymentType AutoOrderPaymentTypePayment type.
ProcessType AutoOrderProcessTypeOptional.
FirstNameStringOptional.
MiddleNameStringOptional.
LastNameStringOptional.
NameSuffixStringOptional.
CompanyStringOptional.
Address1StringOptional.
Address2StringOptional.
Address3StringOptional.
CityStringOptional.
State StringOptional.
ZipStringOptional.
Country StringOptional.
CountyStringOptional.
EmailStringOptional.
PhoneStringOptional.
NotesStringOptional.
Other11StringOptional.
Other12StringOptional.
Other13StringOptional.
Other14StringOptional.
Other15StringOptional.
Other16StringOptional.
Other17StringOptional.
Other18StringOptional.
Other19StringOptional.
Other20StringOptional.
DescriptionStringOptional. Description for this auto order.
OverwriteExistingAutoOrderBoolean
ExistingAutoOrderIDInt32
DetailsOrderDetailRequest[]
CustomerKeyStringOptional. Unique alpha numeric identifier for customer record. Exeption will occur if CustomerID & CustomerKey are provided.
CustomFrequencyTyInt32Optional. To be used with Frequency Type Custom.
OrderDetailRequest
PropertyData TypeNotes
ItemCode StringOptional.
OrderDetailIDGuidOptional. Recommended to be filled for all dynamic kit items with proper parent-child relationships.
ParentOrderDetailIDGuidOptional. Recommended to be filled for all dynamic kit items with proper parent-child relationships.
QuantityDecimal
ParentItemCodeStringOptional. Use only when building kits.
PriceEachOverrideDecimalOptional. Overrides item setup.
TaxableEachOverrideDecimalOptional. Overrides item setup.
ShippingPriceEachOverrideDecimalOptional. Overrides item setup.
BusinessVolumeEachOverrideDecimalOptional. Overrides item setup.
CommissionableVolumeEachOverrideDecimalOptional. Overrides item setup.
Other1EachOverrideDecimalOptional. Overrides item setup.
Other2EachOverrideDecimalOptional. Overrides item setup.
Other3EachOverrideDecimalOptional. Overrides item setup.
Other4EachOverrideDecimalOptional. Overrides item setup.
Other5EachOverrideDecimalOptional. Overrides item setup.
Other6EachOverrideDecimalOptional. Overrides item setup.
Other7EachOverrideDecimalOptional. Overrides item setup.
Other8EachOverrideDecimalOptional. Overrides item setup.
Other9EachOverrideDecimalOptional. Overrides item setup.
Other10EachOverrideDecimalOptional. Overrides item setup.
DescriptionOverrideStringOptional. Overrides item setup.
Reference1StringOptional. Reference field.
AdvancedAutoOptionsAdvancedAutoOptionsRequestOptional. Advanced auto order options.
OrderLineInt32Optional. Sets OrderLine if sent.

Output Properties

CreateAutoOrderResponse
PropertyData TypeNotes
AutoOrderIDInt32
DescriptionString
TotalDecimal
SubTotalDecimal
TaxTotalDecimal
ShippingTotalDecimal
DiscountTotalDecimal
WeightTotalDecimal
BusinessVolumeTotalDecimal
CommissionableVolumeTotalDecimal
Other1Total Decimal
Other2Total Decimal
Other3Total Decimal
Other4Total Decimal
Other5Total Decimal
Other6Total Decimal
Other7Total Decimal
Other8Total Decimal
Other9Total Decimal
Other10Total Decimal
ShippingTaxDecimal
OrderTaxDecimal
DetailsOrderDetailResponse[]
OrderDetailResponse
PropertyData TypeNotes
OrderDetailIDGuid
ParentOrderDetailIDGuid
ItemCode String
DescriptionString
QuantityDecimal
PriceEachDecimal
PriceTotalDecimal
TaxDecimal
WeightEachDecimal
WeightDecimal
BusinessVolumeEachDecimal
BusinesVolumeDecimal
CommissionableVolumeEachDecimal
CommissionableVolumeDecimal
Other1EachDecimal
Other1 Decimal
Other2EachDecimal
Other2 Decimal
Other3EachDecimal
Other3 Decimal
Other4EachDecimal
Other4 Decimal
Other5EachDecimal
Other5 Decimal
Other6EachDecimal
Other6 Decimal
Other7EachDecimal
Other7 Decimal
Other8EachDecimal
Other8 Decimal
Other9EachDecimal
Other9 Decimal
Other10EachDecimal
Other10 Decimal
ParentItemCodeString
TaxableDecimal
FedTaxDecimal
StateTaxDecimal
CityTaxDecimal
CityLocalTaxDecimal
CountyTaxDecimal
CountyLocalTaxDecimal
ManualTaxDecimal
IsStateTaxOverrideBoolean
OrderLineInt32
Reference1String
ShippingPriceEachDecimal
HandlingFeeDecimal

Http Request

POST https://yourcompany-api.exigo.com/3.0/autoorder HTTP/1.1
Content-Type: application/json
Authorization: Basic base64Encoded(yourlogin@yourcompany:yourpassword)

{ "frequency": null, "startDate": "2024-03-28T00:00:00-05:00", "stopDate": "2024-03-28T00:00:00-05:00", "specificDayInterval": 1, "currencyCode": "usd", "warehouseID": 1, "shipMethodID": 1, "priceType": 1, "paymentType": null, "processType": null, "firstName": "", "lastName": "", "company": "", "address1": "", "address2": "", "address3": "", "city": "", "zip": "", "county": "", "email": "", "phone": "", "notes": "", "overwriteExistingAutoOrder": true, "existingAutoOrderID": 1, "details": null, "customerKey": "1", "customFrequencyTy": 1 }

Http Response

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

{ "autoOrderID": 1, "description": "", "total": null, "subTotal": null, "taxTotal": null, "shippingTotal": null, "discountTotal": null, "weightTotal": null, "businessVolumeTotal": null, "commissionableVolumeTotal": null, "other1Total": null, "other2Total": null, "other3Total": null, "other4Total": null, "other5Total": null, "other6Total": null, "other7Total": null, "other8Total": null, "other9Total": null, "other10Total": null, "shippingTax": null, "orderTax": null, "details": null, "result": null }

Soap Request

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /3.0/ExigoApi.asmx HTTP/1.1
Host: api.exigo.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://api.exigo.com/CreateAutoOrder"

<?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:Header> <ApiAuthentication xmlns="http://api.exigo.com/"> <LoginName>string</LoginName> <Password>string</Password> <Company>string</Company> <Identity>string</Identity> <RequestTimeUtc>dateTime</RequestTimeUtc> <Signature>string</Signature> </ApiAuthentication> </soap:Header> <soap:Body> <CreateAutoOrderRequest xmlns="http://api.exigo.com/"> <CustomerID>int</CustomerID> <Frequency>Weekly or BiWeekly or Monthly or BiMonthly or Quarterly or SemiYearly or Yearly or EveryFourWeeks or EverySixWeeks or EveryEightWeeks or EveryTwelveWeeks or SpecificDays or Custom</Frequency> <StartDate>dateTime</StartDate> <StopDate>dateTime</StopDate> <SpecificDayInterval>int</SpecificDayInterval> <CurrencyCode>string</CurrencyCode> <WarehouseID>int</WarehouseID> <ShipMethodID>int</ShipMethodID> <PriceType>int</PriceType> <PaymentType>PrimaryCreditCard or SecondaryCreditCard or CheckingAccount or WillSendPayment or BankDraft or PrimaryWalletAccount or SecondaryWalletAccount or ThirdWalletAccount or FourthWalletAccount or FifthWalletAccount</PaymentType> <ProcessType>AlwaysProcess or Conditional</ProcessType> <FirstName>string</FirstName> <MiddleName>string</MiddleName> <LastName>string</LastName> <NameSuffix>string</NameSuffix> <Company>string</Company> <Address1>string</Address1> <Address2>string</Address2> <Address3>string</Address3> <City>string</City> <State>string</State> <Zip>string</Zip> <Country>string</Country> <County>string</County> <Email>string</Email> <Phone>string</Phone> <Notes>string</Notes> <Other11>string</Other11> <Other12>string</Other12> <Other13>string</Other13> <Other14>string</Other14> <Other15>string</Other15> <Other16>string</Other16> <Other17>string</Other17> <Other18>string</Other18> <Other19>string</Other19> <Other20>string</Other20> <Description>string</Description> <OverwriteExistingAutoOrder>boolean</OverwriteExistingAutoOrder> <ExistingAutoOrderID>int</ExistingAutoOrderID> <Details> <OrderDetailRequest> <ItemCode>string</ItemCode> <OrderDetailID>guid</OrderDetailID> <ParentOrderDetailID>guid</ParentOrderDetailID> <Quantity>decimal</Quantity> <ParentItemCode>string</ParentItemCode> <PriceEachOverride>decimal</PriceEachOverride> <TaxableEachOverride>decimal</TaxableEachOverride> <ShippingPriceEachOverride>decimal</ShippingPriceEachOverride> <BusinessVolumeEachOverride>decimal</BusinessVolumeEachOverride> <CommissionableVolumeEachOverride>decimal</CommissionableVolumeEachOverride> <Other1EachOverride>decimal</Other1EachOverride> <Other2EachOverride>decimal</Other2EachOverride> <Other3EachOverride>decimal</Other3EachOverride> <Other4EachOverride>decimal</Other4EachOverride> <Other5EachOverride>decimal</Other5EachOverride> <Other6EachOverride>decimal</Other6EachOverride> <Other7EachOverride>decimal</Other7EachOverride> <Other8EachOverride>decimal</Other8EachOverride> <Other9EachOverride>decimal</Other9EachOverride> <Other10EachOverride>decimal</Other10EachOverride> <DescriptionOverride>string</DescriptionOverride> <Reference1>string</Reference1> <AdvancedAutoOptions> <ProcessWhileDate>dateTime</ProcessWhileDate> <SkipUntilDate>dateTime</SkipUntilDate> <DetailStartDate>dateTime</DetailStartDate> <DetailEndDate>dateTime</DetailEndDate> <DetailInterval>int</DetailInterval> </AdvancedAutoOptions> <OrderLine>int</OrderLine> </OrderDetailRequest> </Details> <CustomerKey>string</CustomerKey> <CustomFrequencyTy>int</CustomFrequencyTy> </CreateAutoOrderRequest> </soap:Body> </soap:Envelope>

Soap Response

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> <CreateAutoOrderResult xmlns="http://api.exigo.com/"> <AutoOrderID>int</AutoOrderID> <Description>string</Description> <Total>decimal</Total> <SubTotal>decimal</SubTotal> <TaxTotal>decimal</TaxTotal> <ShippingTotal>decimal</ShippingTotal> <DiscountTotal>decimal</DiscountTotal> <WeightTotal>decimal</WeightTotal> <BusinessVolumeTotal>decimal</BusinessVolumeTotal> <CommissionableVolumeTotal>decimal</CommissionableVolumeTotal> <Other1Total>decimal</Other1Total> <Other2Total>decimal</Other2Total> <Other3Total>decimal</Other3Total> <Other4Total>decimal</Other4Total> <Other5Total>decimal</Other5Total> <Other6Total>decimal</Other6Total> <Other7Total>decimal</Other7Total> <Other8Total>decimal</Other8Total> <Other9Total>decimal</Other9Total> <Other10Total>decimal</Other10Total> <ShippingTax>decimal</ShippingTax> <OrderTax>decimal</OrderTax> <Details> <OrderDetailResponse> <OrderDetailID>guid</OrderDetailID> <ParentOrderDetailID>guid</ParentOrderDetailID> <ItemCode>string</ItemCode> <Description>string</Description> <Quantity>decimal</Quantity> <PriceEach>decimal</PriceEach> <PriceTotal>decimal</PriceTotal> <Tax>decimal</Tax> <WeightEach>decimal</WeightEach> <Weight>decimal</Weight> <BusinessVolumeEach>decimal</BusinessVolumeEach> <BusinesVolume>decimal</BusinesVolume> <CommissionableVolumeEach>decimal</CommissionableVolumeEach> <CommissionableVolume>decimal</CommissionableVolume> <Other1Each>decimal</Other1Each> <Other1>decimal</Other1> <Other2Each>decimal</Other2Each> <Other2>decimal</Other2> <Other3Each>decimal</Other3Each> <Other3>decimal</Other3> <Other4Each>decimal</Other4Each> <Other4>decimal</Other4> <Other5Each>decimal</Other5Each> <Other5>decimal</Other5> <Other6Each>decimal</Other6Each> <Other6>decimal</Other6> <Other7Each>decimal</Other7Each> <Other7>decimal</Other7> <Other8Each>decimal</Other8Each> <Other8>decimal</Other8> <Other9Each>decimal</Other9Each> <Other9>decimal</Other9> <Other10Each>decimal</Other10Each> <Other10>decimal</Other10> <ParentItemCode>string</ParentItemCode> <Taxable>decimal</Taxable> <FedTax>decimal</FedTax> <StateTax>decimal</StateTax> <CityTax>decimal</CityTax> <CityLocalTax>decimal</CityLocalTax> <CountyTax>decimal</CountyTax> <CountyLocalTax>decimal</CountyLocalTax> <ManualTax>decimal</ManualTax> <IsStateTaxOverride>boolean</IsStateTaxOverride> <OrderLine>int</OrderLine> <Reference1>string</Reference1> <ShippingPriceEach>decimal</ShippingPriceEach> <HandlingFee>decimal</HandlingFee> </OrderDetailResponse> </Details> </CreateAutoOrderResult> </soap:Body> </soap:Envelope>

C# Rest Client

Install Nuget package Exigo.Api.Client

try

{

    //Create Api Client

    var api = new ExigoApiClient("yourcmpany", "yourlogin", "yourpassword");

 

    //Create Request

    var req = new CreateAutoOrderRequest();

 

    req.Frequency = FrequencyType.Weekly;

    req.StartDate = DateTime.Today;

    req.StopDate = DateTime.Today;               //Leave null if there is no stop date.

    req.SpecificDayInterval = 1;    //To be used with Frequency Type SpecificDays

    req.CurrencyCode = "usd";

    req.WarehouseID = 1;            //Unique location for orders

    req.ShipMethodID = 1;

    req.PriceType = 1;              //Controls which price band to use

    req.PaymentType = AutoOrderPaymentType.PrimaryCreditCard;            //Payment type.

    req.ProcessType = AutoOrderProcessType.AlwaysProcess;

    req.FirstName = "1";

    req.LastName = "1";

    req.Company = "1";

    req.Address1 = "1";

    req.Address2 = "1";

    req.Address3 = "1";

    req.City = "1";

    req.Zip = "1";

    req.County = "1";

    req.Email = "1";

    req.Phone = "1";

    req.Notes = "1";

    req.OverwriteExistingAutoOrder = true;

    req.ExistingAutoOrderID = 1;

 

    //Add Details

    var details = new List<OrderDetailRequest>();

 

    var detail1 = new OrderDetailRequest();

    detail1.ItemCode = "1";

    detail1.Quantity = 1;

    details.Add(detail1);

 

    var detail2 = new OrderDetailRequest();

    detail2.ItemCode = "2";

    detail2.Quantity = 2;

    details.Add(detail2);

 

    //Now attach the list to the request

    req.Details = details.ToArray();

    req.CustomerKey = "1";          //Unique alpha numeric identifier for customer record. Exeption will occur if CustomerID & CustomerKey are provided.

    req.CustomFrequencyTy = 1;      //To be used with Frequency Type Custom

 

    //Send Request to Server and Get Response

    var res = await api.CreateAutoOrderAsync(req);

 

    //Now examine the results:

    Console.WriteLine("AutoOrderID: {0}", res.AutoOrderID);

    Console.WriteLine("Description: {0}", res.Description);

    Console.WriteLine("Total: {0}", res.Total);

    Console.WriteLine("SubTotal: {0}", res.SubTotal);

    Console.WriteLine("TaxTotal: {0}", res.TaxTotal);

    Console.WriteLine("ShippingTotal: {0}", res.ShippingTotal);

    Console.WriteLine("DiscountTotal: {0}", res.DiscountTotal);

    Console.WriteLine("WeightTotal: {0}", res.WeightTotal);

    Console.WriteLine("BusinessVolumeTotal: {0}", res.BusinessVolumeTotal);

    Console.WriteLine("CommissionableVolumeTotal: {0}", res.CommissionableVolumeTotal);

    Console.WriteLine("ShippingTax: {0}", res.ShippingTax);

    Console.WriteLine("OrderTax: {0}", res.OrderTax);

 

    foreach (var orderDetail in res.Details)

    {

        Console.WriteLine("OrderDetailID: {0}", orderDetail.OrderDetailID);

        Console.WriteLine("ParentOrderDetailID: {0}", orderDetail.ParentOrderDetailID);

        Console.WriteLine("ItemCode: {0}", orderDetail.ItemCode);

        Console.WriteLine("Description: {0}", orderDetail.Description);

        Console.WriteLine("Quantity: {0}", orderDetail.Quantity);

        Console.WriteLine("OrderLine: {0}", orderDetail.OrderLine);

        Console.WriteLine("Reference1: {0}", orderDetail.Reference1);

        Console.WriteLine("ShippingPriceEach: {0}", orderDetail.ShippingPriceEach);

    }

}

catch (Exception ex)

{

    Console.WriteLine("Error: " + ex.Message);

}

C# Soap Client

try

{

    //Create Main API Context Object

    ExigoApi api = new ExigoApi();

 

    //Create Authentication Header

    ApiAuthentication auth = new ApiAuthentication();

    auth.LoginName = "yourLoginName";

    auth.Password = "yourPassword";

    auth.Company = "yourCompany";

    api.ApiAuthenticationValue = auth;

 

    //Create Request

    CreateAutoOrderRequest req = new CreateAutoOrderRequest();

 

    req.Frequency = FrequencyType.Weekly;

    req.StartDate = DateTime.Today;

    req.StopDate = DateTime.Today;               //Leave null if there is no stop date.

    req.SpecificDayInterval = 1;    //To be used with Frequency Type SpecificDays

    req.CurrencyCode = "usd";

    req.WarehouseID = 1;            //Unique location for orders

    req.ShipMethodID = 1;

    req.PriceType = 1;              //Controls which price band to use

    req.PaymentType = AutoOrderPaymentType.PrimaryCreditCard;            //Payment type.

    req.ProcessType = AutoOrderProcessType.AlwaysProcess;

    req.FirstName = "1";

    req.LastName = "1";

    req.Company = "1";

    req.Address1 = "1";

    req.Address2 = "1";

    req.Address3 = "1";

    req.City = "1";

    req.Zip = "1";

    req.County = "1";

    req.Email = "1";

    req.Phone = "1";

    req.Notes = "1";

    req.OverwriteExistingAutoOrder = true;

    req.ExistingAutoOrderID = 1;

 

    //Add Details

    List<OrderDetailRequest> details = new List<OrderDetailRequest>();

 

    OrderDetailRequest detail1 = new OrderDetailRequest();

    detail1.ItemCode = "1";

    detail1.Quantity = 1;

    details.Add(detail1);

 

    OrderDetailRequest detail2 = new OrderDetailRequest();

    detail2.ItemCode = "2";

    detail2.Quantity = 2;

    details.Add(detail2);

 

    //Now attach the list to the request

    req.Details = details.ToArray();

    req.CustomerKey = "1";          //Unique alpha numeric identifier for customer record. Exeption will occur if CustomerID & CustomerKey are provided.

    req.CustomFrequencyTy = 1;      //To be used with Frequency Type Custom

 

    //Send Request to Server and Get Response

    CreateAutoOrderResponse res = api.CreateAutoOrder(req);

 

    //Now examine the results:

    Console.WriteLine("AutoOrderID: {0}", res.AutoOrderID);

    Console.WriteLine("Description: {0}", res.Description);

    Console.WriteLine("Total: {0}", res.Total);

    Console.WriteLine("SubTotal: {0}", res.SubTotal);

    Console.WriteLine("TaxTotal: {0}", res.TaxTotal);

    Console.WriteLine("ShippingTotal: {0}", res.ShippingTotal);

    Console.WriteLine("DiscountTotal: {0}", res.DiscountTotal);

    Console.WriteLine("WeightTotal: {0}", res.WeightTotal);

    Console.WriteLine("BusinessVolumeTotal: {0}", res.BusinessVolumeTotal);

    Console.WriteLine("CommissionableVolumeTotal: {0}", res.CommissionableVolumeTotal);

    Console.WriteLine("ShippingTax: {0}", res.ShippingTax);

    Console.WriteLine("OrderTax: {0}", res.OrderTax);

 

    foreach (OrderDetailResponse orderDetail in res.Details)

    {

        Console.WriteLine("OrderDetailID: {0}", orderDetail.OrderDetailID);

        Console.WriteLine("ParentOrderDetailID: {0}", orderDetail.ParentOrderDetailID);

        Console.WriteLine("ItemCode: {0}", orderDetail.ItemCode);

        Console.WriteLine("Description: {0}", orderDetail.Description);

        Console.WriteLine("Quantity: {0}", orderDetail.Quantity);

        Console.WriteLine("OrderLine: {0}", orderDetail.OrderLine);

        Console.WriteLine("Reference1: {0}", orderDetail.Reference1);

        Console.WriteLine("ShippingPriceEach: {0}", orderDetail.ShippingPriceEach);

    }

}

catch (Exception ex)

{

    Console.WriteLine("Error: " + ex.Message);

}

VB.Net

Try

    'Create Main API Context Object

    Dim api as new ExigoApi()

 

    'Create Authentication Header

    Dim auth as new ApiAuthentication()

    auth.LoginName = "yourLoginName"

    auth.Password = "yourPassword"

    auth.Company = "yourCompany"

    api.ApiAuthenticationValue = auth

 

    'Create Request

    Dim req as new CreateAutoOrderRequest()

 

    req.Frequency = FrequencyType.Weekly

    req.StartDate = DateTime.Today

    req.StopDate = DateTime.Today

    req.SpecificDayInterval = 1

    req.CurrencyCode = "usd"

    req.WarehouseID = 1

    req.ShipMethodID = 1

    req.PriceType = 1

    req.PaymentType = AutoOrderPaymentType.PrimaryCreditCard

    req.ProcessType = AutoOrderProcessType.AlwaysProcess

    req.FirstName = "1"

    req.LastName = "1"

    req.Company = "1"

    req.Address1 = "1"

    req.Address2 = "1"

    req.Address3 = "1"

    req.City = "1"

    req.Zip = "1"

    req.County = "1"

    req.Email = "1"

    req.Phone = "1"

    req.Notes = "1"

    req.OverwriteExistingAutoOrder = true

    req.ExistingAutoOrderID = 1

 

    'Add Details

    Dim details As New List(Of OrderDetailRequest)()

 

    Dim detail1 as new OrderDetailRequest()

    detail1.ItemCode = "1"

    detail1.Quantity = 1

    details.Add(detail1)

 

    Dim detail2 as new OrderDetailRequest()

    detail2.ItemCode = "2"

    detail2.Quantity = 2

    details.Add(detail2)

 

    'Now attach the list to the request

    req.Details = details.ToArray()

    req.CustomerKey = "1"

    req.CustomFrequencyTy = 1

 

    'Send Request to Server and Get Response

    Dim res As CreateAutoOrderResponse = api.CreateAutoOrder(req)

 

    'Now examine the results:

    Console.WriteLine("AutoOrderID: {0}", res.AutoOrderID)

    Console.WriteLine("Description: {0}", res.Description)

    Console.WriteLine("Total: {0}", res.Total)

    Console.WriteLine("SubTotal: {0}", res.SubTotal)

    Console.WriteLine("TaxTotal: {0}", res.TaxTotal)

    Console.WriteLine("ShippingTotal: {0}", res.ShippingTotal)

    Console.WriteLine("DiscountTotal: {0}", res.DiscountTotal)

    Console.WriteLine("WeightTotal: {0}", res.WeightTotal)

    Console.WriteLine("BusinessVolumeTotal: {0}", res.BusinessVolumeTotal)

    Console.WriteLine("CommissionableVolumeTotal: {0}", res.CommissionableVolumeTotal)

    Console.WriteLine("ShippingTax: {0}", res.ShippingTax)

    Console.WriteLine("OrderTax: {0}", res.OrderTax)

 

    For Each orderDetail As OrderDetailResponse In res.Details

        Console.WriteLine("OrderDetailID: {0}", orderDetail.OrderDetailID)

        Console.WriteLine("ParentOrderDetailID: {0}", orderDetail.ParentOrderDetailID)

        Console.WriteLine("ItemCode: {0}", orderDetail.ItemCode)

        Console.WriteLine("Description: {0}", orderDetail.Description)

        Console.WriteLine("Quantity: {0}", orderDetail.Quantity)

        Console.WriteLine("OrderLine: {0}", orderDetail.OrderLine)

        Console.WriteLine("Reference1: {0}", orderDetail.Reference1)

        Console.WriteLine("ShippingPriceEach: {0}", orderDetail.ShippingPriceEach)

    Next

Catch ex As Exception

    Console.WriteLine("Error: " & ex.Message)

End Try

PHP

Note: PHP is not officially supported.

<?php

try

{

    //Setup the SoapClient and Authentication

    $api = new SoapClient("http://api.exigo.com/3.0/ExigoApi.asmx?WSDL");

    $ns = "http://api.exigo.com/";

    $auth = array()

    $auth["LoginName"] = new SoapVar("yourLoginName",XSD_STRING,null,null,null,$ns);

    $auth["Password"] = new SoapVar("yourPassword",XSD_STRING,null,null,null,$ns);

    $auth["Company"] = new SoapVar("yourCompany",XSD_STRING,null,null,null,$ns);

    $headerBody = new SoapVar($auth, SOAP_ENC_OBJECT);

    $header = new SoapHeader($ns, 'ApiAuthentication', $headerBody);

    $api->__setSoapHeaders(array($header));

 

    //Create Request

 

    $req->Frequency = 1;

    $req->StartDate = 1;

    $req->StopDate = 1;

    $req->SpecificDayInterval = 1;

    $req->CurrencyCode = "usd";

    $req->WarehouseID = 1;

    $req->ShipMethodID = 1;

    $req->PriceType = 1;

    $req->PaymentType = 1;

    $req->ProcessType = 1;

    $req->FirstName = "1";

    $req->LastName = "1";

    $req->Company = "1";

    $req->Address1 = "1";

    $req->Address2 = "1";

    $req->Address3 = "1";

    $req->City = "1";

    $req->Zip = "1";

    $req->County = "1";

    $req->Email = "1";

    $req->Phone = "1";

    $req->Notes = "1";

    $req->OverwriteExistingAutoOrder = 1;

    $req->ExistingAutoOrderID = 1;

 

    //Add Details

 

    $detail1->ItemCode = "1";

    $detail1->Quantity = 1;

 

    $detail2->ItemCode = "2";

    $detail2->Quantity = 2;

 

    //Now attach the list to the request

    req.Details = array(detail1,detail2);

    $req->CustomerKey = "1";

    $req->CustomFrequencyTy = 1;

 

    //Send Request to Server and Get Response

    $res = $api.CreateAutoOrder($req);

 

    //Now examine the results:

}

catch (SoapFault $ex)

{

    echo "Error: ", $ex->getMessage();

}

?>

Java

Note: Java is not officially supported.

try

{

    //Create Main API Context Object

    ExigoApi api = new ExigoApi();

 

    //Create Authentication Header

    ApiAuthentication auth = new ApiAuthentication();

    auth.setLoginName("yourLoginName");

    auth.setPassword("yourPassword");

    auth.setCompany("yourCompany");

    api.setApiAuthenticationValue(auth);

 

    //Create Request

    CreateAutoOrderRequest req = new CreateAutoOrderRequest();

 

    req.setFrequency(1);

    req.setStartDate(1);

    req.setStopDate(1);

    req.setSpecificDayInterval(1);

    req.setCurrencyCode("usd");

    req.setWarehouseID(1);

    req.setShipMethodID(1);

    req.setPriceType(1);

    req.setPaymentType(1);

    req.setProcessType(1);

    req.setFirstName("1");

    req.setLastName("1");

    req.setCompany("1");

    req.setAddress1("1");

    req.setAddress2("1");

    req.setAddress3("1");

    req.setCity("1");

    req.setZip("1");

    req.setCounty("1");

    req.setEmail("1");

    req.setPhone("1");

    req.setNotes("1");

    req.setOverwriteExistingAutoOrder(1);

    req.setExistingAutoOrderID(1);

 

    //Add Details

    ArrayOfOrderDetailRequest details = new ArrayOfOrderDetailRequest();

 

    OrderDetailRequest detail1 = new OrderDetailRequest();

    detail1.setItemCode("1");

    detail1.setQuantity(1);

    details.Add(detail1);

 

    OrderDetailRequest detail2 = new OrderDetailRequest();

    detail2.setItemCode("2");

    detail2.setQuantity(2);

    details.Add(detail2);

 

    //Now attach the list to the request

    req.setDetails(details);

    req.setCustomerKey("1");

    req.setCustomFrequencyTy(1);

 

    //Send Request to Server and Get Response

    CreateAutoOrderResponse res = api.getExigoApiSoap().createAutoOrder(req, auth);

 

    //Now examine the results:

}

catch (Exception ex)

{

    System.out.println("Error: " + ex.getMessage());

}

CSV

This method does not support csv output.