ChangeOrderStatusBatch
Changes existing orders from one status to another in a batch. Can optionally update tracking numbers as well.Input Properties
ChangeOrderStatusBatchRequest
OrderBatchDetailRequest
Output Properties
ChangeOrderStatusBatchResponse
Http Request
POST https://yourcompany-api.exigo.com/3.0/orders/statusbatch HTTP/1.1 Content-Type: application/json Authorization: Basic base64Encoded(yourlogin@yourcompany:yourpassword){ "details": null, "orderStatusTy": "Incomplete" }
Http Response
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: length{ "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: sandboxapi4.exigo.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "https://api.exigo.com/ChangeOrderStatusBatch" <?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> <ChangeOrderStatusBatchRequest xmlns="http://api.exigo.com/"> <OrderStatus>Incomplete or Pending or CCDeclined or ACHDeclined or Canceled or CCPending or ACHPending or Accepted or Printed or Shipped or PendingInventory</OrderStatus> <Details> <OrderBatchDetailRequest> <OrderID>int</OrderID> <TrackingNumber1>string</TrackingNumber1> <TrackingNumber2>string</TrackingNumber2> <TrackingNumber3>string</TrackingNumber3> <TrackingNumber4>string</TrackingNumber4> <TrackingNumber5>string</TrackingNumber5> <ShippedDate>dateTime</ShippedDate> <OrderKey>string</OrderKey> </OrderBatchDetailRequest> </Details> <OrderStatusTy>string</OrderStatusTy> </ChangeOrderStatusBatchRequest> </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> <ChangeOrderStatusBatchResult xmlns="http://api.exigo.com/" /> </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 ChangeOrderStatusBatchRequest();
 
 
    //Add Details
    var details = new List<OrderBatchDetailRequest>();
 
    var detail1 = new OrderBatchDetailRequest();
    detail1.TrackingNumber1 = "1";
    detail1.OrderKey = "1";
    details.Add(detail1);
 
    var detail2 = new OrderBatchDetailRequest();
    detail2.TrackingNumber1 = "2";
    detail2.OrderKey = "2";
    details.Add(detail2);
 
    //Now attach the list to the request
    req.Details = details.ToArray();
    req.OrderStatusTy = "Incomplete";//The status to apply to all detail
 
    //Send Request to Server and Get Response
    var res = await api.ChangeOrderStatusBatchAsync(req);
 
    //Now examine the results:
}
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
    ChangeOrderStatusBatchRequest req = new ChangeOrderStatusBatchRequest();
 
 
    //Add Details
    List<OrderBatchDetailRequest> details = new List<OrderBatchDetailRequest>();
 
    OrderBatchDetailRequest detail1 = new OrderBatchDetailRequest();
    detail1.TrackingNumber1 = "1";
    detail1.OrderKey = "1";
    details.Add(detail1);
 
    OrderBatchDetailRequest detail2 = new OrderBatchDetailRequest();
    detail2.TrackingNumber1 = "2";
    detail2.OrderKey = "2";
    details.Add(detail2);
 
    //Now attach the list to the request
    req.Details = details.ToArray();
    req.OrderStatusTy = "Incomplete";//The status to apply to all detail
 
    //Send Request to Server and Get Response
    ChangeOrderStatusBatchResponse res = api.ChangeOrderStatusBatch(req);
 
    //Now examine the results:
}
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 ChangeOrderStatusBatchRequest()
 
 
    'Add Details
    Dim details As New List(Of OrderBatchDetailRequest)()
 
    Dim detail1 as new OrderBatchDetailRequest()
    detail1.TrackingNumber1 = "1"
    detail1.OrderKey = "1"
    details.Add(detail1)
 
    Dim detail2 as new OrderBatchDetailRequest()
    detail2.TrackingNumber1 = "2"
    detail2.OrderKey = "2"
    details.Add(detail2)
 
    'Now attach the list to the request
    req.Details = details.ToArray()
    req.OrderStatusTy = "Incomplete"
 
    'Send Request to Server and Get Response
    Dim res As ChangeOrderStatusBatchResponse = api.ChangeOrderStatusBatch(req)
 
    'Now examine the results:
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
 
 
    //Add Details
 
    $detail1->TrackingNumber1 = "1";
    $detail1->OrderKey = "1";
 
    $detail2->TrackingNumber1 = "2";
    $detail2->OrderKey = "2";
 
    //Now attach the list to the request
    req.Details = array(detail1,detail2);
    $req->OrderStatusTy = "Incomplete";
 
    //Send Request to Server and Get Response
    $res = $api.ChangeOrderStatusBatch($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
    ChangeOrderStatusBatchRequest req = new ChangeOrderStatusBatchRequest();
 
 
    //Add Details
    ArrayOfOrderBatchDetailRequest details = new ArrayOfOrderBatchDetailRequest();
 
    OrderBatchDetailRequest detail1 = new OrderBatchDetailRequest();
    detail1.setTrackingNumber1("1");
    detail1.setOrderKey("1");
    details.Add(detail1);
 
    OrderBatchDetailRequest detail2 = new OrderBatchDetailRequest();
    detail2.setTrackingNumber1("2");
    detail2.setOrderKey("2");
    details.Add(detail2);
 
    //Now attach the list to the request
    req.setDetails(details);
    req.setOrderStatusTy("Incomplete");
 
    //Send Request to Server and Get Response
    ChangeOrderStatusBatchResponse res = api.getExigoApiSoap().changeOrderStatusBatch(req, auth);
 
    //Now examine the results:
}
catch (Exception ex)
{
    System.out.println("Error: " + ex.getMessage());
}