NAV
Shell HTTP JavaScript Ruby Python PHP Java Go

dash Solutions V1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Introduction

dash Solutions (Prepaid Technologies Payment Solutions) REST API (Representational State Transfer - Application Programming Interface) provides an easy integration with third party applications and services using JSON, and uses HTTP response codes to indicate API errors.

It provides Restful APIs and hence is independent of programming languages. This allows partners or resellers to build custom applications with the API Architecture as base and interact programmatically yet securely to manage users, their accounts, and payments.

Authentication ==================

Authentication/Pre-requisites

API URL Structure =====================

HTTP Status Codes =====================

Code Description
200 SUCCESS - The API request was successful and completed without any errors.
400 BAD REQUEST - The input passed in the request is invalid or incorrect. The requestor has to change the input parameters and send the request again.
401 UNAUTHORIZED - The request is a special request and the user who has requested the operation is not entitled to perform the requested operation.
403 FORBIDDEN - The server understands the request but refuses to authorize it.
404 NOT FOUND - The requested resource could not be found.
500 INTERNAL ERROR - The request cannot be completed due an error that occurred on the server, while processing the request.
503 SERVICE UNAVAILABLE - The request cannot be completed due to an error on the service.

Base URLs:

Session Management APIs

The API endpoint name for the set is 'userendpoint'

Find more info here

Login

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/login?loginID=string&password=string \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/login?loginID=string&password=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/login?loginID=string&password=string',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/login',
  params: {
  'loginID' => 'string',
'password' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/login', params={
  'loginID': 'string',  'password': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/login', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/login?loginID=string&password=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/login", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /login

Pass User Identification (Username) to loginID parameter and User password to password parameter. After a successful login, a session(sessionId) is created for the logged in user and is authenticated to access the authorized APIs.

Tips:

  1. Response consists of user details, which is useful for User Management Activities.
  2. Response consists of Customer related details, which is used to fetch the Customer programs.

Parameters

Name In Type Required Description
loginID query string true User login identification text.
password query string true User password text.

Detailed descriptions

loginID: User login identification text.

password: User password text.

Example responses

200 Response

{
  "userId": 0,
  "loginId": "string",
  "sessionId": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "customerId": 0,
  "customerType": "string",
  "customerName": "string",
  "role": "string",
  "isHost": false,
  "isHostAdmin": false,
  "deleted": false,
  "canLoadCard": false,
  "canViewLoadHistory": false,
  "kind": "string",
  "etag": "string"
}

Responses

Status Meaning Description Schema
200 OK Logged in Successfully User
400 Bad Request Invalid login id or password/ Incorrect verification Code None

Response Schema

Logout

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/logout?sessionId=string

POST https://portal-api-uat.dashsolutions.com/_ah/api/logout?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com


fetch('https://portal-api-uat.dashsolutions.com/_ah/api/logout?sessionId=string',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/logout',
  params: {
  'sessionId' => 'string'
}

p JSON.parse(result)

import requests

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/logout', params={
  'sessionId': 'string'
})

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/logout', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/logout?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/logout", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /logout

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash valid for a user session

Example responses

Responses

Status Meaning Description Schema
200 OK Successfully logged out None
400 Bad Request Logout failed None

Response Schema

Customer Management APIs

The API endpoint name for the set is 'customerendpoint'

Get all customers[depricated]

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerList?sessionId=string \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerList?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerList?sessionId=string',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerList',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerList', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerList', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerList?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerList", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getCustomerList

This method is fetches customer's list based on session, it is deprecated. Use the 'getCustomerHierarchy' API for more specific and accurate result sets.

Parameters

Name In Type Required Description
sessionId query string true "A unique ID generated by dash after successful login, valid for a user session."

Detailed descriptions

sessionId: "A unique ID generated by dash after successful login, valid for a user session."

Example responses

200 Response

