Exigo Web Services API v2022.12.19.1

CreatePointTransaction

Create a transaction that adjusts or redeems points from a customer's point account.

Input Properties

CreatePointTransactionRequest
PropertyData TypeNotes
PointAccountID Int32
CustomerIDInt32Unique numeric identifier for customer record.
AmountDecimalThe amount to apply to the point account. A positive amount will add points while a negative amount will subtract points from the account.
ReferenceStringOptional.
CustomerKeyStringOptional. Unique alpha numeric identifier for customer record. Exeption will occur if CustomerID & CustomerKey are provided.
PointTransactionTy StringOptional. The type of point transaction. This property is for logging purposes only and has no bearing on how the points are applied to the point account.

Output Properties

CreatePointTransactionResponse
PropertyData TypeNotes
TransactionIDInt32Newly created unique identifier for a point transaction record.

Http Request

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

{ "pointAccountID": 1, "customerID": 1, "amount": null, "reference": "", "customerKey": "1", "pointTransactionTy": "PointRedemptionPayment" }

Http Response

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

{ "transactionID": 1, "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/CreatePointTransaction"

<?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> <CreatePointTransactionRequest xmlns="http://api.exigo.com/"> <PointAccountID>int</PointAccountID> <CustomerID>int</CustomerID> <Amount>decimal</Amount> <Reference>string</Reference> <TransactionType>Redemption or Adjustment</TransactionType> <CustomerKey>string</CustomerKey> <PointTransactionTy>string</PointTransactionTy> </CreatePointTransactionRequest> </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> <CreatePointTransactionResult xmlns="http://api.exigo.com/"> <TransactionID>int</TransactionID> </CreatePointTransactionResult> </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 CreatePointTransactionRequest();

 

    req.PointAccountID = 1;

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

    req.Amount = 1;                 //The amount to apply to the point account. A positive amount will add points while a negative amount will subtract points from the account.

    req.Reference = "1";

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

    req.PointTransactionTy = "PointRedemptionPayment";//The type of point transaction. This property is for logging purposes only and has no bearing on how the points are applied to the point account.

 

    //Send Request to Server and Get Response

    var res = await api.CreatePointTransactionAsync(req);

 

    //Now examine the results:

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

}

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

    CreatePointTransactionRequest req = new CreatePointTransactionRequest();

 

    req.PointAccountID = 1;

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

    req.Amount = 1;                 //The amount to apply to the point account. A positive amount will add points while a negative amount will subtract points from the account.

    req.Reference = "1";

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

    req.PointTransactionTy = "PointRedemptionPayment";//The type of point transaction. This property is for logging purposes only and has no bearing on how the points are applied to the point account.

 

    //Send Request to Server and Get Response

    CreatePointTransactionResponse res = api.CreatePointTransaction(req);

 

    //Now examine the results:

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

}

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

 

    req.PointAccountID = 1

    req.CustomerID = 1

    req.Amount = 1

    req.Reference = "1"

    req.CustomerKey = "1"

    req.PointTransactionTy = "PointRedemptionPayment"

 

    'Send Request to Server and Get Response

    Dim res As CreatePointTransactionResponse = api.CreatePointTransaction(req)

 

    'Now examine the results:

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

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

    $req->CustomerID = 1;

    $req->Amount = 1;

    $req->Reference = "1";

    $req->CustomerKey = "1";

    $req->PointTransactionTy = "PointRedemptionPayment";

 

    //Send Request to Server and Get Response

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

    CreatePointTransactionRequest req = new CreatePointTransactionRequest();

 

    req.setPointAccountID(1);

    req.setCustomerID(1);

    req.setAmount(1);

    req.setReference("1");

    req.setCustomerKey("1");

    req.setPointTransactionTy("PointRedemptionPayment");

 

    //Send Request to Server and Get Response

    CreatePointTransactionResponse res = api.getExigoApiSoap().createPointTransaction(req, auth);

 

    //Now examine the results:

}

catch (Exception ex)

{

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

}

CSV

This method does not support csv output.