discussio / raas
With this RESTful API you can integrate a global reward or incentive program into your app or platform. If you have any questions or if you'd like to receive your own credentials, please contact us at devsupport@tangocard.com.
This package's canonical repository appears to be gone and the package has been frozen as a result.
Requires
- php: >=5.4.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- apimatic/jsonmapper: ~1.3.0
- mashape/unirest-php: ~3.0.1
Requires (Dev)
This package is not auto-updated.
Last update: 2023-03-16 07:33:22 UTC
README
With this RESTful API you can integrate a global reward or incentive program into your app or platform. If you have any questions or if you'd like to receive your own credentials, please contact us at devsupport@tangocard.com.
How to Build
The generated code has dependencies over external libraries like UniRest. These dependencies are defined in the composer.json
file that comes with the SDK.
To resolve these dependencies, we use the Composer package manager which requires PHP greater than 5.3.2 installed in your system.
Visit https://getcomposer.org/download/ to download the installer file for Composer and run it in your system.
Open command prompt and type composer --version
. This should display the current version of the Composer installed if the installation was successful.
- Using command line, navigate to the directory containing the generated files (including
composer.json
) for the SDK. - Run the command
composer install
. This should install all the required dependencies and create thevendor
directory in your project directory.
[For Windows Users Only] Configuring CURL Certificate Path in php.ini
CURL used to include a list of accepted CAs, but no longer bundles ANY CA certs. So by default it will reject all SSL certificates as unverifiable. You will have to get your CA's cert and point curl at it. The steps are as follows:
- Download the certificate bundle (.pem file) from https://curl.haxx.se/docs/caextract.html on to your system.
- Add curl.cainfo = "PATH_TO/cacert.pem" to your php.ini file located in your php installation. “PATH_TO” must be an absolute path containing the .pem file.
[curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. ;curl.cainfo =
How to Use
The following section explains how to use the Raas library in a new project.
1. Open Project in an IDE
Open an IDE for PHP like PhpStorm. The basic workflow presented here is also applicable if you prefer using a different editor or IDE.
Click on Open
in PhpStorm to browse to your generated SDK directory and then click OK
.
2. Add a new Test Project
Create a new directory by right clicking on the solution name as shown below:
Name the directory as "test"
Add a PHP file to this project
Name it "testSDK"
Depending on your project setup, you might need to include composer's autoloader in your PHP code to enable auto loading of classes.
require_once "../vendor/autoload.php";
It is important that the path inside require_once correctly points to the file autoload.php
inside the vendor directory created during dependency installations.
After this you can add code to initialize the client library and acquire the instance of a Controller class. Sample code to initialize the client library and using controller methods is given in the subsequent sections.
3. Run the Test Project
To run your project you must set the Interpreter for your project. Interpreter is the PHP engine installed on your computer.
Open Settings
from File
menu.
Select PHP
from within Languages & Frameworks
Browse for Interpreters near the Interpreter
option and choose your interpreter.
Once the interpreter is selected, click OK
To run your project, right click on your PHP file inside your Test project and click on Run
How to Test
Unit tests in this SDK can be run using PHPUnit.
- First install the dependencies using composer including the
require-dev
dependencies. - Run
vendor\bin\phpunit --verbose
from commandline to execute tests. If you have installed PHPUnit globally, run tests usingphpunit --verbose
instead.
You can change the PHPUnit test configuration in the phpunit.xml
file.
Initialization
Authentication
In order to setup authentication and initialization of the API client, you need the following information.
Parameter | Description |
---|---|
platformName | RaaS v2 API Platform Name |
platformKey | RaaS v2 API Platform Key |
API client can be initialized as following.
$platformName = 'QAPlatform2'; // RaaS v2 API Platform Name $platformKey = 'apYPfT6HNONpDRUj3CLGWYt7gvIHONpDRUYPfT6Hj'; // RaaS v2 API Platform Key $client = new RaasLib\RaasClient($platformName, $platformKey);
Class Reference
List of Controllers
- OrdersController
- AccountsController
- CatalogController
- ExchangeRatesController
- StatusController
- CustomersController
- FundController
OrdersController
Get singleton instance
The singleton instance of the OrdersController
class can be accessed from the API Client.
$orders = $client->getOrders();
createOrder
TODO: Add a method description
function createOrder($body)
Parameters
Parameter | Tags | Description |
---|---|---|
body | Required |
TODO: Add a parameter description |
Example Usage
$body = new CreateOrderRequestModel(); $result = $orders->createOrder($body);
getOrder
TODO: Add a method description
function getOrder($referenceOrderID)
Parameters
Parameter | Tags | Description |
---|---|---|
referenceOrderID | Required |
Reference Order ID |
Example Usage
$referenceOrderID = 'referenceOrderID'; $result = $orders->getOrder($referenceOrderID);
getOrders
TODO: Add a method description
function getOrders($options)
Parameters
Parameter | Tags | Description |
---|---|---|
accountIdentifier | Optional |
TODO: Add a parameter description |
customerIdentifier | Optional |
TODO: Add a parameter description |
externalRefID | Optional |
TODO: Add a parameter description |
startDate | Optional |
TODO: Add a parameter description |
endDate | Optional |
TODO: Add a parameter description |
elementsPerBlock | Optional |
TODO: Add a parameter description |
page | Optional |
TODO: Add a parameter description |
Example Usage
$accountIdentifier = 'accountIdentifier'; $collect['accountIdentifier'] = $accountIdentifier; $customerIdentifier = 'customerIdentifier'; $collect['customerIdentifier'] = $customerIdentifier; $externalRefID = 'externalRefID'; $collect['externalRefID'] = $externalRefID; $startDate = date("D M d, Y G:i"); $collect['startDate'] = $startDate; $endDate = date("D M d, Y G:i"); $collect['endDate'] = $endDate; $elementsPerBlock = 114; $collect['elementsPerBlock'] = $elementsPerBlock; $page = 114; $collect['page'] = $page; $result = $orders->getOrders($collect);
createResendOrder
TODO: Add a method description
function createResendOrder($referenceOrderID)
Parameters
Parameter | Tags | Description |
---|---|---|
referenceOrderID | Required |
TODO: Add a parameter description |
Example Usage
$referenceOrderID = 'referenceOrderID'; $result = $orders->createResendOrder($referenceOrderID);
AccountsController
Get singleton instance
The singleton instance of the AccountsController
class can be accessed from the API Client.
$accounts = $client->getAccounts();
getAccount
Get an account
function getAccount($accountIdentifier)
Parameters
Parameter | Tags | Description |
---|---|---|
accountIdentifier | Required |
Account Identifier |
Example Usage
$accountIdentifier = 'accountIdentifier'; $result = $accounts->getAccount($accountIdentifier);
getAccountsByCustomer
Gets a list of accounts for a given customer
function getAccountsByCustomer($customerIdentifier)
Parameters
Parameter | Tags | Description |
---|---|---|
customerIdentifier | Required |
Customer Identifier |
Example Usage
$customerIdentifier = 'customerIdentifier'; $result = $accounts->getAccountsByCustomer($customerIdentifier);
createAccount
Create an account under a given customer
function createAccount( $customerIdentifier, $body)
Parameters
Parameter | Tags | Description |
---|---|---|
customerIdentifier | Required |
Customer Identifier |
body | Required |
Request Body |
Example Usage
$customerIdentifier = 'customerIdentifier'; $body = new CreateAccountRequestModel(); $result = $accounts->createAccount($customerIdentifier, $body);
getAllAccounts
Gets all accounts under the platform
function getAllAccounts()
Example Usage
$result = $accounts->getAllAccounts();
CatalogController
Get singleton instance
The singleton instance of the CatalogController
class can be accessed from the API Client.
$catalog = $client->getCatalog();
getCatalog
Get Catalog
function getCatalog()
Example Usage
$result = $catalog->getCatalog();
ExchangeRatesController
Get singleton instance
The singleton instance of the ExchangeRatesController
class can be accessed from the API Client.
$exchangeRates = $client->getExchangeRates();
getExchangeRates
Retrieve current exchange rates
function getExchangeRates()
Example Usage
$result = $exchangeRates->getExchangeRates();
StatusController
Get singleton instance
The singleton instance of the StatusController
class can be accessed from the API Client.
$status = $client->getStatus();
getSystemStatus
Tags:
Skips Authentication
Retrieve system status
function getSystemStatus()
Example Usage
$result = $status->getSystemStatus();
CustomersController
Get singleton instance
The singleton instance of the CustomersController
class can be accessed from the API Client.
$customers = $client->getCustomers();
getCustomer
Get a customer
function getCustomer($customerIdentifier)
Parameters
Parameter | Tags | Description |
---|---|---|
customerIdentifier | Required |
Customer Identifier |
Example Usage
$customerIdentifier = 'customerIdentifier'; $result = $customers->getCustomer($customerIdentifier);
createCustomer
Create a new customer
function createCustomer($body)
Parameters
Parameter | Tags | Description |
---|---|---|
body | Required |
Request Body |
Example Usage
$body = new CreateCustomerRequestModel(); $result = $customers->createCustomer($body);
getAllCustomers
Gets all customers under the platform
function getAllCustomers()
Example Usage
$result = $customers->getAllCustomers();
FundController
Get singleton instance
The singleton instance of the FundController
class can be accessed from the API Client.
$fund = $client->getFund();
getCreditCards
List all credit cards registered on this platform
function getCreditCards()
Example Usage
$result = $fund->getCreditCards();
createCreditCard
Register a new credit card
function createCreditCard($body)
Parameters
Parameter | Tags | Description |
---|---|---|
body | Required |
TODO: Add a parameter description |
Example Usage
$body = new CreateCreditCardRequestModel(); $result = $fund->createCreditCard($body);
createUnregisterCreditCard
Unregister a credit card
function createUnregisterCreditCard($body)
Parameters
Parameter | Tags | Description |
---|---|---|
body | Required |
TODO: Add a parameter description |
Example Usage
$body = new UnregisterCreditCardRequestModel(); $result = $fund->createUnregisterCreditCard($body);
createDeposit
Fund an account
function createDeposit($body)
Parameters
Parameter | Tags | Description |
---|---|---|
body | Required |
TODO: Add a parameter description |
Example Usage
$body = new DepositRequestModel(); $result = $fund->createDeposit($body);
getDeposit
Get details for a specific credit card deposit
function getDeposit($depositId)
Parameters
Parameter | Tags | Description |
---|---|---|
depositId | Required |
Deposit ID |
Example Usage
$depositId = 'depositId'; $result = $fund->getDeposit($depositId);
getCreditCard
Get details for a specific credit card
function getCreditCard($token)
Parameters
Parameter | Tags | Description |
---|---|---|
token | Required |
Card Token |
Example Usage
$token = 'token'; $result = $fund->getCreditCard($token);