Exigo Web Services API v2022.12.19.1

GetSubscriptions

Get all subscriptions for a customer.

Input Properties

GetSubscriptionsRequest
PropertyData TypeNotes
CustomerIDInt32Unique numeric identifier for customer record.
CustomerKeyStringOptional. Unique alpha numeric identifier for customer record. Exeption will occur if CustomerID & CustomerKey are provided.
IncludeInactiveBooleanOptional. Determines whether canceled subscriptions are fetched. Defaults to False.

Output Properties

GetSubscriptionsResponse
PropertyData TypeNotes
SubscriptionsSubscriptionResponse[]
SubscriptionResponse
PropertyData TypeNotes
SubscriptionID Int32
Status SubscriptionStatus
StartDateDateTime
ExpireDateDateTime

Http Request

GET https://yourcompany-api.exigo.com/3.0/subscriptions?customerID=1
  &customerKey=1
  &includeInactive=1
Authorization: Basic base64Encoded
                            

Http Response

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

{ "subscriptions": 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/GetSubscriptions"

<?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> <GetSubscriptionsRequest xmlns="http://api.exigo.com/"> <CustomerID>int</CustomerID> <CustomerKey>string</CustomerKey> <IncludeInactive>boolean</IncludeInactive> </GetSubscriptionsRequest> </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> <GetSubscriptionsResult xmlns="http://api.exigo.com/"> <Subscriptions> <SubscriptionResponse> <SubscriptionID>int</SubscriptionID> <Status>NotFound or Active or Expired or Cancelled</Status> <StartDate>dateTime</StartDate> <ExpireDate>dateTime</ExpireDate> </SubscriptionResponse> </Subscriptions> </GetSubscriptionsResult> </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 GetSubscriptionsRequest();

 

    req.CustomerID = 1;             //Unique numeric identifier for customer record.

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

    req.IncludeInactive = true;        //Determines whether canceled subscriptions are fetched.

 

    //Send Request to Server and Get Response

    var res = await api.GetSubscriptionsAsync(req);

 

    //Now examine the results:

 

    foreach (var subscription in res.Subscriptions)

    {

        Console.WriteLine("SubscriptionID: {0}", subscription.SubscriptionID);

        Console.WriteLine("Status: {0}", subscription.Status);

        Console.WriteLine("StartDate: {0}", subscription.StartDate);

        Console.WriteLine("ExpireDate: {0}", subscription.ExpireDate);

    }

}

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

    GetSubscriptionsRequest req = new GetSubscriptionsRequest();

 

    req.CustomerID = 1;             //Unique numeric identifier for customer record.

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

    req.IncludeInactive = true;        //Determines whether canceled subscriptions are fetched.

 

    //Send Request to Server and Get Response

    GetSubscriptionsResponse res = api.GetSubscriptions(req);

 

    //Now examine the results:

 

    foreach (SubscriptionResponse subscription in res.Subscriptions)

    {

        Console.WriteLine("SubscriptionID: {0}", subscription.SubscriptionID);

        Console.WriteLine("Status: {0}", subscription.Status);

        Console.WriteLine("StartDate: {0}", subscription.StartDate);

        Console.WriteLine("ExpireDate: {0}", subscription.ExpireDate);

    }

}

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 GetSubscriptionsRequest()

 

    req.CustomerID = 1

    req.CustomerKey = "1"

    req.IncludeInactive = true

 

    'Send Request to Server and Get Response

    Dim res As GetSubscriptionsResponse = api.GetSubscriptions(req)

 

    'Now examine the results:

 

    For Each subscription As SubscriptionResponse In res.Subscriptions

        Console.WriteLine("SubscriptionID: {0}", subscription.SubscriptionID)

        Console.WriteLine("Status: {0}", subscription.Status)

        Console.WriteLine("StartDate: {0}", subscription.StartDate)

        Console.WriteLine("ExpireDate: {0}", subscription.ExpireDate)

    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->CustomerID = 1;

    $req->CustomerKey = "1";

    $req->IncludeInactive = 1;

 

    //Send Request to Server and Get Response

    $res = $api.GetSubscriptions($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

    GetSubscriptionsRequest req = new GetSubscriptionsRequest();

 

    req.setCustomerID(1);

    req.setCustomerKey("1");

    req.setIncludeInactive(1);

 

    //Send Request to Server and Get Response

    GetSubscriptionsResponse res = api.getExigoApiSoap().getSubscriptions(req, auth);

 

    //Now examine the results:

}

catch (Exception ex)

{

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

}

CSV

This method does not support csv output.