Exigo Web Services API v2018.11.7.5

GetRealTimeCommissionDetail

Returns realtime commission detail for a customer/bonus.

Input Properties

GetRealTimeCommissionDetailRequest
PropertyData TypeNotes
CustomerIDInt32Unique numeric identifier for customer record.
PeriodType Int32
PeriodID Int32
BonusIDInt32
CustomerKeyStringOptional. Unique alpha numeric identifier for customer record. Exeption will occur if CustomerID & CustomerKey are provided.

Output Properties

GetRealTimeCommissionDetailResponse
PropertyData TypeNotes
CommissionDetailsCommissionDetailResponse[]
CommissionDetailResponse
PropertyData TypeNotes
FromCustomerIDInt32Unique numeric identifier for order from customer record.
FromCustomerNameString
OrderIDInt32Unique numeric identifier for order record.
LevelInt32
PaidLevelInt32
SourceAmountDecimal
PercentageDecimal
CommissionAmountDecimal
FromCustomerKeyStringUnique alpha numeric identifier for order from customer record.
OrderKeyStringUnique alpha numeric identifier for order record.

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: "http://api.exigo.com/GetRealTimeCommissionDetail"

<?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> <GetRealTimeCommissionDetailRequest xmlns="http://api.exigo.com/"> <CustomerID>int</CustomerID> <PeriodType>int</PeriodType> <PeriodID>int</PeriodID> <BonusID>int</BonusID> <CustomerKey>string</CustomerKey> </GetRealTimeCommissionDetailRequest> </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> <GetRealTimeCommissionDetailResult xmlns="http://api.exigo.com/"> <CommissionDetails> <CommissionDetailResponse> <FromCustomerID>int</FromCustomerID> <FromCustomerName>string</FromCustomerName> <OrderID>int</OrderID> <Level>int</Level> <PaidLevel>int</PaidLevel> <SourceAmount>decimal</SourceAmount> <Percentage>decimal</Percentage> <CommissionAmount>decimal</CommissionAmount> <FromCustomerKey>string</FromCustomerKey> <OrderKey>string</OrderKey> </CommissionDetailResponse> </CommissionDetails> </GetRealTimeCommissionDetailResult> </soap:Body> </soap:Envelope>

C#

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

    GetRealTimeCommissionDetailRequest req = new GetRealTimeCommissionDetailRequest();

 

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

    req.PeriodType = 1;

    req.PeriodID = 1;

    req.BonusID = 1;

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

 

    //Send Request to Server and Get Response

    GetRealTimeCommissionDetailResponse res = api.GetRealTimeCommissionDetail(req);

 

    //Now examine the results:

 

    foreach (CommissionDetailResponse commissionDetail in res.CommissionDetails)

    {

        Console.WriteLine("FromCustomerID: {0}", commissionDetail.FromCustomerID);

        Console.WriteLine("FromCustomerName: {0}", commissionDetail.FromCustomerName);

        Console.WriteLine("OrderID: {0}", commissionDetail.OrderID);

        Console.WriteLine("Level: {0}", commissionDetail.Level);

        Console.WriteLine("PaidLevel: {0}", commissionDetail.PaidLevel);

        Console.WriteLine("SourceAmount: {0}", commissionDetail.SourceAmount);

        Console.WriteLine("Percentage: {0}", commissionDetail.Percentage);

        Console.WriteLine("CommissionAmount: {0}", commissionDetail.CommissionAmount);

        Console.WriteLine("FromCustomerKey: {0}", commissionDetail.FromCustomerKey);

        Console.WriteLine("OrderKey: {0}", commissionDetail.OrderKey);

    }

}

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

 

    req.CustomerID = 1

    req.PeriodType = 1

    req.PeriodID = 1

    req.BonusID = 1

    req.CustomerKey = "1"

 

    'Send Request to Server and Get Response

    Dim res As GetRealTimeCommissionDetailResponse = api.GetRealTimeCommissionDetail(req)

 

    'Now examine the results:

 

    For Each commissionDetail As CommissionDetailResponse In res.CommissionDetails

        Console.WriteLine("FromCustomerID: {0}", commissionDetail.FromCustomerID)

        Console.WriteLine("FromCustomerName: {0}", commissionDetail.FromCustomerName)

        Console.WriteLine("OrderID: {0}", commissionDetail.OrderID)

        Console.WriteLine("Level: {0}", commissionDetail.Level)

        Console.WriteLine("PaidLevel: {0}", commissionDetail.PaidLevel)

        Console.WriteLine("SourceAmount: {0}", commissionDetail.SourceAmount)

        Console.WriteLine("Percentage: {0}", commissionDetail.Percentage)

        Console.WriteLine("CommissionAmount: {0}", commissionDetail.CommissionAmount)

        Console.WriteLine("FromCustomerKey: {0}", commissionDetail.FromCustomerKey)

        Console.WriteLine("OrderKey: {0}", commissionDetail.OrderKey)

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

    $req->PeriodID = 1;

    $req->BonusID = 1;

    $req->CustomerKey = "1";

 

    //Send Request to Server and Get Response

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

    GetRealTimeCommissionDetailRequest req = new GetRealTimeCommissionDetailRequest();

 

    req.setCustomerID(1);

    req.setPeriodType(1);

    req.setPeriodID(1);

    req.setBonusID(1);

    req.setCustomerKey("1");

 

    //Send Request to Server and Get Response

    GetRealTimeCommissionDetailResponse res = api.getExigoApiSoap().getRealTimeCommissionDetail(req, auth);

 

    //Now examine the results:

}

catch (Exception ex)

{

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

}

CSV

This method does not support csv output.