{
  "items": [
    {
      "customerId": 0,
      "name": "string",
      "address1": "string",
      "address2": "string",
      "city": "string",
      "state": "string",
      "zip": 0,
      "zip4": 0,
      "ein": "string",
      "website": "string",
      "businessType": "string",
      "businessYrs": 0,
      "noEmployees": "string",
      "contactName": "string",
      "contactEmail": "string",
      "contactPhone": "string",
      "customerType": "string",
      "topClientId": 0,
      "clientId": "string",
      "accountMgr": "string",
      "accountMgrId": 0,
      "launchDate": "string",
      "parentId": 0,
      "parentName": "string",
      "showVirtualAccountDashboard": true,
      "twoFactorEnabled": true,
      "hideOtherCards": true,
      "notificationEmail": "string",
      "referredBy": "string",
      "ftpPath": "string",
      "ftpUserId": "string",
      "ftpPassword": "string",
      "phoneExtn": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
403 Forbidden Forbidden ErrorObj403
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» items [Customer] false none none
»» customerId integer false none Customer Id linked with the logged in user
»» name string false none Name of the logged in Customer
»» address1 string false none Address line 1
»» address2 string false none Address line 2
»» city string false none Residential address
»» state string false none Residential State
»» zip integer false none Residential zip
»» zip4 integer false none "ZIP4 is an extended version of the standard U.S. ZIP code.
Used to describe the users adress zip4"
»» ein string false none Ein number (Employer Identification Number), also known as a Federal Tax Identification Number, is a unique nine-digit number.
»» website string false none Website of the customer
»» businessType string false none Bussiness type of the customer
»» businessYrs integer false none Bussiness years of the customer
»» noEmployees string false none Number of employees of the customer
»» contactName string false none Contact name of the customer
»» contactEmail string false none Contact email of the customer
»» contactPhone string false none Contact phone of the customer
»» customerType string false none Name of the customer
»» topClientId integer false none A value from top clientIds retrieved from 'getTopClientList' API
»» clientId string false none Client identification number
»» accountMgr string false none Name of the account manager
»» accountMgrId integer false none Id of the account manager
»» launchDate string false none none
»» parentId integer false none Parent customer Id
»» parentName string false none Parent customer name
»» showVirtualAccountDashboard boolean false none Shows virtual account dashbpard when set to true
»» twoFactorEnabled boolean false none True if 2FA is enabled by the customer
»» hideOtherCards boolean false none Other cards are hidden if set to true
»» notificationEmail string false none Recieves notification via email when set to true
»» referredBy string false none Name by whom the customer is refered by
»» ftpPath string false none FTP path name
»» ftpUserId string false none FTP user identifier
»» ftpPassword string false none FTP password
»» phoneExtn string false none Phone extension number

Get customers by customerId

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerHierarchy?sessionId=string&customerId=0 \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerHierarchy?sessionId=string&customerId=0 HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerHierarchy?sessionId=string&customerId=0',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerHierarchy',
  params: {
  'sessionId' => 'string',
'customerId' => 'integer'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerHierarchy', params={
  'sessionId': 'string',  'customerId': '0'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerHierarchy', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerHierarchy?sessionId=string&customerId=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerHierarchy", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getCustomerHierarchy

Will fetch the list of customers present under the given cusomerId. The response consists of its parent as well - which is helpful for us to form a hierarchy tree.

Parameters

Name In Type Required Description
sessionId query string true "A unique ID generated by dash after successful login, valid for a user session."
customerId query integer true A unique customer identifier

Detailed descriptions

sessionId: "A unique ID generated by dash after successful login, valid for a user session."

Example responses

200 Response

{
  "items": [
    {
      "customerId": 0,
      "name": "string",
      "address1": "string",
      "address2": "string",
      "city": "string",
      "state": "string",
      "zip": 0,
      "zip4": 0,
      "ein": "string",
      "website": "string",
      "businessType": "string",
      "businessYrs": 0,
      "noEmployees": "string",
      "contactName": "string",
      "contactEmail": "string",
      "contactPhone": "string",
      "customerType": "string",
      "topClientId": 0,
      "clientId": "string",
      "accountMgr": "string",
      "accountMgrId": 0,
      "launchDate": "string",
      "parentId": 0,
      "parentName": "string",
      "showVirtualAccountDashboard": true,
      "twoFactorEnabled": true,
      "hideOtherCards": true,
      "notificationEmail": "string",
      "referredBy": "string",
      "ftpPath": "string",
      "ftpUserId": "string",
      "ftpPassword": "string",
      "phoneExtn": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» items [Customer] false none none
»» customerId integer false none Customer Id linked with the logged in user
»» name string false none Name of the logged in Customer
»» address1 string false none Address line 1
»» address2 string false none Address line 2
»» city string false none Residential address
»» state string false none Residential State
»» zip integer false none Residential zip
»» zip4 integer false none "ZIP4 is an extended version of the standard U.S. ZIP code.
Used to describe the users adress zip4"
»» ein string false none Ein number (Employer Identification Number), also known as a Federal Tax Identification Number, is a unique nine-digit number.
»» website string false none Website of the customer
»» businessType string false none Bussiness type of the customer
»» businessYrs integer false none Bussiness years of the customer
»» noEmployees string false none Number of employees of the customer
»» contactName string false none Contact name of the customer
»» contactEmail string false none Contact email of the customer
»» contactPhone string false none Contact phone of the customer
»» customerType string false none Name of the customer
»» topClientId integer false none A value from top clientIds retrieved from 'getTopClientList' API
»» clientId string false none Client identification number
»» accountMgr string false none Name of the account manager
»» accountMgrId integer false none Id of the account manager
»» launchDate string false none none
»» parentId integer false none Parent customer Id
»» parentName string false none Parent customer name
»» showVirtualAccountDashboard boolean false none Shows virtual account dashbpard when set to true
»» twoFactorEnabled boolean false none True if 2FA is enabled by the customer
»» hideOtherCards boolean false none Other cards are hidden if set to true
»» notificationEmail string false none Recieves notification via email when set to true
»» referredBy string false none Name by whom the customer is refered by
»» ftpPath string false none FTP path name
»» ftpUserId string false none FTP user identifier
»» ftpPassword string false none FTP password
»» phoneExtn string false none Phone extension number

To get the CIP verification.

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getCIPCheck \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getCIPCheck HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "firstName": "string",
  "lastName": "string",
  "address": "string",
  "zip": 0,
  "dobMonth": 0,
  "dobYear": 0,
  "dobDay": 0,
  "ssn": 0,
  "ssnLast4": 0,
  "city": "string",
  "state": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getCIPCheck',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getCIPCheck',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getCIPCheck', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getCIPCheck', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getCIPCheck");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getCIPCheck", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getCIPCheck

Pass below required parameters: - firstName - lastName - address - zip - dobMonth - dobYear - dobDay - city - state

Note: - returnCode will be 0 only if Server is down or there is a poor network connection. - diffQuestionList or questionList will not be null only in case of summaryResult is Partial and there can be a list of questions. - Based on the summaryResult from the response, you need to take the appropriate action. - summaryResult is Pass: - This message indicates that CIP verification completed successfully. - Subject is located. - summaryResult is "Fail": - This message indicates that the subject was not found. - summaryResult is "Partial": - Sometimes the CIP verification process locates records on more than one individual and similarities in the information located making it impossible to identify the correct individual. - To find the individual user, the API will return differentiator questions along with the ID results. The answer to the differentiating question identifies the correct record or records to use in the CIP verification process. - Next step needs to be performed only in case of Partial based on the result in response. If diffQuestionList is not null then make submitDifferentiatorAnswers API call and if questionList is not null then call submitAnswers API respectively.

Body parameter

{
  "firstName": "string",
  "lastName": "string",
  "address": "string",
  "zip": 0,
  "dobMonth": 0,
  "dobYear": 0,
  "dobDay": 0,
  "ssn": 0,
  "ssnLast4": 0,
  "city": "string",
  "state": "string"
}

Parameters

Name In Type Required Description
body body object true none
» firstName body string true First name
» lastName body string true Last name
» address body string true Street address (Max characters allowed is 40)
» zip body integer true 5 Digit zip code.
» dobMonth body integer true 2 Digit month of birth.
» dobYear body integer true 4 Digit year of birth.
» dobDay body integer true 2 Digit day of birth.
» ssn body integer false 9 digit Social Security number.
» ssnLast4 body integer false Last 4 digit of Social Security number.
» city body string true City name.
» state body string true State name.

Example responses

200 Response

{
  "returnCode": 0,
  "data": {
    "Idnumber": 0,
    "Error": "string",
    "summaryResult": "string",
    "detailedMessages": [
      {
        "message": "string"
      }
    ],
    "diffQuestionList": [
      {
        "question": "In which city is STILLWOOD DR?",
        "type": "city.of.residence",
        "Options": [
          "PARSHALL",
          "KENOSHA",
          "LAKE VILLAGE",
          "KARVAL",
          "LUPTON"
        ]
      }
    ],
    "questionList": [
      {
        "question": "In which city is STILLWOOD DR?",
        "type": "city.of.residence",
        "Options": [
          "PARSHALL",
          "KENOSHA",
          "LAKE VILLAGE",
          "KARVAL",
          "LUPTON"
        ]
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» returnCode integer false none It can be 0,1 and -1
» data CIPCheckResponse false none none
»» Idnumber integer false none Verify Identification number, Idnumber provides the info related to Partial result.
»» Error string false none Error message
»» summaryResult string false none You will get either one of three values [Pass, Fail, Partial]
»» detailedMessages [arrayCIPResponse] false none Detailed description
»»» message string false none Response message
»» diffQuestionList [arrayQuestionsCIPResponse] false none List of questions to identify the individual from multiple user
»»» question string false none Question text present in the Question list
»»» type string false none Type of the question present in the Question list
»»» Options [string] false none Answer text that needs to be passed.
»» questionList [arrayQuestionsCIPResponse] false none List of questions based on configuration set for customer

CustomerProgram Management APIs

The API endpoint name for the set is 'customerendpoint'

Retrieve various shipping options.

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFeeTypes?sessionId=string

GET https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFeeTypes?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com


fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFeeTypes?sessionId=string',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFeeTypes',
  params: {
  'sessionId' => 'string'
}

p JSON.parse(result)

import requests

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFeeTypes', params={
  'sessionId': 'string'
})

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFeeTypes', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFeeTypes?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFeeTypes", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getShippingFeeTypes

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash after successful login, valid for a user session.

Example responses

Responses

Status Meaning Description Schema
200 OK SUCCESS None
400 Bad Request Unable to retrieve the shipping fee types None

Response Schema

Retrieve different shipping methods.

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getShippingMethods?sessionId=string \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getShippingMethods?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getShippingMethods?sessionId=string',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getShippingMethods',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getShippingMethods', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getShippingMethods', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getShippingMethods?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getShippingMethods", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getShippingMethods

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash after successful login, valid for a user session.

Example responses

200 Response

{
  "items": [
    "UPS Ground",
    "UPS Second Day",
    "UPS Next Day Air",
    "USPS First Class",
    "USPS w/ Tracking"
  ]
}

Responses

Status Meaning Description Schema
200 OK A list of available shipping methods Inline
400 Bad Request Unable to retrieve the shipping methods None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» items [string] false none none

Retrieve list of customer programs

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerProgramList?sessionId=string&customerId=0&showAutoCreated=true&showBranded=true \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerProgramList?sessionId=string&customerId=0&showAutoCreated=true&showBranded=true HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerProgramList?sessionId=string&customerId=0&showAutoCreated=true&showBranded=true',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerProgramList',
  params: {
  'sessionId' => 'string',
'customerId' => 'integer(int64)',
'showAutoCreated' => 'boolean',
'showBranded' => 'boolean'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerProgramList', params={
  'sessionId': 'string',  'customerId': '0',  'showAutoCreated': 'true',  'showBranded': 'true'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerProgramList', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerProgramList?sessionId=string&customerId=0&showAutoCreated=true&showBranded=true");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getCustomerProgramList", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getCustomerProgramList

Pass Session Identifier and Customer Identifier from the response received from the login API. Filter your customer programs based on your filter criteria based on the below parameters. ### Tips: 1. The response consists of a parameter called rowId, which is also called Customer Program Identifier (cpId, custProgId). 2. rowId is very useful while handling Card Management APIs.

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash after successfull login, valid for a user session
customerId query integer(int64) true Customer Identifier (customerId) response parameter you receive after successful login.
showAutoCreated query boolean true Filter customer programs based on auto created. Pass true value for the auto created programs.
showBranded query boolean true Filter customer programs based on brand. Pass true value for the branded programs.

Detailed descriptions

sessionId: A unique ID generated by dash after successfull login, valid for a user session

customerId: Customer Identifier (customerId) response parameter you receive after successful login.

showAutoCreated: Filter customer programs based on auto created. Pass true value for the auto created programs.

showBranded: Filter customer programs based on brand. Pass true value for the branded programs.

Example responses

200 Response

{
  "items": [
    {
      "rowId": 0,
      "productId": 0,
      "customerId": 0,
      "planId": 0,
      "commissionId": 0,
      "einCheck": true,
      "ofacCheck": true,
      "bgCheck": true,
      "launchDate": "string",
      "websiteCheck": true,
      "status": "string",
      "productType": "string",
      "productName": "string",
      "hasVirtualFunding": true,
      "isInstantIssue": true,
      "permSubprogramId": 0,
      "permSubProgramName": "string",
      "tmpSubProgramId": 0,
      "tmpPackageId": 0,
      "tmpSubProgramName": "string",
      "virtualSubprogramId": 0,
      "virtualSubprogramName": "string",
      "pricingPlanName": "string",
      "commissionName": "string",
      "commissionReferrerName": "string",
      "permPackageName": "string",
      "tmpPackageName": "string",
      "invoicePymtOption": "string",
      "VirtualPackageName": "string",
      "shippingMethod": "string",
      "fundingSource": "string",
      "receiptAction": "string",
      "customerName": "string",
      "activeCount": 0,
      "inventoryCount": 0,
      "isDeleted": true,
      "topParentId": 0,
      "autoCreated": true,
      "dueDiligenceNotes": "string",
      "hideOtherCards": true,
      "fundingId": 0,
      "PlanId": 0,
      "permPackageId": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Invalid sessionId or CustmerId None
404 Not Found Failed to get customer program list None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» items [CustomerProgram] false none [Every Onboarder customer is a sub program]
»» rowId integer false none Customer program ID
»» productId integer false none Unique ID that is tied with the product (card)
»» customerId integer false none Unique identifier associated with the customer
»» planId integer false none Plan ID
»» commissionId integer false none Commission ID
»» einCheck boolean false none EIN (Employer Identification Number), also known as a Federal Tax Identification Number check.
»» ofacCheck boolean false none Set to true if the customer passes the OFAC check
»» bgCheck boolean false none Set to true if the customer passes the background verification check
»» launchDate string false none Launch date
»» websiteCheck boolean false none Set to true if website verificaton passes
»» status string false none Describes the status of the customer program
»» productType string false none Type of the product
»» productName string false none Name of the product
»» hasVirtualFunding boolean false none Set to true if customer has opted for virtual funding
»» isInstantIssue boolean false none Returns true if it is an instant issue card
»» permSubprogramId integer false none Permanant subprogram ID
»» permSubProgramName string false none Permanant subprogram name
»» tmpSubProgramId integer false none Temporary subprogram ID
»» tmpPackageId integer false none Temporary package ID
»» tmpSubProgramName string false none Temporary subprogram name
»» virtualSubprogramId integer false none Virtual subprogram ID
»» virtualSubprogramName string false none Virtual subprogram name
»» pricingPlanName string false none Customer program pricing plan name
»» commissionName string false none Customer program commission name
»» commissionReferrerName string false none Customer program commission referrer name
»» permPackageName string false none Permanant package name
»» tmpPackageName string false none Temporary package name
»» invoicePymtOption string false none Invoice payment option description
»» VirtualPackageName string false none Virtual package name
»» shippingMethod string false none Shipping method if individual or bulk
»» fundingSource string false none Funding source details
»» receiptAction string false none Receipt action
»» customerName string false none Customer name
»» activeCount integer false none Active count
»» inventoryCount integer false none Inventory count for the customer program
»» isDeleted boolean false none True if deletion is set
»» topParentId integer false none Top parent ID
»» autoCreated boolean false none True if auto creation is set
»» dueDiligenceNotes string false none Notes
»» hideOtherCards boolean false none Hides other cards if set to true
»» fundingId integer false none Funding ID
»» PlanId integer false none Plan ID
»» permPackageId integer false none Permanant package ID

Find ATM locations using latitude and longitude values

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getATMLocation?sessionId=string&latitude=string&longitude=string&pageOffset=0&pageLength=0

GET https://portal-api-uat.dashsolutions.com/_ah/api/getATMLocation?sessionId=string&latitude=string&longitude=string&pageOffset=0&pageLength=0 HTTP/1.1
Host: portal-api-uat.dashsolutions.com


fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getATMLocation?sessionId=string&latitude=string&longitude=string&pageOffset=0&pageLength=0',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getATMLocation',
  params: {
  'sessionId' => 'string',
'latitude' => 'string',
'longitude' => 'string',
'pageOffset' => 'integer',
'pageLength' => 'integer'
}

p JSON.parse(result)

import requests

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getATMLocation', params={
  'sessionId': 'string',  'latitude': 'string',  'longitude': 'string',  'pageOffset': '0',  'pageLength': '0'
})

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getATMLocation', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getATMLocation?sessionId=string&latitude=string&longitude=string&pageOffset=0&pageLength=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getATMLocation", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getATMLocation

API endpoint name: 'customerendpoint'
The API is used to get the location of an ATM.

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash after successful login, valid for a user session.
latitude query string true Latitude of location.
longitude query string true Longitude of location.
pageOffset query integer true View/Visible from mentioned page offset.
pageLength query integer true Total number of locations.

Detailed descriptions

latitude: Latitude of location.

longitude: Longitude of location.

pageOffset: View/Visible from mentioned page offset.

Example responses

Responses

Status Meaning Description Schema
200 OK SUCCESS None
400 Bad Request Bad Request Data None

Response Schema

Order Management APIs

The API endpoint name for the set is 'orderendpoint'

Order single/bulk/inventory

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/orderCards?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/orderCards?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "address1": "string",
  "address2": "string",
  "attn": "string",
  "city": "string",
  "custProgId": 0,
  "isInstantIssue": true,
  "qty": 0,
  "shippingMethod": "string",
  "cardType": "Physical",
  "shippingFee": 0,
  "cardFee": 0,
  "state": "string",
  "zip": "string",
  "totalValue": 0,
  "campaignName": "string",
  "reasonCode": "string",
  "externalIdentifier": "string",
  "orderDetails": [
    {
      "firstName": "string",
      "lastName": "string",
      "phone": "string",
      "ssn": "string",
      "dateOfBirth": "string",
      "email": "string",
      "embossedMessage": "string",
      "mailingAddr1": "string",
      "mailingAddr2": "string",
      "mailingCity": "string",
      "mailingState": "string",
      "mailingPostalCode": "string",
      "shippingAddress1": "string",
      "shippingAddress2": "string",
      "shippingCity": "string",
      "shippingState": "string",
      "shippingZip": "string",
      "shippingMethod": "string",
      "purseNo": 0,
      "otherInfo": "string",
      "amount": 0,
      "comment": "string",
      "externalIdentifier": "string",
      "clientDefinedField1": "string",
      "clientDefinedField2": "string",
      "clientDefinedField3": "string",
      "clientDefinedField4": "string",
      "clientDefinedField5": "string"
    }
  ],
  "orderProdType": "Personalized Payroll Order",
  "customerId": 0,
  "host": "Prepaid"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/orderCards?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/orderCards',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/orderCards', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/orderCards', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/orderCards?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/orderCards", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /orderCards

Instructions for Instant Issue(Inventory) Orders(IIC)

Order instant issue inventory by specifying the number of cards which will be shipped to the specified address. ### Note: 1. For the Corporate Purchasing product type, pass the value Instant Issue Purchase Order in orderProdType. 2. To prevent duplicate orders, the user can pass the unique value in the externalIdentifier field. This is an optional field and duplicates will be checked at the program level.

Instructions for single/multiple Personalized orders

Order personalized cards all of which will be customized cards as per your specification. The order responses with an instant personalized proxy in case of single and with orderId in case of multiple. Further need to use getOrderDetailsByOrderId method with orderId to fetch the proxy information.

Order digital card

  1. Enable can order digital cards option at program level to order digital cards.
  2. To order a digital card, pass card type as Digital in cardType property and shippingMethod is optional. Or you can set null value to shippingMethod property.

Order with load

  1. Turn on the configuration at program level to load cards while ordering.
  2. To load, pass amount in amount property.
  3. Pass overall load amount of order in totalValue property.
  4. Pass External Identifier to externalIdentifier parameter.
  5. To prevent duplicate loads:
    1. Ensure that Duplicate Load Checker flag in customer program is turned on.
    2. User can pass externalIdentifier against proxy to prevent duplicate loads.

To prevent duplicate card orders

  1. Enable Make Other Field Required & Make Other Field Unique option at program level.
  2. Ensure that a unique value, such as an employeeID, is provided for the otherInfo field.

To prevent duplicate orders

  1. To prevent duplicate order, user can pass the unique value in the externalIdentifier field. This is an optional field and duplicates will be checked at program level.

Note

  1. dateOfBirth field is optional, we recommend providing it.
  2. Mailing address and shipping address are optional at the processing platform level. We recommend passing mailing address in case of mailing a replaced card to the cardholder.
  3. shippingMethod field is optional but in case of physical card order, we recommend passing it.
  4. For the Corporate Purchasing product type, pass the value Personalized Purchasing Order in orderProdType.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» address1 body string true none
» address2 body string true none
» attn body string true none
» city body string true none
» custProgId body integer true Customer program id retrieved from 'getCustomerProgramList' API
» isInstantIssue body boolean false none
» qty body integer false none
» shippingMethod body string false Shipping method can be retrieved from 'getShippingMethods' API
» cardType body string false If empty or null then card type will be considered as Physical.
» shippingFee body number true Shipping fee can be retrieved from 'getShippingFee' API
» cardFee body number true none
» state body string true none
» zip body string true none
» totalValue body integer false none
» campaignName body string false none
» reasonCode body string false none
» externalIdentifier body string false Optional field to prevent duplicate orders at program level
» orderDetails body [object] true none
»» firstName body string true none
»» lastName body string true none
»» phone body string true none
»» ssn body string true none
»» dateOfBirth body string false none
»» email body string false none
»» embossedMessage body string false none
»» mailingAddr1 body string false none
»» mailingAddr2 body string false none
»» mailingCity body string false none
»» mailingState body string false none
»» mailingPostalCode body string false none
»» shippingAddress1 body string false none
»» shippingAddress2 body string false none
»» shippingCity body string false none
»» shippingState body string false none
»» shippingZip body string false none
»» shippingMethod body string false none
»» purseNo body integer false none
»» otherInfo body string false Provide a unique value to ensure duplicate cards are not ordered. (To prevent duplicate orders)
»» amount body number false none
»» comment body string false none
»» externalIdentifier body string false Use a unique value to prevent duplicate loads from occuring.(To prevent duplicate loads)
»» clientDefinedField1 body string false Client defined fields 1
»» clientDefinedField2 body string false Client defined fields 2
»» clientDefinedField3 body string false Client defined fields 3
»» clientDefinedField4 body string false Client defined fields 4
»» clientDefinedField5 body string false Client defined fields 5
» orderProdType body string true none
» customerId body integer true none
» host body string false none

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Enumerated Values

Parameter Value
» cardType Physical
» cardType Digital
» orderProdType Personalized Payroll Order
» orderProdType Instant Issue Payroll Order
» orderProdType Reloadable-Corporate Reward Order
» orderProdType Non Reloadable-Corporate Reward Orde
» orderProdType Instant Corporate Reward Order
» orderProdType Direct Order - CORP
» orderProdType Personalized Purchasing Order
» host Prepaid
» host Fis

Example responses

Order created successfully

{
  "cardNum": "***********3142",
  "proxyKey": "***********12",
  "orderID": "271843",
  "personID": "1100400000",
  "cvx2": 740,
  "expDate": "5/31/2027 11:59:59 PM",
  "statusVal": 1,
  "cardStatus": "READY",
  "trn": "073972181",
  "dda": "2557390448703",
  "fundingId": 0,
  "dstnFundingId": "0",
  "isMeta": false,
  "cardsDetails": {},
  "digitalCardProxy": "5160446803875",
  "tinyUrl": "https://uatdash.page.link/jedh1S",
  "tinyUrlSms": "https://uatdash.page.link/RrhS"
}
{
  "orderID": "5932614",
  "fundingId": 0,
  "dstnFundingId": "0",
  "isMeta": false,
  "cardsDetails": {}
}
{
  "statusVal": 0,
  "statusMsg": "Account:AccountExtraCreate Method ShippingExtraId cannot be validated"
}

400 Response

{
  "error": {
    "domain": "global",
    "reason": "badRequest",
    "message": "Please provide [Property Name]"
  },
  "code": 400,
  "message": "Please provide [Property Name]"
}

Responses

Status Meaning Description Schema
200 OK Order created successfully Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Register a single/multiple card

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/registerCards?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/registerCards?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "campaignName": "string",
  "custProgId": 0,
  "customerId": 0,
  "host": "Prepaid",
  "orderDetails": [
    {
      "amount": 0,
      "comment": "string",
      "dateOfBirth": "string",
      "email": "[email protected]",
      "firstName": "string",
      "lastName": "string",
      "mailingAddr1": "string",
      "mailingAddr2": "string",
      "mailingCity": "string",
      "mailingPostalCode": "string",
      "mailingState": "string",
      "panNumber": "string",
      "phone": "string",
      "proxyKey": "string",
      "shippingAddress1": "string",
      "shippingAddress2": "string",
      "shippingCity": "string",
      "shippingState": "string",
      "shippingZip": "string",
      "ssn": "string",
      "otherInfo": "string",
      "externalIdentifier": "string",
      "clientDefinedField1": "string",
      "clientDefinedField2": "string",
      "clientDefinedField3": "string",
      "clientDefinedField4": "string",
      "clientDefinedField5": "string"
    }
  ],
  "qty": 0,
  "reasonCode": "string",
  "totalValue": 0
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/registerCards?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/registerCards',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/registerCards', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/registerCards', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/registerCards?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/registerCards", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /registerCards

Register a single/multiple card.

To Prevent Duplicate Card Registration

  1. Enable Make Other Field Required & Make Other Field Unique option at program level.
  2. Ensure that a unique value, such as an employeeID, is provided for the otherInfo field. ### Notes
  3. Enable show full card number option at customer level to get full card number in response in cardNum property.
  4. In the response, you will get a tiny URL in tinyUrl property if email or SMS notification is enabled at program level for digital cards.
  5. dateOfBirth field is optional; we recommend providing it.
  6. Mailing address and shipping address are optional at the processing platform level. We recommend passing the mailing address in case of mailing a replaced card to the cardholder.
  7. Pass External Identifier to externalIdentifier parameter.
  8. To prevent duplicate register and loads:
    • Ensure that Duplicate Load Checker flag in customer program is turned on.
    • User can pass

Body parameter

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash after successful login, valid for a user session.
body body object true none
» campaignName body string false none
» custProgId body integer true Customer program id retrieved from 'getCustomerProgramList' API
» customerId body integer true The customer id linked with this user which can be retrieved from the response body of 'login' API
» host body string false none
» orderDetails body [object] true none
»» amount body number false none
»» comment body string false none
»» dateOfBirth body string(date - mm/dd/yyyy) false none
»» email body string(email) false none
»» firstName body string true none
»» lastName body string true none
»» mailingAddr1 body string false none
»» mailingAddr2 body string false none
»» mailingCity body string false none
»» mailingPostalCode body string false none
»» mailingState body string false Pass the state code in abbreviated form, e.g., AL for Alabama.
»» panNumber body string false Card number. Pass either proxy number or card number
»» phone body string true none
»» proxyKey body string true ProxyKey is required
»» shippingAddress1 body string false none
»» shippingAddress2 body string false none
»» shippingCity body string false none
»» shippingState body string false Pass the state code in abbreviated form, e.g., AL for Alabama.
»» shippingZip body string false none
»» ssn body string true none
»» otherInfo body string false Provide a unique value to ensure duplicate cards are not registered.
»» externalIdentifier body string false Use a unique value to prevent duplicate loads from occuring.
»» clientDefinedField1 body string false Client defined field 1
»» clientDefinedField2 body string false Client defined field 2
»» clientDefinedField3 body string false Client defined field 3
»» clientDefinedField4 body string false Client defined field 4
»» clientDefinedField5 body string false Client defined field 5
» qty body integer false We recommend passing the number of cards being registered:
» reasonCode body string false none
» totalValue body number false none

Detailed descriptions

» qty: We recommend passing the number of cards being registered: - 1 in case of single. - Number of cards in case of multiple.

Enumerated Values

Parameter Value
» host Prepaid
» host Fis

Example responses

200 Response

{
  "cardNum": "************0037",
  "proxyKey": "123123123123123",
  "orderID": "271459",
  "personID": "110000000",
  "cvx2": 996,
  "expDate": "1/31/2027 11:59:59 PM",
  "statusVal": 1,
  "fundingId": 0,
  "dstnFundingId": 0,
  "orderDetailId": 512773,
  "isMeta": false,
  "tinyUrl": "https://uatdash.page.link/RtTY",
  "tinyUrlSms": "uatdash.page.link/RrhS"
}

Responses

Status Meaning Description Schema
200 OK card registered successfully Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
403 Forbidden Forbidden ErrorObj403
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» cardNum string false none none
» proxyKey string false none none
» orderID string false none none
» personID string false none none
» cvx2 number false none none
» expDate string false none none
» statusVal number false none none
» fundingId number false none none
» dstnFundingId number false none none
» orderDetailId number false none none
» isMeta boolean false none none
» tinyUrl string false none none
» tinyUrlSms string false none none

Retrieve order details by order Id

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getOrderDetailsByOrderId?sessionId=string&orderId=string \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getOrderDetailsByOrderId?sessionId=string&orderId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getOrderDetailsByOrderId?sessionId=string&orderId=string',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getOrderDetailsByOrderId',
  params: {
  'sessionId' => 'string',
'orderId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getOrderDetailsByOrderId', params={
  'sessionId': 'string',  'orderId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getOrderDetailsByOrderId', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getOrderDetailsByOrderId?sessionId=string&orderId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getOrderDetailsByOrderId", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getOrderDetailsByOrderId

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash after successful login, valid for a user session.
orderId query string true A unique ID given to a card order

Example responses

200 Response

{
  "items": [
    {
      "orderDetailId": 392886,
      "firstName": "FirstName",
      "lastName": "LastName",
      "amount": 0.01,
      "dateOfBirth": "10/10/1998",
      "ssn": "1231231231",
      "mailingAddr1": "1st Line St",
      "mailingAddr2": "XYZ Road",
      "mailingCity": "New York",
      "mailingState": "NY",
      "mailingPostalCode": "12345",
      "phone": "1231231231",
      "shippingAddress1": "1st Line St",
      "shippingAddress2": "XYZ Road",
      "shippingCity": "New York",
      "shippingState": "NY",
      "shippingZip": "12345",
      "panNumber": "6928",
      "proxyKey": "3415060020922",
      "trn": "000060020922",
      "dda": "00000020922",
      "expDate": "10/31/2027 11:59:59 PM",
      "retryCount": 0,
      "status": "Completed",
      "bulkCardQuantity": 0,
      "email": "[email protected]",
      "otherInfo": "TEST1",
      "employeeId": "Test1",
      "futureOrderDetailId": 0,
      "bounce": true,
      "clicked": false,
      "cardType": "PHYSICAL",
      "smsSent": false,
      "orderId": 243789,
      "isOrderCancel": false,
      "refNum": "CC0074D4145D",
      "smsLinkClicked": false,
      "tinyUrlEmail": "https://uatdash.page.link/4TdC",
      "tinyUrlSms": "uatdash.page.link/RrhS",
      "clientDefinedField1": "Test field 1",
      "clientDefinedField2": "Test field 2",
      "clientDefinedField3": "Test field 3",
      "clientDefinedField4": "null",
      "clientDefinedField5": "Test field 5"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» items [OrderDetailsByOrderId] false none none
»» orderDetailId integer false none Orderdetail Id
»» firstName string false none First name of the customer
»» lastName string false none Last name of the customer
»» amount number false none Amount paid
»» dateOfBirth string false none Date of Birth of the customer
»» ssn string false none SSN of the customer
»» mailingAddr1 string false none Mailing address line 1 of the customer
»» mailingAddr2 string false none Mailing address line 2 of the customer
»» mailingCity string false none Mailing address city of the customer
»» mailingState string false none Mailing address state of the customer
»» mailingPostalCode string false none Mailing address postal code of the customer
»» phone string false none Phone number of the customer
»» shippingAddress1 string false none Shipping address line 1 of the customer
»» shippingAddress2 string false none Shipping address line 2 of the customer
»» shippingCity string false none Shipping address line 1 of the customer
»» shippingState string false none Shipping address state of the customer
»» shippingZip string false none Shipping address zip of the customer
»» panNumber string false none PAN number of the customer
»» proxyKey string false none Proxy key number
»» trn string false none Transaction number
»» dda string false none DDA account number
»» expDate string false none Expiration date of the card
»» retryCount integer false none Order retry count
»» status string false none Order status
»» bulkCardQuantity integer false none If the order is a bulk order, the quantity of it
»» email string false none Email address of the customer
»» otherInfo string false none Additional information
»» employeeId string false none Employee unique identifier
»» futureOrderDetailId integer false none Future card order ID
»» bounce boolean false none Set to true if bounced
»» clicked boolean false none Set to true if clicked
»» cardType string false none Type of card if digital or physical
»» smsSent boolean false none Set to true if order SMS is sent
»» orderId integer false none Order ID
»» isOrderCancel boolean false none Set to true if card order is cancelled
»» refNum string false none Order reference number
»» smsLinkClicked boolean false none Set to true if SMS link is clicked
»» tinyUrlEmail string false none Tiny URL email
»» tinyUrlSms string false none Tiny URL SMS (if enabled)
»» clientDefinedField1 string false none Custom defined field
»» clientDefinedField2 string false none Custom defined field
»» clientDefinedField3 string false none Custom defined field
»» clientDefinedField4 string false none Custom defined field
»» clientDefinedField5 string false none Custom defined field

Load funds

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/loadCards?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/loadCards?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "custProgId": 0,
  "customerId": 0,
  "filename": "string",
  "fundingId": 0,
  "host": "Prepaid",
  "orderDetails": [
    {
      "amount": 0,
      "comment": "string",
      "firstName": "string",
      "lastName": "string",
      "otherInfo": "string",
      "externalIdentifier": "string",
      "clientDefinedField1": "string",
      "clientDefinedField2": "string",
      "clientDefinedField3": "string",
      "clientDefinedField4": "string",
      "clientDefinedField5": "string"
    }
  ],
  "processDate": "string",
  "qty": 0,
  "valueLoadFee": 0
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/loadCards?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/loadCards',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/loadCards', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/loadCards', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/loadCards?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/loadCards", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /loadCards

To load funds to a specific Card

Required fields are mentioned below: - Pass the other/employeeId value to otherInfo parameter - Pass Customer Program Identifier value to custProgId parameter - Pass Customer Identifier value to customerId parameter - Pass Funding Identifier value to fundingId parameter - Pass the Amount value to amount parameter in $

Optional fields are mentioned below: - Pass comment as per the requirement to comment parameter - Pass Card Holder First name to firstName parameter - Pass Card Holder Last name to lastName parameter - Pass the host as per the requirement to host parameter, you can pass either Prepaid or Fis - Pass External Identifier to externalIdentifier parameter

Tips:

  1. You get the Customer Identifier in login API response as customerId parameter.
  2. To get the Funding Id use getVirtualAccountList API.
  3. You get the Customer Program Identifier in getCustomerProgramList API response as rowId parameter.
  4. For Instant Issue Card, if you attempt to load an unregistered card, the request will fail with the message Card not assigned. Load failed.
  5. To prevent duplicate loads:
    • Ensure that Duplicate Load Checker flag in customer program is turned on.
    • User can pass externalIdentifier against proxy to prevent duplicate

Body parameter

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash after successful login, valid for a user session.
body body object true none
» custProgId body integer true Row id retrieved from 'getCustomerProgramList' API
» customerId body integer true none
» filename body string false Name of the file, if applicable else pass null
» fundingId body integer true Fundingid which can be retrieved from 'getVirtualAccountList' API
» host body string false none
» orderDetails body [object] true none
»» amount body number true Upto two decimal places, eg. 1.01
»» comment body string false Comment
»» firstName body string false First name of Cardholder
»» lastName body string false Last name of Cardholder
»» otherInfo body string true Pass other info or employeeId passed while ordering or registering card
»» externalIdentifier body string false Unique External Identifier value to prevent duplicates.
»» clientDefinedField1 body string false Client defined fields 1
»» clientDefinedField2 body string false Client defined fields 1
»» clientDefinedField3 body string false Client defined fields 1
»» clientDefinedField4 body string false Client defined fields 1
»» clientDefinedField5 body string false Client defined fields 1
» processDate body string false Date of processing, if applicable
» qty body integer false Quantity of cards to be loaded
» valueLoadFee body number false Fee for value load

Enumerated Values

Parameter Value
» host Prepaid
» host Fis

Example responses

Success or error response for single load card order

{
  "returnCode": 0,
  "status": "success",
  "message": "Card loaded successfully",
  "data": "271460",
  "cardBalance": "0.02",
  "txnRefNumber": "CC0099AFE01A"
}
{
  "returnCode": -1,
  "status": "error",
  "message": "No Proxy Number for Card Found|1|-2147220401| 0000000000000",
  "data": "271460"
}
{
  "returnCode": -1,
  "status": "error",
  "message": "Duplicate load detected for External ID | External ID is required"
}

400 Response

{
  "error": {
    "domain": "global",
    "reason": "badRequest",
    "message": "Please provide [Property Name]"
  },
  "code": 400,
  "message": "Please provide [Property Name]"
}

Responses

Status Meaning Description Schema
200 OK Success or error response for single load card order Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Unload funds

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/unloadCards?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/unloadCards?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "applyDate": "string",
  "custProgId": 0,
  "customerId": 0,
  "filename": "string",
  "fundingId": 0,
  "host": "Prepaid",
  "orderDetails": [
    {
      "amount": "string",
      "comment": "string",
      "firstName": "string",
      "lastName": "string",
      "panNumber": "string",
      "proxyKey": "string"
    }
  ],
  "qty": 0
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/unloadCards?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/unloadCards',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/unloadCards', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/unloadCards', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/unloadCards?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/unloadCards", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /unloadCards

To unload cash from a specific Card

Conditional fields are mentioned below. One of them is required: - Pass the Card number value to panNumber parameter. - Pass the Proxy number value to proxyKey parameter.

Required fields are mentioned below: - Pass Customer Program Identifier value to custProgId parameter. - Pass Customer Identifier value to customerId parameter. - Pass Funding Identifier value to fundingId parameter. - Pass the Amount value to amount parameter in $.

Optional fields are mentioned below: - Pass comment as per the requirement to comment parameter. - Pass Card Holder First name to firstName parameter. - Pass Card Holder Last name to lastName parameter. - Pass the host as per the requirement to host parameter, you can pass either Prepaid or Fis.

Tips:

  1. You get the Customer Identifier in login API response as customerId parameter.
  2. To get the Funding Id, use getVirtualAccountList API.
  3. You get the Customer Program Identifier in getCustomerProgramList API response as rowId parameter.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» applyDate body string false apply date specifies the date on which the amount should be loaded
» custProgId body integer true Row id retrieved from 'getCustomerProgramList' API
» customerId body integer true The customer id linked with this user which can be retrieved from the response body of login API
» filename body string false Name of the file uploaded
» fundingId body integer true fundingid which can be retrieved from 'getVirtualAccountList' API
» host body string false none
» orderDetails body [object] true none
»» amount body string true Upto two decimal places, eg. 1.01
»» comment body string false Comment
»» firstName body string false First Name on card
»» lastName body string false Last name on card
»» panNumber body string false Card number. Pass either proxy number or card number
»» proxyKey body string false Proxy number. Pass either proxy number or card number in panNumber field.
» qty body integer false Quantity

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Enumerated Values

Parameter Value
» host Prepaid
» host Fis

Example responses

SUCCESS

{
  "refNum": "CC00B36E1311",
  "statusVal": 1,
  "amount": "0.01",
  "cardBalance": "0.05",
  "fundingId": 0,
  "dstnFundingId": 0,
  "status": "SUCCESS",
  "isMeta": false,
  "message": "Card unload successfully",
  "returnCode": "SUCCESS"
}
{
  "fundingId": 0,
  "dstnFundingId": 0,
  "status": "BATCH_IN_PROGRESS",
  "isMeta": false,
  "message": "Your value unload have been saved and will be processed soon.",
  "returnCode": "SUCCESS"
}
{
  "returnCode": "ERROR",
  "status": "COMPLETED_WITH_ERRORS",
  "message": "Invalid Proxy number|0|10754"
}

400 Response

{
  "error": {
    "domain": "global",
    "reason": "badRequest",
    "message": "Please provide [Property Name]"
  },
  "code": 400,
  "message": "Please provide [Property Name]"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Acknowledge load by order Id

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/acknowledgeReceipt?sessionId=string&orderId=string \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/acknowledgeReceipt?sessionId=string&orderId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/acknowledgeReceipt?sessionId=string&orderId=string',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/acknowledgeReceipt',
  params: {
  'sessionId' => 'string',
'orderId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/acknowledgeReceipt', params={
  'sessionId': 'string',  'orderId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/acknowledgeReceipt', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/acknowledgeReceipt?sessionId=string&orderId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/acknowledgeReceipt", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /acknowledgeReceipt

The receipt of the orders of the type 'Load After Receipt' can be acknowledged by using this API.

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash after successful login, valid for a user session.
orderId query string true A unique ID given to a card order

Example responses

SUCCESS

{
  "returnCode": "200",
  "status": "Success"
}
{
  "returnCode": "-1",
  "status": "error",
  "message": "Order not found"
}

401 Response

{
  "error": {
    "domain": "global",
    "reason": "required",
    "message": "Session not found - **************************************************9002"
  },
  "code": 401,
  "message": "Session not found - **************************************************9002"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Load approval by order Id

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/approveFundLoad?adminSessionId=string&orderId=string \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/approveFundLoad?adminSessionId=string&orderId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/approveFundLoad?adminSessionId=string&orderId=string',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/approveFundLoad',
  params: {
  'adminSessionId' => 'string',
'orderId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/approveFundLoad', params={
  'adminSessionId': 'string',  'orderId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/approveFundLoad', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/approveFundLoad?adminSessionId=string&orderId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/approveFundLoad", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /approveFundLoad

Requires configuration at program level to approve loads(Account manager can assist on this feature)

Parameters

Name In Type Required Description
adminSessionId query string true A unique ID generated by dash after successful login, valid for an admin user session.
orderId query string true A unique ID given to a card order

Example responses

200 Response

{
  "returnCode": 200,
  "message": "Success"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» returnCode integer false none return code value
» message string false none return message

Retrieve the shipping fee

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFee?qty=0&shipMethod=string \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFee?qty=0&shipMethod=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFee?qty=0&shipMethod=string',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFee',
  params: {
  'qty' => 'integer',
'shipMethod' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFee', params={
  'qty': '0',  'shipMethod': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFee', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFee?qty=0&shipMethod=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFee", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getShippingFee

Parameters

Name In Type Required Description
qty query integer true Specifies the quantity of the card order
shipMethod query string true Shipping method retrieved from 'getShippingMethods' API, describes the type of shipping, bulk or individual.

Example responses

200 Response

{
  "shippingFee": 21.6
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
204 No Content No Content None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» shippingFee integer false none none

Retrieve tracking number by order Id

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getOrderTrackingInfo?sessionId=string&orderId=0 \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getOrderTrackingInfo?sessionId=string&orderId=0 HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getOrderTrackingInfo?sessionId=string&orderId=0',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getOrderTrackingInfo',
  params: {
  'sessionId' => 'string',
'orderId' => 'integer'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getOrderTrackingInfo', params={
  'sessionId': 'string',  'orderId': '0'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getOrderTrackingInfo', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getOrderTrackingInfo?sessionId=string&orderId=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getOrderTrackingInfo", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getOrderTrackingInfo

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash after successful login, valid for a user session.
orderId query integer true A unique identifier for a card order

Example responses

200 Response

{
  "orderId": 243806,
  "trackingNumber": "CC00901031FB"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS OrderTrackingDetails
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Resend Digital Email or SMS

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/sendDigitalCardAlert?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/sendDigitalCardAlert?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cpId": 0,
  "proxyKey": "string",
  "resendMethod": "string",
  "alertType": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/sendDigitalCardAlert?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/sendDigitalCardAlert',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/sendDigitalCardAlert', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/sendDigitalCardAlert', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/sendDigitalCardAlert?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/sendDigitalCardAlert", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /sendDigitalCardAlert

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cpId body integer true Row id retrieved from 'getCustomerProgramList' API
» proxyKey body string true Proxy key which can be retrieved from 'searchAccount' API
» resendMethod body string true Resend method type 'Email/SMS'
» alertType body string true Alert type. To Resend Initial Email/SMS pass it as 'Initial'

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "returnCode": -1,
  "status": "error",
  "message": "Email not sent due to disabled email configuration"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» returnCode integer false none error code default -1
» status string false none Status
» message string false none Error message

Get shipping information by proxyKey

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getShippingInformation?sessionId=string&proxyKey=string&customerProgramId=0 \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getShippingInformation?sessionId=string&proxyKey=string&customerProgramId=0 HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getShippingInformation?sessionId=string&proxyKey=string&customerProgramId=0',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getShippingInformation',
  params: {
  'sessionId' => 'string',
'proxyKey' => 'string',
'customerProgramId' => 'integer'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getShippingInformation', params={
  'sessionId': 'string',  'proxyKey': 'string',  'customerProgramId': '0'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getShippingInformation', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getShippingInformation?sessionId=string&proxyKey=string&customerProgramId=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getShippingInformation", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getShippingInformation

To get shipping information for shipping card

Tips:

Parameters

Name In Type Required Description
sessionId query string true A unique ID generated by dash after successful login, valid for a user session.
proxyKey query string true Proxy key of the card
customerProgramId query integer true Customer program Id of the card

Example responses

200 Response

{
  "proxyKey": "0000000423952",
  "trackingNumber": "CC00901031FB",
  "shippingDate": "20/05/2022",
  "shippingType": "individualShip",
  "shippingMethod": "USPS First Class"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS ShippingInformation
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
500 Internal Server Error Server side error ErrorObj500
503 Service Unavailable Service unavailable ErrorObj503

Card Management APIs

The API endpoint name for the set is 'fisendpoint'

Find more info here

Update card status

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/changeCardStatus?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/changeCardStatus?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cpId": 0,
  "proxyKey": "string",
  "cardNum": "string",
  "cardStatus": "ACTIVATE"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/changeCardStatus?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/changeCardStatus',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/changeCardStatus', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/changeCardStatus', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/changeCardStatus?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/changeCardStatus", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /changeCardStatus

To change the card status

Tips:

  1. You can get cpId from getCustomerProgramList API, as parameter named rowId.
  2. You can get proxyKey from searchAccount API.
  3. List of card statuses: [ ACTIVATE, READY, LOSTSTOLEN, SUSPEND, UNSUSPEND, CLOSE ].

Note:

  1. Before marking the card LOST, SUSPEND, or CLOSED, make sure you unload the balance from that card using **unloadCardbyProxy

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cpId body integer true rowId retrieved from 'getCustomerProgramList' API
» proxyKey body string false Proxy key which can be retrieved from 'searchAccount' API. Pass either proxy number or card number.
» cardNum body string false Card number. Pass either proxy number or card number
» cardStatus body string true none

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Enumerated Values

Parameter Value
» cardStatus ACTIVATE
» cardStatus READY
» cardStatus LOST
» cardStatus SUSPEND
» cardStatus UNSUSPEND
» cardStatus CLOSED

Example responses

200 Response

{
  "orderId": "271496",
  "statusVal": 1,
  "cardStatus": "ACTIVATE",
  "fundingId": 0,
  "dstnFundingId": 0,
  "orderDetailId": 514892,
  "isMeta": false
}

Responses

Status Meaning Description Schema
200 OK SUCCESS CardStatus
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
500 Internal Server Error Server side error ErrorObj500
503 Service Unavailable Service unavailable ErrorObj503

Retrieve account/card details

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/searchAccount?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/searchAccount?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "skipCreateRecord": 0,
  "cpId": 0,
  "clientID": 0,
  "proxyKey": "string",
  "cardNum": "string",
  "first": "string",
  "last": "string",
  "ssn": 0,
  "others": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/searchAccount?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/searchAccount',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/searchAccount', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/searchAccount', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/searchAccount?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/searchAccount", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /searchAccount

To get Card info

To get Virtual account info

Tips:

  1. You can get cpId from getCustomerProgramList API, as parameter named

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» skipCreateRecord body integer false Set skipCreateRecord to 1 if you want additional parameters; otherwise, set it to 0. Additional parameters are described at the bottom of the response object.
» cpId body integer false Set the customer program Id, mandatory if clientID is not set.
» clientID body integer false Set the Client Id, mandatory if cpId is not set or if virtual account.
» proxyKey body string false Set the proxy key to search
» cardNum body string false Set the card number to search
» first body string false use to search by first name
» last body string false use to search by last name
» ssn body integer false use to search by SSN
» others body string false Other Information

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "cardNum": "00000000000037",
  "proxyKey": "12312312312311",
  "proxyType": "3",
  "subProgID": "553691",
  "pkgID": "706112",
  "relation": "0",
  "first": "FirstName",
  "last": "LastName",
  "addr1": "5TH STREET PARK AVENUE",
  "addr2": "",
  "addr3": "",
  "city": "NEW JERSEY",
  "state": "NJ",
  "zipCode": "12345",
  "country": "840",
  "phone": "1234568888",
  "voiceExt": "",
  "ssn": "1111111111",
  "dob": "01/01/1990",
  "others": "Test",
  "email": "[email protected]",
  "personID": "1099727045",
  "statusVal": 1,
  "clientName": "PT MetaBank Payroll",
  "cardTypeName": "Payroll Plus",
  "pkgDesc": "White Plastic ASI",
  "PAN": "4380000000006928",
  "trn": "073900081",
  "dda": "2556300000002",
  "fundingId": 0,
  "dstnFundingId": 0,
  "status": "2",
  "statusDescription": "ACTIVE",
  "bin": "438963",
  "middle": "",
  "registrationDate": "1/22/2024 7:30:31 AM",
  "validationCompl": "1/22/2024 7:30:31 AM",
  "isMeta": false
}

Responses

Status Meaning Description Schema
200 OK SUCCESS SearchAccount
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Retrieve card/funding balance

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalance?sessionId=string \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalance?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalance?sessionId=string',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalance',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalance', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalance', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalance?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalance", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getCardBalance

To get Card balance

  1. First way to get Card balance

    • Pass Proxy number value to proxyKey parameter.
    • Pass Customer Identifier number value to cpId parameter.
    • Pass default NULL value to fundingId parameter.
  2. Second way to get Card balance

    • Pass Card number value to accNum parameter.
    • Pass default NULL value to fundingId parameter.

To get Virtual account balance

  1. First way to get Virtual account balance

    • Pass the Proxy number value to proxyKey parameter.
    • Pass the Funding Id value to fundingId parameter.
  2. Second way to get Virtual account balance

    • Pass Card number value to accNum parameter.
    • Pass default NULL value to fundingId parameter.

Tips:

  1. To get the Funding Id, use getVirtualAccountList API.

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
proxyKey query string false Need to get Proxy Number for card balance as well as virtual account balance. Pass either proxy number or card number.
accNum query string false Need to get Card Number Or Virtual Account number for card balance as well as virtual account balance. Pass either proxy number or card number.
fundingId query integer false FundingId value from getVirtualAccountList API. Default value is NULL.
cpId query integer false rowId value from getCustomerProgramList API.
purseNo query integer false Get balance of purse

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

proxyKey: Need to get Proxy Number for card balance as well as virtual account balance. Pass either proxy number or card number.

accNum: Need to get Card Number Or Virtual Account number for card balance as well as virtual account balance. Pass either proxy number or card number.

fundingId: FundingId value from getVirtualAccountList API. Default value is NULL.

purseNo: Get balance of purse

Example responses

200 Response

{
  "statusVal": 1,
  "cardBalance": 0,
  "fundingId": 0,
  "dstnFundingId": 0,
  "isMeta": false
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» statusVal integer false none Status value
» cardBalance integer false none card balance
» fundingId integer false none FundingId default 0
» dstnFundingId integer false none Designation funding id default 0
» isMeta boolean false none IsMeta value default false

Load funds to cards[Depricated]

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/loadCard?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/loadCard?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "custId": 0,
  "fundingId": 0,
  "cardNum": "string",
  "amount": 0
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/loadCard?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/loadCard',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/loadCard', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/loadCard', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/loadCard?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/loadCard", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /loadCard

We recommend using Orderendpoint loadCards API

To load cash to a Card

Tips:

  1. You get the Customer Identifier in login API response as customerId parameter.
  2. To get the Funding Id, use getVirtualAccountList API.
  3. For Instant Issue Card, if you attempt to load an unregistered card, the request will fail with the message Card not assigned. Load failed.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» custId body integer true The customer id linked with this user which can be retrieved from the response body of login API
» fundingId body integer true fundingid which can be retrieved from 'getVirtualAccountList' API
» cardNum body string true Card number received from 'searchAccount' API
» amount body integer true Amount to be loaded in the card

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "refNum": "CC00425339ED",
  "statusVal": 1,
  "amount": "0.02",
  "cardBalance": "0.07",
  "fundingId": 0,
  "dstnFundingId": 0,
  "isMeta": false
}

Bad-Request

{
  "error": {
    "domain": "global",
    "reason": "badRequest",
    "message": "Please provide [Property Name]"
  },
  "code": 400,
  "message": "Please provide [Property Name]"
}
{
  "error": {
    "description": "error description",
    "domain": "global",
    "reason": "badRequest",
    "message": "Card not assigned. Load failed."
  },
  "code": 400,
  "message": "Card not assigned. Load failed."
}

Responses

Status Meaning Description Schema
200 OK SUCCESS CardLoad_Unload
400 Bad Request Bad-Request Inline
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Unload funds from a card[Depricated]

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/unloadCard?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/unloadCard?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cpId": 0,
  "customerId": 0,
  "fundingId": 0,
  "proxyKey": "string",
  "amount": 0,
  "comment": "string",
  "firstName": "string",
  "lastName": "string",
  "host": "Prepaid"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/unloadCard?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/unloadCard',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/unloadCard', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/unloadCard', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/unloadCard?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/unloadCard", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /unloadCard

To unload cash from a specific Card

Required fields are mentioned below: - Pass Customer Identifier value to custId parameter. - Pass Funding Identifier value to fundingId parameter. - Pass the Proxy Number value to proxyKey parameter. - Pass the Amount value to amount parameter in $.

Optional fields are mentioned below: - Pass comment as per the requirement to comment parameter. - Pass Card Holder First name to firstName parameter. - Pass Card Holder Last name to lastName parameter. - Pass the host as per the requirement to comment parameter, you can pass either Prepaid or Fis.

Tips:

  1. You get the Customer Identifier in login API response as customerId parameter.
  2. To get the Funding Id, use getVirtualAccountList API.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cpId body integer true rowId value from getCustomerProgramList API.
» customerId body integer true The customer id linked with this user can be retrieved from the response body of the login API.
» fundingId body integer true fundingid which can be retrieved from 'getVirtualAccountList'API
» proxyKey body string true Proxy number retrieved from 'search account' API
» amount body integer true Amount to be loaded in the card
» comment body string false none
» firstName body string false First name of card holder
» lastName body string false Last name of card holder
» host body string false none

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Enumerated Values

Parameter Value
» host Prepaid
» host Fis

Example responses

200 Response

{
  "refNum": "CC00425339ED",
  "statusVal": 1,
  "amount": "0.02",
  "cardBalance": "0.07",
  "fundingId": 0,
  "dstnFundingId": 0,
  "isMeta": false
}

Responses

Status Meaning Description Schema
200 OK SUCCESS CardLoad_Unload
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Reissue card

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/reissueCard?sessionId=string \
  -H 'Content-Type: */*'

POST https://portal-api-uat.dashsolutions.com/_ah/api/reissueCard?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*

const inputBody = '{
  "cpId": 0,
  "proxyKey": "string",
  "cardNum": "string"
}';
const headers = {
  'Content-Type':'*/*'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/reissueCard?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/reissueCard',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/reissueCard', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/reissueCard', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/reissueCard?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/reissueCard", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /reissueCard

To Reissue Card

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cpId body integer true Row id retrieved from 'getCustomerProgramList' API
» proxyKey body string false proxy number of the virtual account. Pass either proxy number or card number
» cardNum body string false Card number of the virtual account. Pass either proxy number or card number

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

Responses

Status Meaning Description Schema
200 OK SUCCESS
txnlogId - integer None
400 Bad Request Failed to reissue card None

Response Schema

Replace cards

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/replaceCard?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/replaceCard?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cpId": 0,
  "cardNum": "string",
  "newCardNum": "string",
  "proxyKey": "string",
  "newProxyKey": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/replaceCard?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/replaceCard',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/replaceCard', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/replaceCard', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/replaceCard?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/replaceCard", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /replaceCard

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cpId body integer true Row id retrieved from 'getCustomerProgramList' API
» cardNum body string false Card number retrieved from 'search account' API. Mandatory if proxyKey is not provided.
» newCardNum body string false Instant issue card which can be used to replace an existing card (If provided, PackageID will be ignored).
» proxyKey body string false Proxy key of the card you want to replace. Mandatory if card number is not provided.
» newProxyKey body string false Instant issue Proxy key which can be used to replace an existing card (If provided, PackageID will be ignored).

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "cardNum": "************0037",
  "proxyKey": "0000000423952",
  "txnlogId": 0,
  "statusVal": 1,
  "confirmCode": "",
  "fundingId": 0,
  "dstnFundingId": 0,
  "isMeta": false
}

Responses

Status Meaning Description Schema
200 OK SUCCESS CardReplace
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
403 Forbidden Forbidden ErrorObj403
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Retrieve Load History

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getTxnHistory?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getTxnHistory?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cpId": 0,
  "proxyKey": "string",
  "cardNum": "string",
  "customerId": 0,
  "startDate": "string",
  "numDays": 0,
  "cardNumOnly": 0
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getTxnHistory?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getTxnHistory',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getTxnHistory', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getTxnHistory', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getTxnHistory?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getTxnHistory", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getTxnHistory

Tips

To get Transaction history

To retrieve load history of all associated cards

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cpId body integer false Row id retrieved from 'getCustomerProgramList' API. cpId is mandatory if proxyKey is set
» proxyKey body string false proxy number retrieved from 'search account' API. Pass either proxy number or card number.
» cardNum body string false Cardnumber of the virtual account or Card number of Card. Pass either proxy number or card number.
» customerId body integer false The customer id linked with this user which can be retrieved from the response body of login API.mandatory if proxyKey is set
» startDate body string true Specify the date from which you want the statement. The format should be 'mm/dd/yyyy'. If StartDate is not passed or if the value provided is not valid (i.e., wrong format, future date, etc.), it will default to the current date.
» numDays body integer true The history will be fetched depending on 'numDays' specified
» cardNumOnly body integer false Specify whether to fetch provided card number or proxykey data or all associated cards data

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

[
  {
    "cardNum": "**********8034",
    "proxyKey": "129345159458",
    "purseNo": "14",
    "refNum": "CC00142F158D",
    "comment": "Test load",
    "txnDate": 0,
    "amount": 0,
    "fundingId": 0,
    "dstnFundingId": 0,
    "postDate": "05/07/2024",
    "txnDesc": "Value Load",
    "isMeta": false
  }
]

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [TransactionHistory] false none none
» cardNum string false none Card number
» proxyKey string false none Proxy Key
» purseNo string false none Purse Number
» refNum string false none Reference number
» comment string false none Comments
» txnDate integer false none Date of the transaction
» amount integer false none Amount of transaction
» fundingId integer false none Funding ID
» dstnFundingId integer false none Destination funding ID
» postDate string false none Post date
» txnDesc string false none Description of transaction
» isMeta boolean false none Returns true if isMeta is set to true

Retrieve mon/non-mon transactions

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getCardHistory?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getCardHistory?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "clientID": 0,
  "proxyKey": "string",
  "startDate": "string",
  "numDays": 0
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getCardHistory?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getCardHistory',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getCardHistory', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getCardHistory', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getCardHistory?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getCardHistory", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getCardHistory

API to fetch both monetary and non-monetary transaction details for an account/card.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» clientID body integer true Client Identifier
» proxyKey body string true Proxy Key retrieved from 'search account' API
» startDate body string true none
» numDays body integer true The history will be fetched depending on 'numDays' specified

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

[
  {
    "cardNum": "************8034",
    "refNum": "CC00142F158D",
    "txnDate": 0,
    "amount": "0",
    "fundingId": 0,
    "dstnFundingId": 0,
    "txnType": "Non-Mon Update",
    "postDate": "05/07/2024",
    "txnDesc": "Reset uses for the fee track",
    "merchant": "",
    "responseCode": "",
    "responseDescription": "",
    "txnResult": "Completed OK",
    "localAmount": "",
    "localTranCurrCode": "",
    "isMeta": false,
    "utcPostDate": "2024-05-08T00:46:15.080Z",
    "utcInsertedDate": "2024-05-08T00:46:15.080Z"
  }
]

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CardHistory] false none none
» cardNum string false none Replaced current card number
» refNum string false none Reference number
» txnDate integer false none Date of the transaction
» amount string false none Amount of transaction
» fundingId integer false none Funding ID
» dstnFundingId integer false none Destination finding ID
» txnType string false none Type of transaction
» postDate string false none Post date
» txnDesc string false none Description of transaction
» merchant string false none Merchant details
» responseCode string false none Response Code
» responseDescription string false none Response Description
» txnResult string false none Result of transaction
» localAmount string false none Transaction amount in the local currency of the merchant
» localTranCurrCode string false none Local currency code of the merchant
» isMeta boolean false none none
» utcPostDate string false none UTC (Transaction code) post date
» utcInsertedDate string false none UTC (Transaction code) inserted date

Modify cardholder information

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/updateCardHolderInfo?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/updateCardHolderInfo?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cpId": 0,
  "firstName": "string",
  "lastName": "string",
  "personID": "string",
  "ssn": "string",
  "dob": "string",
  "phone": "string",
  "resAddr1": "string",
  "resAddr2": "string",
  "resAddr3": "string",
  "resCity": "string",
  "resState": "string",
  "resZip": "string",
  "addr1": "string",
  "addr2": "string",
  "addr3": "string",
  "city": "string",
  "state": "string",
  "email": "string",
  "zipCode": "string",
  "others": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/updateCardHolderInfo?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/updateCardHolderInfo',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/updateCardHolderInfo', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/updateCardHolderInfo', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/updateCardHolderInfo?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/updateCardHolderInfo", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /updateCardHolderInfo

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cpId body integer true Row id retrieved from 'getCustomerProgramList' API
» firstName body string false none
» lastName body string false none
» personID body string true none
» ssn body string false none
» dob body string false none
» phone body string false none
» resAddr1 body string false none
» resAddr2 body string false none
» resAddr3 body string false none
» resCity body string false none
» resState body string false none
» resZip body string false none
» addr1 body string false none
» addr2 body string false none
» addr3 body string false none
» city body string false none
» state body string false none
» email body string false none
» zipCode body string false none
» others body string false none

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "personID": "11111111",
  "fundingId": 0,
  "dstnFundingId": 0,
  "isMeta": false
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» personID string false none none
» fundingId integer false none none
» dstnFundingId integer false none none
» isMeta boolean false none none

Retrieve statement list

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getStatementList?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getStatementList?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "proxyKey": "string",
  "cardNum": "string",
  "cpId": "string",
  "clientID": "string",
  "fundingId": 0,
  "customerId": 0
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getStatementList?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getStatementList',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getStatementList', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getStatementList', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getStatementList?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getStatementList", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getStatementList

To get Card statement id

### To get Virtual account statement id

### Tips: 1. To get the Funding Id, use getVirtualAccountList API.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» proxyKey body string false proxy number of the virtual account. Pass either proxy number or card number
» cardNum body string false Card number of the virtual account. Pass either proxy number or card number
» cpId body string false Row id retrieved from getCustomerProgramList API. Set if proxy key is used, mandatory if clientID is not set.
» clientID body string false Set the Client Id if proxy key is used, mandatory if cpId is not set.
» fundingId body integer false fundingid which can be retrieved from getVirtualAccountList API. Default value is NULL.
» customerId body integer false The customer id linked with this user which can be retrieved from the response body of login API

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

[
  {
    "stmtId": "string",
    "closingDate": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request FIS API GetStatementList failed None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [StatementList] false none none
» stmtId string false none Id of the statement
» closingDate string false none closing date of the statement

Retrieve statement by Id

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getStatement?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getStatement?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "proxyKey": "string",
  "cardNum": "string",
  "cpId": "string",
  "clientID": "string",
  "customerId": 0,
  "fundingId": 0,
  "stmtId": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getStatement?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getStatement',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getStatement', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getStatement', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getStatement?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getStatement", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getStatement

To get Card statement

To get Virtual account statement

Tips:

  1. To get the Funding Id, use getVirtualAccountList API.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» proxyKey body string false proxy number of the virtual account. Pass either proxy number or card number
» cardNum body string false Card number of the virtual account. Pass either proxy number or card number
» cpId body string false Row id retrieved from getCustomerProgramList API. Set if proxy key is used, mandatory if clientID is not set.
» clientID body string false Set the Client Id if proxy key is used, mandatory if cpId is not set.
» customerId body integer false The customer id linked with this user which can be retrieved from the response body of login API
» fundingId body integer false fundingid which can be retrieved from getVirtualAccountList API. Default value is NULL.
» stmtId body string true stmtId which can be retrieved from 'getStatementList' API

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

[
  {
    "txnDate": "string",
    "postDate": "string",
    "refNum": 0,
    "txnDetail": "string",
    "debitAmt": "string",
    "creditAmt": "string",
    "txnID": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request FIS API GetStatement failed None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Statements] false none none
» txnDate string false none Transaction date
» postDate string false none Post date
» refNum integer false none Reference number
» txnDetail string false none Transaction detail
» debitAmt string false none Debit amount from the account
» creditAmt string false none Credit amount from the account
» txnID string false none Transaction ID, a unique ID for every transaction

Retrieve card/account balance[Depricated]

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalanceByProxy?sessionId=string&proxyNum=string&custProgId=0 \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalanceByProxy?sessionId=string&proxyNum=string&custProgId=0 HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalanceByProxy?sessionId=string&proxyNum=string&custProgId=0',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalanceByProxy',
  params: {
  'sessionId' => 'string',
'proxyNum' => 'string',
'custProgId' => 'integer'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalanceByProxy', params={
  'sessionId': 'string',  'proxyNum': 'string',  'custProgId': '0'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalanceByProxy', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalanceByProxy?sessionId=string&proxyNum=string&custProgId=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getCardBalanceByProxy", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getCardBalanceByProxy

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
proxyNum query string true Alternative number to identify a card
custProgId query integer true Row id retrieved from 'getCustomerProgramList' API
purseNo query integer false Get balance of purse

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

purseNo: Get balance of purse

Example responses

200 Response

{
  "cardBalance": "string"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Failed to retrieve balance by proxy number None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» cardBalance string false none Amount on card

Retrieve card holder information

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getCardHolderInfo?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getCardHolderInfo?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cpId": 0,
  "clientID": "string",
  "personID": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getCardHolderInfo?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getCardHolderInfo',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getCardHolderInfo', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getCardHolderInfo', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getCardHolderInfo?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getCardHolderInfo", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getCardHolderInfo

Note: The “shipDate” response will be provided for physical card orders from our ArrowEye fulfillment center. This data will only be available in our production environment

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cpId body integer true Row id retrieved from 'getCustomerProgramList' API
» clientID body string false client ID retrieved from 'getCustomerProgramList' API
» personID body string true person Id

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "first": "First name",
  "last": "Last name",
  "suffix": "Suffix",
  "nameOnCard": "Name on card",
  "addr1": "5TH STREET PARK AVENUE",
  "addr2": "",
  "addr3": "",
  "city": "NEW JERSEY",
  "state": "NJ",
  "zipCode": "12345",
  "country": "840",
  "ssn": "1111111111",
  "dob": "1/1/1990",
  "email": "[email protected]",
  "resAddr1": "5TH STREET PARK AVENUE",
  "resAddr2": "",
  "resAddr3": "",
  "resCity": "NEW JERSEY",
  "resState": "NJ",
  "resZip": "12345",
  "resCountry": "840",
  "personID": "12345525",
  "fundingId": 0,
  "dstnFundingId": 0,
  "shipDate": "2024/11/07",
  "isMeta": false,
  "accountOpenDate": "2021-11-01T09:25:58"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS CardHolderInfo
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Retrieve card info status

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getCardInfoStatus?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getCardInfoStatus?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "clientID": "31982",
  "proxyKey": "5146952466619"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getCardInfoStatus?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getCardInfoStatus',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getCardInfoStatus', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getCardInfoStatus', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getCardInfoStatus?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getCardInfoStatus", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getCardInfoStatus

Provides the information about the card, like card expiry date, card status.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» clientID body string true Client Identifier of that specific program, present in the response of getCustomerProgramList API line item.
» proxyKey body string true Proxy key present in the response of searchAccount API line item.

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "expDate": "06/21",
  "statusVal": 1,
  "cardStatus": "string",
  "fundingId": 0,
  "dstnFundingId": 0,
  "status": 2,
  "statusDescription": "Active",
  "updated": "6/21/2019 5:01:43 AM",
  "fullExpDate": "6/30/2021 11:59:59 PM",
  "isMeta": false
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
500 Internal Server Error Server side error ErrorObj500

Response Schema

Status Code 200

Name Type Required Restrictions Description
» expDate string false none Expiration date of card
» statusVal integer false none none
» cardStatus string false none Status of card
» fundingId integer false none none
» dstnFundingId integer false none none
» status integer false none none
» statusDescription string false none none
» updated string false none last card updated date and time
» fullExpDate string false none Complete expiration date and time of card
» isMeta boolean false none none

Load a card by proxy[Depricated]

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/loadCardByProxy?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/loadCardByProxy?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "fundingId": 0,
  "cpId": 0,
  "amount": "string",
  "customerId": 0,
  "comment": "string",
  "proxyKey": "string",
  "purseNo": 0
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/loadCardByProxy?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/loadCardByProxy',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/loadCardByProxy', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/loadCardByProxy', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/loadCardByProxy?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/loadCardByProxy", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /loadCardByProxy

We recommend using Orderendpoint loadCards API

Tips:

  1. For Instant Issue Card, if you attempt to load an unregistered card, the request will fail with the message Card not assigned. Load failed.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» fundingId body integer true none
» cpId body integer true Row id retrieved from 'getCustomerProgramList' API
» amount body string true none
» customerId body integer true none
» comment body string false none
» proxyKey body string true none
» purseNo body integer false none

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

LoadCardByProxy failed

{
  "errorCode": "400",
  "errorMessage": "LoadCardByProxy failed"
}
{
  "errorCode": "400",
  "errorMessage": "Card not registered"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS None
400 Bad Request LoadCardByProxy failed Inline

Response Schema

Transfer funds

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/transferFunds?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/transferFunds?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "fundingId": "string",
  "dstnFundingId": "string",
  "amount": "string",
  "customerId": 0,
  "paymentType": "string",
  "comment": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/transferFunds?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/transferFunds',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/transferFunds', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/transferFunds', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/transferFunds?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/transferFunds", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /transferFunds

Transfer funds form one virtual account to other. 'Funding id' of the virtual account can be found in the response body of Get Virtual Account List

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» fundingId body string true fundingid which can be retrieved from 'getVirtualAccountList' API
» dstnFundingId body string true none
» amount body string true none
» customerId body integer true none
» paymentType body string false Payment type is 'Virtual'
» comment body string false none

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "amount": "string",
  "refNum": "string",
  "cardBalance": "string",
  "statusVal": 0
}

Responses

Status Meaning Description Schema
200 OK SUCCESS FundTransfer
400 Bad Request Transfer of funds failed None

Response Schema

Transfer funds by proxy

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByProxy?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByProxy?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "proxyKey": "string",
  "cpId": "string",
  "amount": "string",
  "newProxyKey": "string",
  "newCpId": "string",
  "customerId": 0,
  "paymentType": "string",
  "comment": "string",
  "srcAccount": "string",
  "dstnAccount": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByProxy?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByProxy',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByProxy', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByProxy', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByProxy?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByProxy", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /transferFundsByProxy

Transfer funds form one card to another card.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» proxyKey body string false Proxy number
» cpId body string false Row id retrieved from 'getCustomerProgramList' API
» amount body string true none
» newProxyKey body string false none
» newCpId body string false none
» customerId body integer true none
» paymentType body string false Payment type is 'Card'
» comment body string false none
» srcAccount body string false Source account nickname comes from 'getOrderListByCustomerAndStatus' API
» dstnAccount body string false Destination account nickname comes from 'getOrderListByCustomerAndStatus' API

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "refNum": "string",
  "statusVal": 0,
  "amount": 0,
  "cardBalance": 0
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Transfer of funds by proxy failed None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» refNum string false none Reference number
» statusVal integer false none Status value
» amount integer false none none
» cardBalance integer false none balance amount in the card

Transfer funds by card number

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByCardNum?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByCardNum?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cardNum": "string",
  "newCardNum": "string",
  "amount": "string",
  "comment": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByCardNum?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByCardNum',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByCardNum', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByCardNum', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByCardNum?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/transferFundsByCardNum", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /transferFundsByCardNum

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cardNum body string true none
» newCardNum body string true none
» amount body string true none
» comment body string false none

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "amount": "string",
  "refNum": "string",
  "cardBalance": "string",
  "statusVal": 0
}

Responses

Status Meaning Description Schema
200 OK SUCCESS FundTransfer
400 Bad Request Transfer of funds failed None

Response Schema

Retrieve package list by subprogram

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getPkgListBySubprogram?sessionId=string&subprogramID=string&addToDB=true \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getPkgListBySubprogram?sessionId=string&subprogramID=string&addToDB=true HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getPkgListBySubprogram?sessionId=string&subprogramID=string&addToDB=true',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getPkgListBySubprogram',
  params: {
  'sessionId' => 'string',
'subprogramID' => 'string',
'addToDB' => 'boolean'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getPkgListBySubprogram', params={
  'sessionId': 'string',  'subprogramID': 'string',  'addToDB': 'true'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getPkgListBySubprogram', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getPkgListBySubprogram?sessionId=string&subprogramID=string&addToDB=true");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getPkgListBySubprogram", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getPkgListBySubprogram

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
subprogramID query string true Subprogram ID of the customer
addToDB query boolean true Set to true to save packages to database

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

[
  {
    "subProgID": "string",
    "pkgID": "string",
    "pkgDesc": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request failed to retrive the package list None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [PackageList] false none none
» subProgID string false none Sub program Id
» pkgID string false none Package Id
» pkgDesc string false none Package description

Retrieve virtual account list

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualAccountList?sessionId=string&customerId=0&searchHierarchy=true \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualAccountList?sessionId=string&customerId=0&searchHierarchy=true HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualAccountList?sessionId=string&customerId=0&searchHierarchy=true',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualAccountList',
  params: {
  'sessionId' => 'string',
'customerId' => 'integer',
'searchHierarchy' => 'boolean'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualAccountList', params={
  'sessionId': 'string',  'customerId': '0',  'searchHierarchy': 'true'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualAccountList', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualAccountList?sessionId=string&customerId=0&searchHierarchy=true");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualAccountList", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getVirtualAccountList

To proceed with transaction related operations the first step is to retrieve the list of virtual accounts. These are accounts through which all the transactions take place.

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
customerId query integer true A unique identifier given to a customer
searchHierarchy query boolean true Shows a hierarchy of virtual accounts if set to true

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

[
  {
    "fundingId": 0,
    "customerId": 0,
    "proxy": "string",
    "packageId": 0,
    "subprogramId": 0,
    "clientId": 0,
    "isMasterVA": true,
    "firstName": "string",
    "lastName": "string",
    "ddaAct": "string",
    "trn": "string",
    "name": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request failed to retrive the virtual account list None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [VirtualAccountList] false none none
» fundingId integer false none Funding Id
» customerId integer false none Customer Id
» proxy string false none Proxy nuber of the card
» packageId integer false none Package id
» subprogramId integer false none Sub program Id
» clientId integer false none Client Id
» isMasterVA boolean false none Returns true if isMasterVA is true
» firstName string false none First name
» lastName string false none Last name
» ddaAct string false none DDA number
» trn string false none Routing number
» name string false none none

Retrieve virtual account history

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualActHistory?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualActHistory?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "clientID": "string",
  "proxyKey": "string",
  "startDate": "string",
  "numDays": "string",
  "customerId": 0
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualActHistory?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualActHistory',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualActHistory', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualActHistory', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualActHistory?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getVirtualActHistory", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getVirtualActHistory

Get transaction details of specific virtual account. The results will be filtered according to 'startDate' and 'numDays' specified in the request body. The 'proxyKey' can be found in the response body of Get Virtual Account List.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» clientID body string false none
» proxyKey body string false none
» startDate body string false none
» numDays body string false none
» customerId body integer false none

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

[
  {
    "userID": "string",
    "cardNum": "string",
    "refNum": "string",
    "comment": "string",
    "txnDate": "string",
    "amount": "string",
    "merchantNameLoc": "string",
    "postDate": "string",
    "txnDesc": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request failed to retrive the virtual account history None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [VirtualAccountHistory] false none none
» userID string false none User ID
» cardNum string false none Card number
» refNum string false none Reference number for the transaction
» comment string false none Comments
» txnDate string false none Transaction date
» amount string false none Transaction amount
» merchantNameLoc string false none Combination of the cardholder name and six digits of the card number
» postDate string false none Transaction post date
» txnDesc string false none Transaction description

Update Pin

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/changePinByProxy?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/changePinByProxy?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "proxyKey": "string",
  "cpId": 0,
  "newPin": "string",
  "oldPin": "string",
  "comment": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/changePinByProxy?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/changePinByProxy',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/changePinByProxy', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/changePinByProxy', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/changePinByProxy?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/changePinByProxy", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /changePinByProxy

This is used to change the Pin of the card by providing cpId, proxy, oldPin, and newPin. If the oldPin sent is empty, then the system will set the newPin to the card.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» proxyKey body string true Proxy number of the card
» cpId body integer true Row id retrieved from 'getCustomerProgramList' API
» newPin body string true New Pin number to be set
» oldPin body string false Old Pin number
» comment body string false none

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

{
  "proxyKey": "string",
  "statusVal": 0
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Failed to change pin by proxy number None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» proxyKey string false none Proxy number
» statusVal integer false none status value

Retrieve virtual account by customer

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getAllVirtualAccountsByCustomer?sessionId=string&customerId=0 \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getAllVirtualAccountsByCustomer?sessionId=string&customerId=0 HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getAllVirtualAccountsByCustomer?sessionId=string&customerId=0',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getAllVirtualAccountsByCustomer',
  params: {
  'sessionId' => 'string',
'customerId' => 'integer'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getAllVirtualAccountsByCustomer', params={
  'sessionId': 'string',  'customerId': '0'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getAllVirtualAccountsByCustomer', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getAllVirtualAccountsByCustomer?sessionId=string&customerId=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getAllVirtualAccountsByCustomer", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getAllVirtualAccountsByCustomer

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
customerId query integer true A unique identifier given to a customer

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

200 Response

[
  {
    "fundingId": 0,
    "customerId": 0,
    "proxy": "string",
    "packageId": 0,
    "subprogramId": 0,
    "clientId": 0,
    "isMasterVA": true,
    "firstName": "string",
    "lastName": "string",
    "ddaAct": "string",
    "trn": "string",
    "name": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request failed to retrive the virtual account list by customer None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [VirtualAccountList] false none none
» fundingId integer false none Funding Id
» customerId integer false none Customer Id
» proxy string false none Proxy nuber of the card
» packageId integer false none Package id
» subprogramId integer false none Sub program Id
» clientId integer false none Client Id
» isMasterVA boolean false none Returns true if isMasterVA is true
» firstName string false none First name
» lastName string false none Last name
» ddaAct string false none DDA number
» trn string false none Routing number
» name string false none none

Set Card holder enrollment

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/setCardholderEnrollmentWithAddlParams?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/setCardholderEnrollmentWithAddlParams?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "msgType": "SMS",
  "cardNum": "string",
  "msgAddress": "string",
  "country": 840,
  "languageID": 1,
  "doNotDisturb": 0
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/setCardholderEnrollmentWithAddlParams?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/setCardholderEnrollmentWithAddlParams',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/setCardholderEnrollmentWithAddlParams', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/setCardholderEnrollmentWithAddlParams', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/setCardholderEnrollmentWithAddlParams?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/setCardholderEnrollmentWithAddlParams", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /setCardholderEnrollmentWithAddlParams

Creates or updates cardholder's messaging enrollment (SMS, Email), change the email address for messages, or the phone number for texts, opt for different messages.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier(sessionId) parameter you receive after successful login
body body object true none
» msgType body string true Message type to identify a service. like SMS,Email
» cardNum body string true Card number to enroll - (16 Digit)
» msgAddress body string true Mobile number (or email address) to use if there is a problem sending the alert
» country body number true Country code of registered mobile number Use ISO 3166 Numeric Codes. Depending on options selected 840 might be the only value supported for your program.
» languageID body number true Unique value which identifies a particular language selected by the cardholder during enrollment, value provided by FIS (Use 1 for English).
» doNotDisturb body number false Should be 1 or 0.

Detailed descriptions

» doNotDisturb: Should be 1 or 0. 0 = Disables DoNotDisturb option for the SMS enrollment. 1 = Enables DoNotDisturb option for the SMS enrollment. To enroll in this feature, on configuration level (Client, Program or Subprogram) it has to be supported. Only applicable to SMS

Example responses

200 Response

{
  "statusVal": 0,
  "statusMsg": "string"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Message received by FIS None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» statusVal integer false none status value
» statusMsg string false none This field will hold the Card Holder Enrollment data in XML format. Please refer to the file "getCardholderEnrollmentSample.xml" in the API description above for the XML structure.

Retrieve Card holder enrollment

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getCardholderEnrollmentWithAddlParams?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getCardholderEnrollmentWithAddlParams?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "personID": "string",
  "cardNum": "string",
  "msgType": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getCardholderEnrollmentWithAddlParams?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getCardholderEnrollmentWithAddlParams',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getCardholderEnrollmentWithAddlParams', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getCardholderEnrollmentWithAddlParams', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getCardholderEnrollmentWithAddlParams?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getCardholderEnrollmentWithAddlParams", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getCardholderEnrollmentWithAddlParams

Retrieves messaging enrollment information for cardholder by card number and message type.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier(sessionId) parameter you receive after successful login
body body object true none
» personID body string true Person Id
» cardNum body string true Card number
» msgType body string true Message type to identify a service. like SMS,Email,RTN

Example responses

200 Response

{
  "statusVal": 0,
  "statusMsg": "string"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Message received by FIS None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» statusVal integer false none status value
» statusMsg string false none This field will hold the Card Holder Enrollment data in xml format. Please refer to the file "getCardholderEnrollmentSample.xml" in the API description above for the xml structure.

Transfer funds from card to card

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/acct2AcctTransferFunds?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/acct2AcctTransferFunds?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "senderCardNumber": "string",
  "senderProxyKey": "string",
  "receiverCardNumber": "string",
  "receiverProxyKey": "string",
  "clientID": "345848",
  "comment": "string",
  "amount": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/acct2AcctTransferFunds?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/acct2AcctTransferFunds',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/acct2AcctTransferFunds', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/acct2AcctTransferFunds', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/acct2AcctTransferFunds?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/acct2AcctTransferFunds", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /acct2AcctTransferFunds

To transfer funds from a sender cardnumber to a receiver cardnumber.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier(sessionId) parameter you receive after successful login
body body object true none
» senderCardNumber body string false Card number of sender
» senderProxyKey body string false Proxy Key of sender is required if senderCardNumber is not used
» receiverCardNumber body string false Card number of receiver
» receiverProxyKey body string false Proxy Key of receiver is required if receiverCardNumber is not used
» clientID body string false client Identifier should be provided only if proxyKey is used.
» comment body string true Comment
» amount body string true Amount to be transfer

Example responses

200 Response

{
  "retrievalRefNo": "string",
  "statusVal": 0
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Message received by FIS None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» retrievalRefNo string false none Retrieval Reference Number of the transaction
» statusVal integer false none status value

Create account comment

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/createAccountComment?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/createAccountComment?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cardNum": "string",
  "reasonCode": "string",
  "comment": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/createAccountComment?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/createAccountComment',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/createAccountComment', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/createAccountComment', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/createAccountComment?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/createAccountComment", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /createAccountComment

Insert a non-monetary record for the referenced cardnumber

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier(sessionId) parameter you receive after successful login
body body object true none
» cardNum body string true Card number
» reasonCode body string true Please refer to the file "ReasonCodes.xlsx" in the API description above for reason codes.
» comment body string true The comment to attach

Example responses

200 Response

{
  "statusValue": 0,
  "successful": "string"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Failed to create comment None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» statusValue integer false none 1 = Success; 0= Failure with reason
» successful string false none 0=No, 1=Yes

Create account comment by proxy key

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/createAccountCommentByProxy?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/createAccountCommentByProxy?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "proxyKey": "string",
  "subProgID": "string",
  "comment": "string",
  "reasonCode": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/createAccountCommentByProxy?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/createAccountCommentByProxy',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/createAccountCommentByProxy', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/createAccountCommentByProxy', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/createAccountCommentByProxy?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/createAccountCommentByProxy", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /createAccountCommentByProxy

Insert a non-monetary record for the card associated to the referenced proxy

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier(sessionId) parameter you receive after successful login
body body object true none
» proxyKey body string true Proxy number
» subProgID body string true sub program Id
» comment body string true The comment to attach
» reasonCode body string true Please refer to the file "ReasonCodes.xlsx" in the API description above for reason codes.

Example responses

200 Response

{
  "statusValue": 0,
  "confirmCode": "string",
  "proxyKey": 0
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Failed to create comment None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» statusValue integer false none 1 = Success; 0= Failure with reason
» confirmCode string false none FIS generated confirmation number
» proxyKey integer false none Proxy number of card to which comment was attached

Assign secondary card

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/assignSecondaryCardFees?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/assignSecondaryCardFees?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "clientID": "345848",
  "proxyKey": "6240083446069",
  "pkgID": "707225",
  "subProgID": "785786",
  "shippingId": "15",
  "personID": 1089319942
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/assignSecondaryCardFees?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/assignSecondaryCardFees',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/assignSecondaryCardFees', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/assignSecondaryCardFees', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/assignSecondaryCardFees?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/assignSecondaryCardFees", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /assignSecondaryCardFees

Associate a secondary physical card to an existing account.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier(sessionId) parameter you receive after successful login
body body object true none
» clientID body string true client Identifier
» proxyKey body string true Proxy number of Primary card
» pkgID body string true Package Identifier associated to the secondary card
» subProgID body string true sub program Identifier
» shippingId body string false Shipping Identifier
» personID body number false Person Identifier present under the response of searchAccount API

Example responses

200 Response

{
  "cardNum": "string",
  "proxyKey": 0,
  "statusValue": 0,
  "confirmCode": "string",
  "totalFees": "string"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Failed to assign secondary card None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» cardNum string false none Secondary card number
» proxyKey integer false none secondary cardnum proxykey
» statusValue integer false none 1 = Success; 0= Failure with reason
» confirmCode string false none Confirm code
» totalFees string false none Total Fees

Create a person identifier

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/createPerson?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/createPerson?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "clientID": "string",
  "firstName": "string",
  "lastName": "string",
  "addr1": "string",
  "city": "string",
  "ssn": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/createPerson?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/createPerson',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/createPerson', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/createPerson', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/createPerson?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/createPerson", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /createPerson

Create a person Identifier to an existing cardholder.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier(sessionId) parameter you receive after successful login
body body object true none
» clientID body string true client Identifier
» firstName body string true Cardholder's first name
» lastName body string true Cardholder's last name
» addr1 body string true Cardholder's address line-1
» city body string true Cardholder's mailing city
» ssn body string true Cardholder's SSN or unique identifier

Example responses

200 Response

{
  "personID": "string",
  "statusValue": 0
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Failed to create person Identifier None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» personID string false none Secondary person Identifier
» statusValue integer false none 1 = Success; 0= Failure with reason

Retrieve DDA and TRN.

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getDirectAccessInfoByCard?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getDirectAccessInfoByCard?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cardNum": "string",
  "proxyKey": "string",
  "clientID": "string"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getDirectAccessInfoByCard?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getDirectAccessInfoByCard',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getDirectAccessInfoByCard', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getDirectAccessInfoByCard', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getDirectAccessInfoByCard?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getDirectAccessInfoByCard", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getDirectAccessInfoByCard

To get DDA and TRN info

First way to get DDA and TRN info - Pass the proxy number value to proxyKey parameter. - Pass the ClientId value to clientId parameter.

Second way to get DDA and TRN info - Pass the card number value to cardNum parameter.

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier(sessionId) parameter you receive after successful login
body body object true none
» cardNum body string true Card number
» proxyKey body string true Proxy key of the card
» clientID body string true Unique Client Id

Example responses

200 Response

{
  "cardNum": "string",
  "subProgID": "string",
  "statusVal": 0,
  "cardStatus": "string",
  "trn": "string",
  "dda": "string",
  "fundingId": 0,
  "dstnFundingId": 0,
  "isMeta": true
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Failed to get direct access info by card None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» cardNum string false none Card number
» subProgID string false none none
» statusVal integer false none none
» cardStatus string false none none
» trn string false none none
» dda string false none none
» fundingId integer false none none
» dstnFundingId integer false none none
» isMeta boolean false none none

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getRelatedCards?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getRelatedCards?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cpId": 17296,
  "cardNumber": "4389630005205643",
  "proxyKey": "5522055323645",
  "showPersonSummary": "0"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getRelatedCards?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getRelatedCards',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getRelatedCards', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getRelatedCards', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getRelatedCards?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getRelatedCards", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getRelatedCards

Tips:

FIS Relation Type

Body parameter

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cpId body integer true Row Id retrieved from "getCustomerProgramList" API
» cardNumber body string false Card number received from "searchAccount" API
» proxyKey body string false Proxy key received from "searchAccount" API
» showPersonSummary body string false Person details

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

SUCCESS

[
  {
    "cardNum": "4389630005253668",
    "proxyKey": "5317532041661",
    "panProxy": "5522055323645",
    "Status": "1",
    "statusName": "READY",
    "statusDescription": "Ready for activation",
    "expDate": "11/27",
    "lExpDate": "11/27",
    "additionalCard": "0",
    "cardType": "PHYSICAL",
    "dda": "2552764056404",
    "trn": "073972181"
  }
]
[
  {
    "cardNum": "4389630005253668",
    "proxyKey": "5317532041661",
    "panProxy": "5522055323645",
    "Status": "1",
    "statusName": "READY",
    "statusDescription": "Ready for activation",
    "expDate": "11/27",
    "lExpDate": "11/27",
    "additionalCard": "0",
    "cardType": "PHYSICAL",
    "dda": "2552764056404",
    "trn": "073972181",
    "personID": "1100743463",
    "holderID": "1100743463",
    "buyerLoaderID": "1100743463",
    "programTitle": "MetaBank Payroll",
    "programName": "MetaBank Payroll",
    "subProgramTitle": "Payroll Plus",
    "cardTypeName": "NORMAL",
    "cardTypeDescription": "Card type description",
    "relation": "Person relation to the account holder",
    "relationDescription": "Person relation to the account holder",
    "salutation": "Honorific such as Dr/Mr/Mrs",
    "first": "Person first name provided while ordering or registering card",
    "middle": "Person midlle name provided while ordering or registering card",
    "last": "Person last name provided while ordering or registering card",
    "suffix": "Suffix such as Jr/Sr/II",
    "title": "Title of person provided while ordering or registering card",
    "nameOnCard": "Persons name on card provided while ordering or registering card",
    "vip": "Flag to indicate if cardholder is to receive VIP traetment"
  }
]

400 Response

{
  "error": {
    "domain": "global",
    "reason": "badRequest",
    "message": "Please provide [Property Name]"
  },
  "code": 400,
  "message": "Please provide [Property Name]"
}
Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500

Retrieve latest card, bal & status

Code samples

# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/getLatestCardBalStatus?sessionId=string \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json'

POST https://portal-api-uat.dashsolutions.com/_ah/api/getLatestCardBalStatus?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: */*
Accept: application/json

const inputBody = '{
  "cpId": 18563,
  "cardNumber": "4389630016262658",
  "proxyKey": "3468629087653",
  "showPersonSummary": "0"
}';
const headers = {
  'Content-Type':'*/*',
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getLatestCardBalStatus?sessionId=string',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => '*/*',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/getLatestCardBalStatus',
  params: {
  'sessionId' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json'
}

r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/getLatestCardBalStatus', params={
  'sessionId': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => '*/*',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://portal-api-uat.dashsolutions.com/_ah/api/getLatestCardBalStatus', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getLatestCardBalStatus?sessionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"*/*"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/getLatestCardBalStatus", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /getLatestCardBalStatus

Tips:

FIS Relation Type

Body parameter

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
body body object true none
» cpId body integer true Row ID retrieved from "getCustomerProgramList" API
» cardNumber body string false Card number received from "searchAccount" API
» proxyKey body string false Proxy key received from "searchAccount" API
» showPersonSummary body string false Person details

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

Example responses

SUCCESS

{
  "statusVal": 1,
  "accountBalance": "2.00",
  "expDate": "03/28",
  "cardStatus": "ACTIVE",
  "status": "2",
  "statusDescription": "Active",
  "cards": [
    {
      "cardNum": "4389630025896157",
      "proxyKey": "9910969002157",
      "panProxy": "3468629087653",
      "Status": "2",
      "statusName": "ACTIVE",
      "statusDescription": "Active",
      "expDate": "03/28",
      "lExpDate": "02/33",
      "additionalCard": "0",
      "cardType": "DIGITAL"
    }
  ]
}
{
  "statusVal": 1,
  "accountBalance": "2.00",
  "expDate": "03/28",
  "cardStatus": "ACTIVE",
  "status": "2",
  "statusDescription": "Active",
  "cards": [
    {
      "cardNum": "4389630025896157",
      "proxyKey": "9910969002157",
      "panProxy": "3468629087653",
      "Status": "2",
      "statusName": "ACTIVE",
      "statusDescription": "Active",
      "expDate": "03/28",
      "lExpDate": "02/33",
      "additionalCard": "0",
      "cardType": "DIGITAL",
      "personID": "1101596427",
      "holderID": "1101596427",
      "buyerLoaderID": "1101596427",
      "programTitle": "MetaBank Payroll",
      "programName": "MetaBank Payroll",
      "subProgramTitle": "Payroll Plus",
      "cardTypeName": "NORMAL",
      "cardTypeDescription": "Normal card",
      "relation": "0",
      "relationDescription": "SELF",
      "salutation": "",
      "first": "PRATHAMESH",
      "middle": "S",
      "last": "SHEWALE",
      "suffix": "MR",
      "title": "",
      "nameOnCard": "",
      "vip": ""
    }
  ]
}

400 Response

{
  "error": {
    "domain": "global",
    "reason": "badRequest",
    "message": "Please provide [Property Name]"
  },
  "code": 400,
  "message": "Please provide [Property Name]"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500
503 Service Unavailable Service unavailable ErrorObj503

Response Schema

Receipt images for transaction ref

Code samples

# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getTxnReceipt?sessionId=string&cpId=0&proxyKey=string&transactionRefNum=string \
  -H 'Accept: application/json'

GET https://portal-api-uat.dashsolutions.com/_ah/api/getTxnReceipt?sessionId=string&cpId=0&proxyKey=string&transactionRefNum=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://portal-api-uat.dashsolutions.com/_ah/api/getTxnReceipt?sessionId=string&cpId=0&proxyKey=string&transactionRefNum=string',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://portal-api-uat.dashsolutions.com/_ah/api/getTxnReceipt',
  params: {
  'sessionId' => 'string',
'cpId' => 'integer',
'proxyKey' => 'string',
'transactionRefNum' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getTxnReceipt', params={
  'sessionId': 'string',  'cpId': '0',  'proxyKey': 'string',  'transactionRefNum': 'string'
}, headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://portal-api-uat.dashsolutions.com/_ah/api/getTxnReceipt', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://portal-api-uat.dashsolutions.com/_ah/api/getTxnReceipt?sessionId=string&cpId=0&proxyKey=string&transactionRefNum=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/getTxnReceipt", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /getTxnReceipt

### Note - Transaction receipt link is valid for only 5 minutes.

Parameters

Name In Type Required Description
sessionId query string true Session Identifier (sessionId) parameter you receive after successful login.
cpId query integer true Customer program Id(cpId) parameter you will receive from getCustomerProgramList API, as parameter named rowId.
proxyKey query string true Card proxy number(proxyKey) to identify a card.
transactionRefNum query string true Transaction reference number (transactionRefNum) parameter you will get from getCardHistory API, as parameter named refNum.

Detailed descriptions

sessionId: Session Identifier (sessionId) parameter you receive after successful login.

cpId: Customer program Id(cpId) parameter you will receive from getCustomerProgramList API, as parameter named rowId.

proxyKey: Card proxy number(proxyKey) to identify a card.

transactionRefNum: Transaction reference number (transactionRefNum) parameter you will get from getCardHistory API, as parameter named refNum.

Example responses

200 Response

{
  "receiptImageUrl": "https://prepaiddev.blob.core.windows.net/receipts/TransactionImg.jpg?sv=2019-07-07&sr=b&sig=JF8PX%2FCeiLeFhfOzGry8siMiSdG25bo%2BOPWMNxf8EB0%3D&se=2024-12-10T17%3A14%3A38Z&sp=r"
}

Responses

Status Meaning Description Schema
200 OK SUCCESS Inline
400 Bad Request Bad-Request ErrorObj400
401 Unauthorized Un-Authorized ErrorObj401
404 Not Found Not Found ErrorObj404
500 Internal Server Error Server side error ErrorObj500
503 Service Unavailable Service unavailable ErrorObj503

Response Schema

Status Code 200

Name Type Required Restrictions Description
» receiptImageUrl string false none Transaction receipt link

Schemas

User

{
  "userId": 0,
  "loginId": "string",
  "sessionId": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "customerId": 0,
  "customerType": "string",
  "customerName": "string",
  "role": "string",
  "isHost": false,
  "isHostAdmin": false,
  "deleted": false,
  "canLoadCard": false,
  "canViewLoadHistory": false,
  "kind": "string",
  "etag": "string"
}

Properties

Name Type Required Restrictions Description
userId integer(int64) false none Unique identifier of the logged in user
loginId string false none Logged in username
sessionId string false none Unique session identifier after successful login
firstName string false none User's first name
lastName string false none User's last name
email string false none User's email
customerId integer false none The customer Id linked to the logged in user
customerType string false none Customer type that can be retrieved by 'getCustomerTypes' API
customerName string false none Customer Name
role string false none Role of the customer
isHost boolean false none Returns true if the role is host
isHostAdmin boolean false none Returns true if the role is host admin
deleted boolean false none Returns true if the role is host
canLoadCard boolean false none Returns true if can load card is true
canViewLoadHistory boolean false none Returns true if can view load history is true
kind string false none Used to indicate the type or category of the resource
etag string false none Entity tag is used for caching and version control

CustomerProgram

{
  "rowId": 0,
  "productId": 0,
  "customerId": 0,
  "planId": 0,
  "commissionId": 0,
  "einCheck": true,
  "ofacCheck": true,
  "bgCheck": true,
  "launchDate": "string",
  "websiteCheck": true,
  "status": "string",
  "productType": "string",
  "productName": "string",
  "hasVirtualFunding": true,
  "isInstantIssue": true,
  "permSubprogramId": 0,
  "permSubProgramName": "string",
  "tmpSubProgramId": 0,
  "tmpPackageId": 0,
  "tmpSubProgramName": "string",
  "virtualSubprogramId": 0,
  "virtualSubprogramName": "string",
  "pricingPlanName": "string",
  "commissionName": "string",
  "commissionReferrerName": "string",
  "permPackageName": "string",
  "tmpPackageName": "string",
  "invoicePymtOption": "string",
  "VirtualPackageName": "string",
  "shippingMethod": "string",
  "fundingSource": "string",
  "receiptAction": "string",
  "customerName": "string",
  "activeCount": 0,
  "inventoryCount": 0,
  "isDeleted": true,
  "topParentId": 0,
  "autoCreated": true,
  "dueDiligenceNotes": "string",
  "hideOtherCards": true,
  "fundingId": 0,
  "PlanId": 0,
  "permPackageId": 0
}

Every Onboarder customer is a sub program

Properties

Name Type Required Restrictions Description
rowId integer false none Customer program ID
productId integer false none Unique ID that is tied with the product (card)
customerId integer false none Unique identifier associated with the customer
planId integer false none Plan ID
commissionId integer false none Commission ID
einCheck boolean false none EIN (Employer Identification Number), also known as a Federal Tax Identification Number check.
ofacCheck boolean false none Set to true if the customer passes the OFAC check
bgCheck boolean false none Set to true if the customer passes the background verification check
launchDate string false none Launch date
websiteCheck boolean false none Set to true if website verificaton passes
status string false none Describes the status of the customer program
productType string false none Type of the product
productName string false none Name of the product
hasVirtualFunding boolean false none Set to true if customer has opted for virtual funding
isInstantIssue boolean false none Returns true if it is an instant issue card
permSubprogramId integer false none Permanant subprogram ID
permSubProgramName string false none Permanant subprogram name
tmpSubProgramId integer false none Temporary subprogram ID
tmpPackageId integer false none Temporary package ID
tmpSubProgramName string false none Temporary subprogram name
virtualSubprogramId integer false none Virtual subprogram ID
virtualSubprogramName string false none Virtual subprogram name
pricingPlanName string false none Customer program pricing plan name
commissionName string false none Customer program commission name
commissionReferrerName string false none Customer program commission referrer name
permPackageName string false none Permanant package name
tmpPackageName string false none Temporary package name
invoicePymtOption string false none Invoice payment option description
VirtualPackageName string false none Virtual package name
shippingMethod string false none Shipping method if individual or bulk
fundingSource string false none Funding source details
receiptAction string false none Receipt action
customerName string false none Customer name
activeCount integer false none Active count
inventoryCount integer false none Inventory count for the customer program
isDeleted boolean false none True if deletion is set
topParentId integer false none Top parent ID
autoCreated boolean false none True if auto creation is set
dueDiligenceNotes string false none Notes
hideOtherCards boolean false none Hides other cards if set to true
fundingId integer false none Funding ID
PlanId integer false none Plan ID
permPackageId integer false none Permanant package ID

Customer

{
  "customerId": 0,
  "name": "string",
  "address1": "string",
  "address2": "string",
  "city": "string",
  "state": "string",
  "zip": 0,
  "zip4": 0,
  "ein": "string",
  "website": "string",
  "businessType": "string",
  "businessYrs": 0,
  "noEmployees": "string",
  "contactName": "string",
  "contactEmail": "string",
  "contactPhone": "string",
  "customerType": "string",
  "topClientId": 0,
  "clientId": "string",
  "accountMgr": "string",
  "accountMgrId": 0,
  "launchDate": "string",
  "parentId": 0,
  "parentName": "string",
  "showVirtualAccountDashboard": true,
  "twoFactorEnabled": true,
  "hideOtherCards": true,
  "notificationEmail": "string",
  "referredBy": "string",
  "ftpPath": "string",
  "ftpUserId": "string",
  "ftpPassword": "string",
  "phoneExtn": "string"
}

Properties

Name Type Required Restrictions Description
customerId integer false none Customer Id linked with the logged in user
name string false none Name of the logged in Customer
address1 string false none Address line 1
address2 string false none Address line 2
city string false none Residential address
state string false none Residential State
zip integer false none Residential zip
zip4 integer false none "ZIP4 is an extended version of the standard U.S. ZIP code.
Used to describe the users adress zip4"
ein string false none Ein number (Employer Identification Number), also known as a Federal Tax Identification Number, is a unique nine-digit number.
website string false none Website of the customer
businessType string false none Bussiness type of the customer
businessYrs integer false none Bussiness years of the customer
noEmployees string false none Number of employees of the customer
contactName string false none Contact name of the customer
contactEmail string false none Contact email of the customer
contactPhone string false none Contact phone of the customer
customerType string false none Name of the customer
topClientId integer false none A value from top clientIds retrieved from 'getTopClientList' API
clientId string false none Client identification number
accountMgr string false none Name of the account manager
accountMgrId integer false none Id of the account manager
launchDate string false none none
parentId integer false none Parent customer Id
parentName string false none Parent customer name
showVirtualAccountDashboard boolean false none Shows virtual account dashbpard when set to true
twoFactorEnabled boolean false none True if 2FA is enabled by the customer
hideOtherCards boolean false none Other cards are hidden if set to true
notificationEmail string false none Recieves notification via email when set to true
referredBy string false none Name by whom the customer is refered by
ftpPath string false none FTP path name
ftpUserId string false none FTP user identifier
ftpPassword string false none FTP password
phoneExtn string false none Phone extension number

OrderDetailsByOrderId

{
  "orderDetailId": 392886,
  "firstName": "FirstName",
  "lastName": "LastName",
  "amount": 0.01,
  "dateOfBirth": "10/10/1998",
  "ssn": "1231231231",
  "mailingAddr1": "1st Line St",
  "mailingAddr2": "XYZ Road",
  "mailingCity": "New York",
  "mailingState": "NY",
  "mailingPostalCode": "12345",
  "phone": "1231231231",
  "shippingAddress1": "1st Line St",
  "shippingAddress2": "XYZ Road",
  "shippingCity": "New York",
  "shippingState": "NY",
  "shippingZip": "12345",
  "panNumber": "6928",
  "proxyKey": "3415060020922",
  "trn": "000060020922",
  "dda": "00000020922",
  "expDate": "10/31/2027 11:59:59 PM",
  "retryCount": 0,
  "status": "Completed",
  "bulkCardQuantity": 0,
  "email": "[email protected]",
  "otherInfo": "TEST1",
  "employeeId": "Test1",
  "futureOrderDetailId": 0,
  "bounce": true,
  "clicked": false,
  "cardType": "PHYSICAL",
  "smsSent": false,
  "orderId": 243789,
  "isOrderCancel": false,
  "refNum": "CC0074D4145D",
  "smsLinkClicked": false,
  "tinyUrlEmail": "https://uatdash.page.link/4TdC",
  "tinyUrlSms": "uatdash.page.link/RrhS",
  "clientDefinedField1": "Test field 1",
  "clientDefinedField2": "Test field 2",
  "clientDefinedField3": "Test field 3",
  "clientDefinedField4": "null",
  "clientDefinedField5": "Test field 5"
}

Properties

Name Type Required Restrictions Description
orderDetailId integer false none Orderdetail Id
firstName string false none First name of the customer
lastName string false none Last name of the customer
amount number false none Amount paid
dateOfBirth string false none Date of Birth of the customer
ssn string false none SSN of the customer
mailingAddr1 string false none Mailing address line 1 of the customer
mailingAddr2 string false none Mailing address line 2 of the customer
mailingCity string false none Mailing address city of the customer
mailingState string false none Mailing address state of the customer
mailingPostalCode string false none Mailing address postal code of the customer
phone string false none Phone number of the customer
shippingAddress1 string false none Shipping address line 1 of the customer
shippingAddress2 string false none Shipping address line 2 of the customer
shippingCity string false none Shipping address line 1 of the customer
shippingState string false none Shipping address state of the customer
shippingZip string false none Shipping address zip of the customer
panNumber string false none PAN number of the customer
proxyKey string false none Proxy key number
trn string false none Transaction number
dda string false none DDA account number
expDate string false none Expiration date of the card
retryCount integer false none Order retry count
status string false none Order status
bulkCardQuantity integer false none If the order is a bulk order, the quantity of it
email string false none Email address of the customer
otherInfo string false none Additional information
employeeId string false none Employee unique identifier
futureOrderDetailId integer false none Future card order ID
bounce boolean false none Set to true if bounced
clicked boolean false none Set to true if clicked
cardType string false none Type of card if digital or physical
smsSent boolean false none Set to true if order SMS is sent
orderId integer false none Order ID
isOrderCancel boolean false none Set to true if card order is cancelled
refNum string false none Order reference number
smsLinkClicked boolean false none Set to true if SMS link is clicked
tinyUrlEmail string false none Tiny URL email
tinyUrlSms string false none Tiny URL SMS (if enabled)
clientDefinedField1 string false none Custom defined field
clientDefinedField2 string false none Custom defined field
clientDefinedField3 string false none Custom defined field
clientDefinedField4 string false none Custom defined field
clientDefinedField5 string false none Custom defined field

OrdersIIC

{
  "orderId": 271842,
  "fundingId": 0,
  "dstnFundingId": 0,
  "isMeta": 0,
  "cardsDetails": {}
}

Properties

Name Type Required Restrictions Description
orderId integer false none ID given to the order placed
fundingId integer false none Funding Id default 0
dstnFundingId integer false none Destination Funding Id default 0
isMeta integer false none Meta default value false
cardsDetails object false none Array of card details

OrdersPayrollMultiple

{
  "orderId": "271842",
  "fundingId": 0,
  "dstnFundingId": 0,
  "isMeta": 0,
  "cardsDetails": {}
}

Properties

Name Type Required Restrictions Description
orderId string false none Id given to the order placed
fundingId integer false none Funding Id default 0
dstnFundingId integer false none Destination Funding Id default 0
isMeta integer false none Meta default value false
cardsDetails object false none Array of card details

ErrorObj400

{
  "error": {
    "domain": "global",
    "reason": "badRequest",
    "message": "Please provide [Property Name]"
  },
  "code": 400,
  "message": "Please provide [Property Name]"
}

Properties

Name Type Required Restrictions Description
error InnerErrorObj400 false none none
code integer false none 400 Error
message string false none Error message

InnerErrorObj400

{
  "domain": "global",
  "reason": "badRequest",
  "message": "Please provide [Property Name]"
}

Properties

Name Type Required Restrictions Description
domain string false none none
reason string false none Error reason
message string false none Error message

ErrorObj401

{
  "error": {
    "domain": "global",
    "reason": "required",
    "message": "Session not found - **************************************************9002"
  },
  "code": 401,
  "message": "Session not found - **************************************************9002"
}

Properties

Name Type Required Restrictions Description
error InnerErrorObj401 false none none
code integer false none 401 Error
message string false none Error message

InnerErrorObj401

{
  "domain": "global",
  "reason": "required",
  "message": "Session not found - **************************************************9002"
}

Properties

Name Type Required Restrictions Description
domain string false none none
reason string false none none
message string false none Error message

ErrorObj404

{
  "error": {
    "domain": "global",
    "reason": "notFound",
    "message": "Data not found ..."
  },
  "code": 404,
  "message": "Data not found ..."
}

Properties

Name Type Required Restrictions Description
error InnerErrorObj404 false none none
code integer false none 404 Error
message string false none Error message

InnerErrorObj404

{
  "domain": "global",
  "reason": "notFound",
  "message": "Data not found ..."
}

Properties

Name Type Required Restrictions Description
domain string false none none
reason string false none Error reason
message string false none Error message

ErrorObj403

{
  "error": {
    "domain": "global",
    "reason": "forbidden",
    "message": "The selected card has already been assigned to a customer.  Please try another card."
  },
  "code": 403,
  "message": "The selected card has already been assigned to a customer.  Please try another card."
}

Properties

Name Type Required Restrictions Description
error InnerErrorObj403 false none none
code integer false none 403 Error
message string false none Error message

InnerErrorObj403

{
  "domain": "global",
  "reason": "forbidden",
  "message": "The selected card has already been assigned to a customer.  Please try another card."
}

Properties

Name Type Required Restrictions Description
domain string false none none
reason string false none Error Reason
message string false none Error message

ErrorObj500

{
  "error": {
    "domain": "global",
    "reason": "backendError",
    "message": "Value cannot be null. (Parameter 's')"
  },
  "code": 500,
  "message": "Value cannot be null. (Parameter 's')"
}

Properties

Name Type Required Restrictions Description
error InnerErrorObj500 false none none
code integer false none 500 Error
message string false none Error message

InnerErrorObj500

{
  "domain": "global",
  "reason": "backendError",
  "message": "Value cannot be null. (Parameter 's')"
}

Properties

Name Type Required Restrictions Description
domain string false none none
reason string false none Error reason
message string false none Error message

ErrorObj503

{
  "error": {
    "domain": "global",
    "reason": "Processing platform exception",
    "message": "FIS error code 0 error message Invalid or Missing card number.|0|-1"
  },
  "code": 503,
  "message": "FIS error code 0 error message Invalid or Missing card number.|0|-1"
}

Properties

Name Type Required Restrictions Description
error InnerErrorObj503 false none none
code integer false none 503 Error
message string false none Error message

InnerErrorObj503

{
  "domain": "global",
  "reason": "Processing platform exception",
  "message": "FIS error code 0 error message Invalid or Missing card number.|0|-1"
}

Properties

Name Type Required Restrictions Description
domain string false none none
reason string false none Error reason
message string false none Error message

OrderTrackingDetails

{
  "orderId": 243806,
  "trackingNumber": "CC00901031FB"
}

Properties

Name Type Required Restrictions Description
orderId integer false none Orderid
trackingNumber string false none TrackingNumber of the order

ShippingInformation

{
  "proxyKey": "0000000423952",
  "trackingNumber": "CC00901031FB",
  "shippingDate": "20/05/2022",
  "shippingType": "individualShip",
  "shippingMethod": "USPS First Class"
}

Properties

Name Type Required Restrictions Description
proxyKey string false none ProxyKey of the order
trackingNumber string false none TrackingNumber of the order
shippingDate string false none ShippingDate of the order
shippingType string false none ShippingType of the order
shippingMethod string false none ShippingMethod of the order

RelatedCards

[
  {
    "cardNum": "4389630005253668",
    "proxyKey": "5317532041661",
    "panProxy": "5522055323645",
    "Status": "1",
    "statusName": "READY",
    "statusDescription": "Ready for activation",
    "expDate": "11/27",
    "lExpDate": "11/27",
    "additionalCard": "0",
    "cardType": "PHYSICAL",
    "dda": "2552764056404",
    "trn": "073972181"
  }
]

Properties

Name Type Required Restrictions Description
anonymous [RelatedCard] false none none

RelatedCard

{
  "cardNum": "4389630005253668",
  "proxyKey": "5317532041661",
  "panProxy": "5522055323645",
  "Status": "1",
  "statusName": "READY",
  "statusDescription": "Ready for activation",
  "expDate": "11/27",
  "lExpDate": "11/27",
  "additionalCard": "0",
  "cardType": "PHYSICAL",
  "dda": "2552764056404",
  "trn": "073972181"
}

Properties

Name Type Required Restrictions Description
cardNum string false none Card number of card
proxyKey string false none Proxy key of card
panProxy string false none Primary cards PAN proxy
Status string false none Card status
statusName string false none Short name of status
statusDescription string false none Long name of status
expDate string false none Physical card expiration date
lExpDate string false none Logical card expiration date
additionalCard string false none Value is 0 if the account holder is the cardholder, otherwise 1.
cardType string false none Card type physical or digital
dda string false none Direct access number of card
trn string false none Direct access routing number of card

CardLoad_Unload

{
  "refNum": "CC00425339ED",
  "statusVal": 1,
  "amount": "0.02",
  "cardBalance": "0.07",
  "fundingId": 0,
  "dstnFundingId": 0,
  "isMeta": false
}

Properties

Name Type Required Restrictions Description
refNum string false none Transaction reference number
statusVal integer false none status of the transaction
amount string false none Amount to be loaded/unloaded in/from the card
cardBalance string false none Balance amount in the card
fundingId integer false none Funding ID
dstnFundingId integer false none Destination funding ID
isMeta boolean false none Returns true if isMeta is set to true

CardStatus

{
  "orderId": "271496",
  "statusVal": 1,
  "cardStatus": "ACTIVATE",
  "fundingId": 0,
  "dstnFundingId": 0,
  "orderDetailId": 514892,
  "isMeta": false
}

Properties

Name Type Required Restrictions Description
orderId string false none Order Id
statusVal integer false none status of the transaction (0) in case of success
cardStatus string false none status of card
fundingId integer false none Funding ID
dstnFundingId integer false none Destination funding ID
orderDetailId integer false none Order detail Id
isMeta boolean false none none

CardReplace

{
  "cardNum": "************0037",
  "proxyKey": "0000000423952",
  "txnlogId": 0,
  "statusVal": 1,
  "confirmCode": "",
  "fundingId": 0,
  "dstnFundingId": 0,
  "isMeta": false
}

Properties

Name Type Required Restrictions Description
cardNum string false none Replaced current card number
proxyKey string false none New ProxyKey systematically generated or New ProxyKey for the 'newcardnum' Provided.
txnlogId integer false none Status of the transaction
statusVal integer false none Status value
confirmCode string false none none
fundingId integer false none Funding ID
dstnFundingId integer false none Destination funding ID
isMeta boolean false none none

CardHistory

{
  "cardNum": "************8034",
  "refNum": "CC00142F158D",
  "txnDate": 0,
  "amount": "0",
  "fundingId": 0,
  "dstnFundingId": 0,
  "txnType": "Non-Mon Update",
  "postDate": "05/07/2024",
  "txnDesc": "Reset uses for the fee track",
  "merchant": "",
  "responseCode": "",
  "responseDescription": "",
  "txnResult": "Completed OK",
  "localAmount": "",
  "localTranCurrCode": "",
  "isMeta": false,
  "utcPostDate": "2024-05-08T00:46:15.080Z",
  "utcInsertedDate": "2024-05-08T00:46:15.080Z"
}

Properties

Name Type Required Restrictions Description
cardNum string false none Replaced current card number
refNum string false none Reference number
txnDate integer false none Date of the transaction
amount string false none Amount of transaction
fundingId integer false none Funding ID
dstnFundingId integer false none Destination finding ID
txnType string false none Type of transaction
postDate string false none Post date
txnDesc string false none Description of transaction
merchant string false none Merchant details
responseCode string false none Response Code
responseDescription string false none Response Description
txnResult string false none Result of transaction
localAmount string false none Transaction amount in the local currency of the merchant
localTranCurrCode string false none Local currency code of the merchant
isMeta boolean false none none
utcPostDate string false none UTC (Transaction code) post date
utcInsertedDate string false none UTC (Transaction code) inserted date

TransactionHistory

{
  "cardNum": "**********8034",
  "proxyKey": "129345159458",
  "purseNo": "14",
  "refNum": "CC00142F158D",
  "comment": "Test load",
  "txnDate": 0,
  "amount": 0,
  "fundingId": 0,
  "dstnFundingId": 0,
  "postDate": "05/07/2024",
  "txnDesc": "Value Load",
  "isMeta": false
}

Properties

Name Type Required Restrictions Description
cardNum string false none Card number
proxyKey string false none Proxy Key
purseNo string false none Purse Number
refNum string false none Reference number
comment string false none Comments
txnDate integer false none Date of the transaction
amount integer false none Amount of transaction
fundingId integer false none Funding ID
dstnFundingId integer false none Destination funding ID
postDate string false none Post date
txnDesc string false none Description of transaction
isMeta boolean false none Returns true if isMeta is set to true

StatementList

{
  "stmtId": "string",
  "closingDate": "string"
}

Properties

Name Type Required Restrictions Description
stmtId string false none Id of the statement
closingDate string false none closing date of the statement

CardHolderInfo

{
  "first": "First name",
  "last": "Last name",
  "suffix": "Suffix",
  "nameOnCard": "Name on card",
  "addr1": "5TH STREET PARK AVENUE",
  "addr2": "",
  "addr3": "",
  "city": "NEW JERSEY",
  "state": "NJ",
  "zipCode": "12345",
  "country": "840",
  "ssn": "1111111111",
  "dob": "1/1/1990",
  "email": "[email protected]",
  "resAddr1": "5TH STREET PARK AVENUE",
  "resAddr2": "",
  "resAddr3": "",
  "resCity": "NEW JERSEY",
  "resState": "NJ",
  "resZip": "12345",
  "resCountry": "840",
  "personID": "12345525",
  "fundingId": 0,
  "dstnFundingId": 0,
  "shipDate": "2024/11/07",
  "isMeta": false,
  "accountOpenDate": "2021-11-01T09:25:58"
}

Properties

Name Type Required Restrictions Description
first string false none Cardholder first name
last string false none Cardholder Last name
suffix string false none cardholder name suffix
nameOnCard string false none Cardholder name on card
addr1 string false none Cradholder address line 1
addr2 string false none Cardholder address line 2
addr3 string false none Cardholder address line 3
city string false none Cardholder address city name
state string false none Cardholder address state name
zipCode string false none Cardholder address zipcode
country string false none Cardholder address country
ssn string false none Cardholder SSN
dob string false none Cardholder date of birth
email string false none Cardholder email address
resAddr1 string false none Cardholder residential address line 1
resAddr2 string false none Cardholder residential address line 2
resAddr3 string false none Cardholder residential address line 3
resCity string false none Cardholder residential address city name
resState string false none Cardholder residential address state name
resZip string false none Cardholder residential address zipcode
resCountry string false none Cardholder residential address country name
personID string false none Cardholder person ID
fundingId integer false none Cardholder funding ID for the card
dstnFundingId integer false none Cardholder destination funding ID
shipDate string false none The date of shipment, provided for Physical card orders only.
isMeta boolean false none Returns true if isMeta is true
accountOpenDate string false none The account creation date on processiong platform.

Statements

{
  "txnDate": "string",
  "postDate": "string",
  "refNum": 0,
  "txnDetail": "string",
  "debitAmt": "string",
  "creditAmt": "string",
  "txnID": "string"
}

Properties

Name Type Required Restrictions Description
txnDate string false none Transaction date
postDate string false none Post date
refNum integer false none Reference number
txnDetail string false none Transaction detail
debitAmt string false none Debit amount from the account
creditAmt string false none Credit amount from the account
txnID string false none Transaction ID, a unique ID for every transaction

FundTransfer

{
  "amount": "string",
  "refNum": "string",
  "cardBalance": "string",
  "statusVal": 0
}

Properties

Name Type Required Restrictions Description
amount string false none Amount transferred
refNum string false none Reference number
cardBalance string false none Card balance after the transfer
statusVal integer false none status value

PackageList

{
  "subProgID": "string",
  "pkgID": "string",
  "pkgDesc": "string"
}

Properties

Name Type Required Restrictions Description
subProgID string false none Sub program Id
pkgID string false none Package Id
pkgDesc string false none Package description

VirtualAccountList

{
  "fundingId": 0,
  "customerId": 0,
  "proxy": "string",
  "packageId": 0,
  "subprogramId": 0,
  "clientId": 0,
  "isMasterVA": true,
  "firstName": "string",
  "lastName": "string",
  "ddaAct": "string",
  "trn": "string",
  "name": "string"
}

Properties

Name Type Required Restrictions Description
fundingId integer false none Funding Id
customerId integer false none Customer Id
proxy string false none Proxy nuber of the card
packageId integer false none Package id
subprogramId integer false none Sub program Id
clientId integer false none Client Id
isMasterVA boolean false none Returns true if isMasterVA is true
firstName string false none First name
lastName string false none Last name
ddaAct string false none DDA number
trn string false none Routing number
name string false none none

VirtualAccountHistory

{
  "userID": "string",
  "cardNum": "string",
  "refNum": "string",
  "comment": "string",
  "txnDate": "string",
  "amount": "string",
  "merchantNameLoc": "string",
  "postDate": "string",
  "txnDesc": "string"
}

Properties

Name Type Required Restrictions Description
userID string false none User ID
cardNum string false none Card number
refNum string false none Reference number for the transaction
comment string false none Comments
txnDate string false none Transaction date
amount string false none Transaction amount
merchantNameLoc string false none Combination of the cardholder name and six digits of the card number
postDate string false none Transaction post date
txnDesc string false none Transaction description

SearchAccount

{
  "cardNum": "00000000000037",
  "proxyKey": "12312312312311",
  "proxyType": "3",
  "subProgID": "553691",
  "pkgID": "706112",
  "relation": "0",
  "first": "FirstName",
  "last": "LastName",
  "addr1": "5TH STREET PARK AVENUE",
  "addr2": "",
  "addr3": "",
  "city": "NEW JERSEY",
  "state": "NJ",
  "zipCode": "12345",
  "country": "840",
  "phone": "1234568888",
  "voiceExt": "",
  "ssn": "1111111111",
  "dob": "01/01/1990",
  "others": "Test",
  "email": "[email protected]",
  "personID": "1099727045",
  "statusVal": 1,
  "clientName": "PT MetaBank Payroll",
  "cardTypeName": "Payroll Plus",
  "pkgDesc": "White Plastic ASI",
  "PAN": "4380000000006928",
  "trn": "073900081",
  "dda": "2556300000002",
  "fundingId": 0,
  "dstnFundingId": 0,
  "status": "2",
  "statusDescription": "ACTIVE",
  "bin": "438963",
  "middle": "",
  "registrationDate": "1/22/2024 7:30:31 AM",
  "validationCompl": "1/22/2024 7:30:31 AM",
  "isMeta": false
}

Properties

Name Type Required Restrictions Description
cardNum string false none Card Number
proxyKey string false none Proxy Key
proxyType string false none Proxy Type
subProgID string false none Subprogram Id
pkgID string false none Package Id
relation string false none Relation
first string false none First Name
last string false none Last Name
addr1 string false none Address line 1
addr2 string false none Address line 2
addr3 string false none Address line 3
city string false none City
state string false none State
zipCode string false none Zip Code
country string false none Country
phone string false none Phone Number
voiceExt string false none Voice Ext
ssn string false none Social Security Number
dob string false none Date of Birth
others string false none Other Information
email string false none Email
personID string false none Person Id
statusVal integer false none Status Value
clientName string false none Client Name
cardTypeName string false none Type of card
pkgDesc string false none Package Description
PAN string false none Pan number
trn string false none Transaction
dda string false none DDA account number
fundingId integer false none Funding ID
dstnFundingId integer false none Destination funding ID
status string false none Card status ID(if skipCreateRecord field is set to 1)
statusDescription string false none Card status short-hand version (if skipCreateRecord field is set to 1)
bin string false none BIN of card number (return if skipCreateRecord field is set to 1)
middle string false none Cardholder's middle initial(return if skipCreateRecord field is set to 1)
registrationDate string false none Date of registration(if skipCreateRecord field is set to 1 )
validationCompl string false none The ValidationCompl field output represents the date CIP was passed(if skipCreateRecord field is set to 1)
isMeta boolean false none none

CIPCheckResponse

{
  "Idnumber": 0,
  "Error": "string",
  "summaryResult": "string",
  "detailedMessages": [
    {
      "message": "string"
    }
  ],
  "diffQuestionList": [
    {
      "question": "In which city is STILLWOOD DR?",
      "type": "city.of.residence",
      "Options": [
        "PARSHALL",
        "KENOSHA",
        "LAKE VILLAGE",
        "KARVAL",
        "LUPTON"
      ]
    }
  ],
  "questionList": [
    {
      "question": "In which city is STILLWOOD DR?",
      "type": "city.of.residence",
      "Options": [
        "PARSHALL",
        "KENOSHA",
        "LAKE VILLAGE",
        "KARVAL",
        "LUPTON"
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
Idnumber integer false none Verify Identification number, Idnumber provides the info related to Partial result.
Error string false none Error message
summaryResult string false none You will get either one of three values [Pass, Fail, Partial]
detailedMessages [arrayCIPResponse] false none Detailed description
diffQuestionList [arrayQuestionsCIPResponse] false none List of questions to identify the individual from multiple user
questionList [arrayQuestionsCIPResponse] false none List of questions based on configuration set for customer

arrayCIPResponse

{
  "message": "string"
}

Properties

Name Type Required Restrictions Description
message string false none Response message

submitAnswerResponse

{
  "Idnumber": 0,
  "Error": "string",
  "summaryResult": "string",
  "detailedMessages": [
    {
      "message": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
Idnumber integer false none Verify Identification number, Idnumber provides the info related to Partial result.
Error string false none none
summaryResult string false none You will get either one of three values [Pass, Fail, Partial]
detailedMessages [arrayCIPResponse] false none Detailed description

questionArraySample

{
  "type": "string",
  "answer": "string"
}

Properties

Name Type Required Restrictions Description
type string false none Type of the question present in the Question list
answer string false none Answer text that needs to be passed.

arrayQuestionsCIPResponse

{
  "question": "In which city is STILLWOOD DR?",
  "type": "city.of.residence",
  "Options": [
    "PARSHALL",
    "KENOSHA",
    "LAKE VILLAGE",
    "KARVAL",
    "LUPTON"
  ]
}

Properties

Name Type Required Restrictions Description
question string false none Question text present in the Question list
type string false none Type of the question present in the Question list
Options [string] false none Answer text that needs to be passed.

CardholderEnrollment

{
  "CardholderEnrollmentData": {
    "EnrollmentUid": "string",
    "TimeZone": "string",
    "TimeZoneLocation": "string",
    "DoNotDisturb": 0
  },
  "StatusData": {
    "StatusType": {
      "Status": 0,
      "StatusName": "string"
    }
  },
  "AddressData": {
    "Address": {
      "MsgAddress": 0,
      "CarrierID": 0,
      "CountryCode": 0,
      "Country": "string",
      "CountryPhoneCode": 0,
      "AddressType": "string"
    }
  },
  "PersonData": {
    "Person": {
      "Personid": "string"
    }
  },
  "LanguageData": {
    "Language": {
      "LanguageId": 0,
      "LanguageName": "string"
    }
  },
  "MessageData": {
    "Message": {
      "MsgTriggerId": "string",
      "ConfigLevelid": "string",
      "MsgType": "string",
      "MsgId": "string",
      "MsgDescription": "string",
      "AddlParam": "string"
    }
  }
}

Properties

Name Type Required Restrictions Description
CardholderEnrollmentData object false none none
» EnrollmentUid string false none Unique value to identify a particular enrollment
» TimeZone string false none TimeZone ID, if it is enrolled
» TimeZoneLocation string false none Description of the timeZone
» DoNotDisturb integer false none 0 = DoNotDisturb is NOT configured for the specific enrollment) 1 = DoNotDisturb is configured for the specific enrollment
StatusData object false none none
» StatusType object false none none
»» Status integer false none Status ID and descriptions 1=Pending Confirmation by Cardholder 2=Actively enrolled 3=Inactive enrollment
»» StatusName string false none Status Name
AddressData object false none none
» Address object false none none
»» MsgAddress integer false none Unique value to identify a particular msgaddress Mobile number of cardholder
»» CarrierID integer false none CarrierID of the registered MsgAddress. Applicable for SMS only
»» CountryCode integer false none Country code of registered mobile number. Applicable for SMS only
»» Country string false none Country name of registered mobile number
»» CountryPhoneCode integer false none Phone code of the country
»» AddressType string false none Address Type of the MsgAddress
PersonData object false none none
» Person object false none none
»» Personid string false none Unique personid, value provided by FIS
LanguageData object false none none
» Language object false none none
»» LanguageId integer false none Language ID and descriptions selected by cardholder during enrollment
»» LanguageName string false none Language Name
MessageData object false none none
» Message object false none none
»» MsgTriggerId string false none Sets of data which identify events selected by cardholder during enrollment GUID ID assigned to message by FIS
»» ConfigLevelid string false none GUID ID assigned to configuration by FIS. This can uniquely identifies the configuration.
»» MsgType string false none Requested MsgType
»» MsgId string false none ID assigned to Message by FIS
»» MsgDescription string false none Description of the message
»» AddlParam string false none Depends on the msgID; For LowBalance, threshold amount will be populated.

LatestBalanceStatusRelatedCard

{
  "cardNum": "4389630025896157",
  "proxyKey": "9910969002157",
  "panProxy": "3468629087653",
  "Status": "2",
  "statusName": "ACTIVE",
  "statusDescription": "Active",
  "expDate": "03/28",
  "lExpDate": "02/33",
  "additionalCard": "0",
  "cardType": "DIGITAL"
}

Properties

Name Type Required Restrictions Description
cardNum string false none Card number of card
proxyKey string false none Proxy key of card
panProxy string false none Primary cards PAN proxy
Status string false none Card status
statusName string false none Short name of status
statusDescription string false none Long name of status
expDate string false none Physical card expiration date
lExpDate string false none Logical card expiration date
additionalCard string false none Value is 0 if the account holder is the cardholder, otherwise 1.
cardType string false none Card type physical or digital

InnerUnauthorizedErrorObj401

{
  "domain": "global",
  "reason": "required",
  "message": "Cannot access details outside hierarchy"
}

Properties

Name Type Required Restrictions Description
domain string false none Domain of the error occurance
reason string false none Error reason
message string false none Error message

LoadCardSuccessResponse

{
  "returnCode": 0,
  "status": "success",
  "message": "Card loaded successfully",
  "data": "271460",
  "cardBalance": "0.02",
  "txnRefNumber": "CC0099AFE01A"
}

Properties

Name Type Required Restrictions Description
returnCode integer false none It can be 0, -1
status string false none It depends on return code. For example:
- returnCode = 0 then status = "success"
- returnCode = -1 then status = "error"
message string false none Success message
data string false none Order ID
cardBalance string false none Balance amount in the card
txnRefNumber string false none Transaction reference number

ExternalIDErrorResponse

{
  "returnCode": -1,
  "status": "error",
  "message": "Duplicate load detected for External ID | External ID is required"
}

Properties

Name Type Required Restrictions Description
returnCode integer false none It can be 0, -1
status string false none It depends on return code. For example:
- returnCode = 0 then status = "success"
- returnCode = -1 then status = "error"
message string false none Possible error messages

ProcessingPlatformErrorObj

{
  "returnCode": -1,
  "status": "error",
  "message": "No Proxy Number for Card Found|1|-2147220401| 0000000000000",
  "data": "271837"
}

Properties

Name Type Required Restrictions Description
returnCode integer false none It can be 0, -1
status string false none It depends on return code. For example:
- returnCode = 0 then status = "success"
- returnCode = -1 then status = "error"
message string false none Possible error messages
data string false none orderid

ProcessingPlatformUnloadErrorObj

{
  "returnCode": "ERROR",
  "status": "COMPLETED_WITH_ERRORS",
  "message": "Invalid Proxy number|0|10754"
}

Properties

Name Type Required Restrictions Description
returnCode string false none Error code for FIS error
status string false none Description of the error
message string false none Description of the error

OrderCardSuccessResponse

{
  "cardNum": "***********3142",
  "proxyKey": "***********12",
  "orderID": "271843",
  "personID": "1100400000",
  "cvx2": 740,
  "expDate": "5/31/2027 11:59:59 PM",
  "statusVal": 1,
  "cardStatus": "READY",
  "trn": "073972181",
  "dda": "2557390448703",
  "fundingId": 0,
  "dstnFundingId": "0",
  "isMeta": false,
  "cardsDetails": {},
  "digitalCardProxy": "5160446803875",
  "tinyUrl": "https://uatdash.page.link/jedh1S",
  "tinyUrlSms": "https://uatdash.page.link/RrhS"
}

Properties

Name Type Required Restrictions Description
cardNum string false none Card number
proxyKey string false none Proxy number
orderID string false none Id given to the order placed
personID string false none none
cvx2 integer false none cvv number
expDate string false none Expiration date of card
statusVal integer false none none
cardStatus string false none none
trn string false none none
dda string false none none
fundingId integer false none none
dstnFundingId object false none none
isMeta boolean false none none
cardsDetails object false none none
digitalCardProxy string false none none
tinyUrl string false none none
tinyUrlSms string false none none

OrderErrorCodeObj

{
  "statusVal": 0,
  "statusMsg": "Account:AccountExtraCreate Method ShippingExtraId cannot be validated"
}

Properties

Name Type Required Restrictions Description
statusVal integer false none Process failures
statusMsg string false none Status

UnloadOrderResponse

{
  "refNum": "CC00B36E1311",
  "statusVal": 1,
  "amount": "0.01",
  "cardBalance": "0.05",
  "fundingId": 0,
  "dstnFundingId": 0,
  "status": "SUCCESS",
  "isMeta": false,
  "message": "Card unload successfully",
  "returnCode": "SUCCESS"
}

Properties

Name Type Required Restrictions Description
refNum string false none Transaction reference number
statusVal integer false none Status code
amount string false none OrderId
cardBalance string false none balance amount in the card
fundingId integer false none Funding id default 0
dstnFundingId integer false none Designation funding id default 0
status string false none It depends on return code. For example:
- returnCode = 0 then status = "SUCCESS"
- returnCode = -1 then status = "ERROR"
isMeta boolean false none IsMeta value default false
message string false none Success message
returnCode string false none status value

MultipleUnloadOrderResponse

{
  "fundingId": 0,
  "dstnFundingId": 0,
  "status": "BATCH_IN_PROGRESS",
  "isMeta": false,
  "message": "Your value unload have been saved and will be processed soon.",
  "returnCode": "SUCCESS"
}

Properties

Name Type Required Restrictions Description
fundingId integer false none Funding id default 0
dstnFundingId integer false none Designation funding id default 0
status string false none It depends on return code, For Ex. returnCode = 0 then status = "success", returnCode = -1 then status = "error"
isMeta boolean false none IsMeta value default false
message string false none Success message
returnCode string false none status value

AcknowledgeReceipt200

{
  "returnCode": 200,
  "message": "Success"
}

Properties

Name Type Required Restrictions Description
returnCode integer false none return code value
message string false none return message

AcknowledgeReceiptError

{
  "returnCode": -1,
  "status": "error",
  "message": "Order not found"
}

Properties

Name Type Required Restrictions Description
returnCode integer false none return code value
status string false none status message
message string false none return message

LoadValidationError400

{
  "error": {
    "domain": "global",
    "reason": "badRequest",
    "message": "Card not assigned. Load failed."
  },
  "code": 400,
  "message": "Card not assigned. Load failed."
}

Properties

Name Type Required Restrictions Description
error InnerLoadValidationError400 false none error description
code integer false none 400 Error
message string false none Error message

InnerLoadValidationError400

{
  "domain": "global",
  "reason": "badRequest",
  "message": "Card not assigned. Load failed."
}

Properties

Name Type Required Restrictions Description
domain string false none none
reason string false none none
message string false none Message

LoadByProxyValidationError400

{
  "errorCode": "400",
  "errorMessage": "LoadCardByProxy failed"
}

Properties

Name Type Required Restrictions Description
errorCode string false none Error code
errorMessage string false none Error message

CardNotRegisteredError400

{
  "errorCode": "400",
  "errorMessage": "Card not registered"
}

Properties

Name Type Required Restrictions Description
errorCode string false none Error code
errorMessage string false none Error message

RelatedCardsWithPersionDetails

[
  {
    "cardNum": "4389630005253668",
    "proxyKey": "5317532041661",
    "panProxy": "5522055323645",
    "Status": "1",
    "statusName": "READY",
    "statusDescription": "Ready for activation",
    "expDate": "11/27",
    "lExpDate": "11/27",
    "additionalCard": "0",
    "cardType": "PHYSICAL",
    "dda": "2552764056404",
    "trn": "073972181",
    "personID": "1100743463",
    "holderID": "1100743463",
    "buyerLoaderID": "1100743463",
    "programTitle": "MetaBank Payroll",
    "programName": "MetaBank Payroll",
    "subProgramTitle": "Payroll Plus",
    "cardTypeName": "NORMAL",
    "cardTypeDescription": "Normal card",
    "relation": "0",
    "relationDescription": "SELF",
    "salutation": "",
    "first": "SAMIULLA",
    "middle": "",
    "last": "MOMIN",
    "suffix": "Jr",
    "title": "MR",
    "nameOnCard": "SAMIULLA MOMIN",
    "vip": ""
  }
]

Properties

Name Type Required Restrictions Description
anonymous [RelatedCardsWithPersionDetail] false none none

RelatedCardsWithPersionDetail

{
  "cardNum": "4389630005253668",
  "proxyKey": "5317532041661",
  "panProxy": "5522055323645",
  "Status": "1",
  "statusName": "READY",
  "statusDescription": "Ready for activation",
  "expDate": "11/27",
  "lExpDate": "11/27",
  "additionalCard": "0",
  "cardType": "PHYSICAL",
  "dda": "2552764056404",
  "trn": "073972181",
  "personID": "1100743463",
  "holderID": "1100743463",
  "buyerLoaderID": "1100743463",
  "programTitle": "MetaBank Payroll",
  "programName": "MetaBank Payroll",
  "subProgramTitle": "Payroll Plus",
  "cardTypeName": "NORMAL",
  "cardTypeDescription": "Normal card",
  "relation": "0",
  "relationDescription": "SELF",
  "salutation": "",
  "first": "SAMIULLA",
  "middle": "",
  "last": "MOMIN",
  "suffix": "Jr",
  "title": "MR",
  "nameOnCard": "SAMIULLA MOMIN",
  "vip": ""
}

Properties

Name Type Required Restrictions Description
cardNum string false none Card number of card
proxyKey string false none Proxy key of card
panProxy string false none Primary cards PAN proxy
Status string false none Card status
statusName string false none Short name of status
statusDescription string false none Long name of status
expDate string false none Physical card expiration date
lExpDate string false none Logical card expiration date
additionalCard string false none Value is 0 if the account holder is the cardholder, otherwise 1
cardType string false none Card type physical or digital
dda string false none Direct access number of card
trn string false none Direct access routing number of card
personID string false none Person id linked to the card
holderID string false none The personid of the account (PAN) holder
buyerLoaderID string false none The personid of the account loader (only if loaded by a person other than the holder)
programTitle string false none Program Title
programName string false none Program name
subProgramTitle string false none Subprogram title
cardTypeName string false none Card type
cardTypeDescription string false none Card type description
relation string false none Person relation to the account holder
relationDescription string false none Person relation to the account holder
salutation string false none Honorific such as Dr/Mr/Mrs
first string false none Person first name provided while ordering or registering card
middle string false none Person midlle name provided while ordering or registering card
last string false none Person last name provided while ordering or registering card
suffix string false none Suffix such as Jr/Sr/II
title string false none Title of person provided while ordering or registering card
nameOnCard string false none Persons name on card provided while ordering or registering card
vip string false none Flag to indicate if cardholder is to receive VIP traetment

BalanceStatusResponse

{
  "statusVal": 1,
  "accountBalance": "2.00",
  "expDate": "03/28",
  "cardStatus": "ACTIVE",
  "status": "2",
  "statusDescription": "Active",
  "cards": [
    {
      "cardNum": "4389630025896157",
      "proxyKey": "9910969002157",
      "panProxy": "3468629087653",
      "Status": "2",
      "statusName": "ACTIVE",
      "statusDescription": "Active",
      "expDate": "03/28",
      "lExpDate": "02/33",
      "additionalCard": "0",
      "cardType": "DIGITAL"
    }
  ]
}

Properties

Name Type Required Restrictions Description
statusVal integer false none none
accountBalance string false none Current balance of card
expDate string false none card expiration date
cardStatus string false none Current card status
status string false none Short name of status
statusDescription string false none Long name of status
cards [LatestBalanceStatusRelatedCard] false none none

BalanceStatusWithPersonSummaryResponse

{
  "statusVal": 1,
  "accountBalance": "2.00",
  "expDate": "03/28",
  "cardStatus": "ACTIVE",
  "status": "2",
  "statusDescription": "Active",
  "cards": [
    {
      "cardNum": "4389630025896157",
      "proxyKey": "9910969002157",
      "panProxy": "3468629087653",
      "Status": "2",
      "statusName": "ACTIVE",
      "statusDescription": "Active",
      "expDate": "03/28",
      "lExpDate": "02/33",
      "additionalCard": "0",
      "cardType": "DIGITAL",
      "personID": "1101596427",
      "holderID": "1101596427",
      "buyerLoaderID": "1101596427",
      "programTitle": "MetaBank Payroll",
      "programName": "MetaBank Payroll",
      "subProgramTitle": "Payroll Plus",
      "cardTypeName": "NORMAL",
      "cardTypeDescription": "Normal card",
      "relation": "0",
      "relationDescription": "SELF",
      "salutation": "",
      "first": "PRATHAMESH",
      "middle": "S",
      "last": "SHEWALE",
      "suffix": "MR",
      "title": "",
      "nameOnCard": "",
      "vip": ""
    }
  ]
}

Properties

Name Type Required Restrictions Description
statusVal integer false none none
accountBalance string false none Current balance of card
expDate string false none card expiration date
cardStatus string false none Current card status
status string false none Short name of status
statusDescription string false none Long name of status
cards [LatestBalanceStatusRelatedCardWithPersonData] false none none

LatestBalanceStatusRelatedCardWithPersonData

{
  "cardNum": "4389630025896157",
  "proxyKey": "9910969002157",
  "panProxy": "3468629087653",
  "Status": "2",
  "statusName": "ACTIVE",
  "statusDescription": "Active",
  "expDate": "03/28",
  "lExpDate": "02/33",
  "additionalCard": "0",
  "cardType": "DIGITAL",
  "personID": "1101596427",
  "holderID": "1101596427",
  "buyerLoaderID": "1101596427",
  "programTitle": "MetaBank Payroll",
  "programName": "MetaBank Payroll",
  "subProgramTitle": "Payroll Plus",
  "cardTypeName": "NORMAL",
  "cardTypeDescription": "Normal card",
  "relation": "0",
  "relationDescription": "SELF",
  "salutation": "",
  "first": "PRATHAMESH",
  "middle": "S",
  "last": "SHEWALE",
  "suffix": "MR",
  "title": "",
  "nameOnCard": "",
  "vip": ""
}

Properties

Name Type Required Restrictions Description
cardNum string false none Card number of card
proxyKey string false none Proxy key of card
panProxy string false none Primary cards PAN proxy
Status string false none Card status
statusName string false none Short name of status
statusDescription string false none Long name of status
expDate string false none Physical card expiration date
lExpDate string false none Logical card expiration date
additionalCard string false none Value is 0 if the account holder is the cardholder, otherwise 1
cardType string false none Card type physical or digital
personID string false none Person id linked to the card
holderID string false none The personid of the account (PAN) holder
buyerLoaderID string false none The personid of the account loader (only if loaded by a person other than the holder)
programTitle string false none Program title
programName string false none Program name
subProgramTitle string false none Subprogram title
cardTypeName string false none Card type
cardTypeDescription string false none Description for the card type
relation string false none Person relation to the account holder
relationDescription string false none Person relation to the account holder
salutation string false none Honorific such as Dr/Mr/Mrs
first string false none Person first name provided while ordering or registering card
middle string false none Person midlle name provided while ordering or registering card
last string false none Person last name provided while ordering or registering card
suffix string false none Suffix such as Jr/Sr/II
title string false none Title of person provided while ordering or registering card
nameOnCard string false none Persons name on card provided while ordering or registering card
vip string false none Flag to indicate if cardholder is to receive VIP traetment