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
- To use the APIs, one needs to authenticate using the login endpoint documented under User Management with valid credentials (a test user).
- Every subsequent request needs to include a sessionId to work.
API URL Structure =====================
- Use the following URL for any interactions with the REST Base URLs/{apiMethodName}/v1/{endpointName}
{apiMethodName} - The API method name
{endpointName} - The API endpoint name
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'
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:
- Response consists of user details, which is useful for User Management Activities.
- 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
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Logged in Successfully | User |
400 | Bad Request | Bad-Request | ErrorObj400 |
401 | Unauthorized | Invalid login id or password | UserErrorObj401 |
500 | Internal Server Error | Server side error | GlobalErrorObj500 |
Logout
Code samples
# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/logout?sessionId=string \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/logout?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/logout?sessionId=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/logout',
params: {
'sessionId' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/logout', 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('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() {
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/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
200 Response
{
"returnCode": 0,
"status": "success"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successfully logged out | LogoutSuccessResponse |
401 | Unauthorized | Invalid session | LogoutUserErrorObj401 |
500 | Internal Server Error | Server side error | GlobalErrorObj500 |
Customer Management APIs
The API endpoint name for the set is 'customerendpoint'
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",
"phoneExtn": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | SUCCESS | Inline |
400 | Bad Request | Bad-Request | ErrorObj400 |
401 | Unauthorized | Un-Authorized | LogoutUserErrorObj401 |
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 |
»» phoneExtn | string | false | none | Phone extension number |
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 \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/getShippingFeeTypes?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/getShippingFeeTypes?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/getShippingFeeTypes',
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/getShippingFeeTypes', 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/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() {
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/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
SUCCESS
{
"items": [
"Use existing PT shipping rate matrix",
"Use other shipping rate"
]
}
401 Response
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Your session has expired. Please log in again to continue."
}
],
"code": 401,
"message": "Your session has expired. Please log in again to continue."
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | SUCCESS | Inline |
401 | Unauthorized | Un-Authorized | LogoutUserErrorObj401 |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» items | [string] | false | none | none |
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 |
500 | Internal Server Error | Server side error | GlobalErrorObj500 |
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 |
401 | Unauthorized | Un-Authorized | LogoutUserErrorObj401 |
403 | Forbidden | Server side error | Inline |
500 | Internal Server Error | Server side error | Inline |
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 |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» error | object | true | none | none |
»» errors | [object] | false | none | none |
»»» domain | string | false | none | none |
»»» reason | string | false | none | none |
»»» message | string | false | none | none |
»» code | integer | false | none | none |
»» message | string | false | none | none |
Status Code 500
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» error | object | false | none | none |
»» errors | [object] | false | none | none |
»»» domain | string | false | none | none |
»»» reason | string | false | none | none |
»»» message | string | false | none | none |
»» code | integer | false | none | none |
»» message | string | false | none | none |
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 to be shipped to the specified address.
- Note for Corporate Purchasing product type:
- Pass the value Instant Issue Purchase Order in the orderProdType field.
- To prevent duplicate orders:
- Users can pass a unique value in the externalIdentifier field. This field is optional, but duplicates will be checked at the program level.
Instructions for single/multiple Personalized orders
- Order physical card
- To order a physical card, pass card type as Physical in cardType property and shippingMethod and mailingAddress is recommended.
- Order digital card
- Enable can order digital cards option at program level to order digital cards.
- 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
- Turn on the configuration at program level to load cards while ordering.
- To load, pass amount in amount property.
- Pass overall load amount of order in totalValue property.
- Pass External Identifier to externalIdentifier parameter.
- 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 loads.
- To prevent duplicate card orders, follow these steps:
- Enable the "Make Other Field Required" and "Make Other Field Unique" options at the program level.
- Ensure a unique value (e.g., employeeID) is provided for the otherInfo field.
- To prevent duplicate orders, users can:
- Pass a unique value in the externalIdentifier field. This field is optional, but duplicates will be checked at the program level.
Additional Instructions
- Enable "Show Full Card Number" option at the customer level to get the full card number in the cardNum property.
- Tiny URL in Response:
- If email or SMS notification is enabled at the program level for digital cards, you will receive a tiny URL in the tinyUrl property.
- Optional Fields:
- dateOfBirth: Optional, but recommended.
- Mailing address and shipping address: Optional at the processing platform level, but recommended for mailing a replaced card to the cardholder.
- shippingMethod: Optional, but recommended for physical card orders.
- Corporate Purchasing Product Type:
- Pass the value Personalized Purchasing Order in the orderProdType field.
- Handling Duplicate OtherInfo:
- If a duplicate OtherInfo is provided and the status of the previous card or its related cards is "DORMANT", "READY", "ACTIVE", or "SUSPENDED", a bad request exception will be returned with the message, "Duplicate other field, please provide a unique other field."
- To order a card with the same OtherInfo, the status of the existing card must be "CLOSED", "LOST", "REPLACED", "FRAUD", "PFRAUD", "VOIDED", or "DESTROYED."
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 |
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
The API responds with any one of the following response objects
{
"cardNum": "***********3142",
"proxyKey": "6418450529949",
"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": {}
}
{
"cardNum": "***********3142",
"proxyKey": "6418450529949",
"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://uattesting.dash.digital/onboarding/redeem-card/?proxy=/onboarding/redeem-card/?proxy=5160446803875",
"tinyUrlSms": "https://uattesting.dash.digital/onboarding/redeem-card/?proxy=/onboarding/redeem-card/?proxy=5160446803875"
}
{
"orderID": "5932614",
"fundingId": 0,
"dstnFundingId": "0",
"isMeta": false,
"cardsDetails": {}
}
{
"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 | The API responds with any one of the following response objects | Inline |
400 | Bad Request | Bad-Request | ErrorObj400 |
401 | Unauthorized | Un-Authorized | LogoutUserErrorObj401 |
404 | Not Found | Not Found | ErrorObj404 |
500 | Internal Server Error | Server side error | ErrorObj500 |
Response Schema
Order single card
Code samples
# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/orderSingleCard?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/orderSingleCard?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"customerId": 0,
"custProgId": 0,
"shippingMethod": "string",
"cardType": "Physical",
"externalIdentifier": "string",
"firstName": "string",
"lastName": "string",
"phone": "string",
"ssn": "stringstr",
"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",
"otherInfo": "string",
"comment": "string",
"clientDefinedField1": "string",
"clientDefinedField2": "string",
"clientDefinedField3": "string",
"clientDefinedField4": "string",
"clientDefinedField5": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/orderSingleCard?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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/orderSingleCard',
params: {
'sessionId' => 'string'
}, 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/orderSingleCard', params={
'sessionId': 'string'
}, 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/orderSingleCard', 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/orderSingleCard?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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/orderSingleCard", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /orderSingleCard
Order or check the status of a card if there are timeouts or failures.
Body parameter
{
"customerId": 0,
"custProgId": 0,
"shippingMethod": "string",
"cardType": "Physical",
"externalIdentifier": "string",
"firstName": "string",
"lastName": "string",
"phone": "string",
"ssn": "stringstr",
"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",
"otherInfo": "string",
"comment": "string",
"clientDefinedField1": "string",
"clientDefinedField2": "string",
"clientDefinedField3": "string",
"clientDefinedField4": "string",
"clientDefinedField5": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sessionId | query | string | true | Session Identifier (sessionId) parameter you receive after successful login. |
body | body | object | true | none |
» customerId | body | integer | true | none |
» custProgId | body | integer | true | Customer program id retrieved from 'getCustomerProgramList' API |
» shippingMethod | body | string | false | Shipping method can be retrieved from 'getShippingMethods' API |
» cardType | body | string | true | If empty or null then card type will be considered as Physical. |
» externalIdentifier | body | string | true | Optional field to prevent duplicate orders at program level |
» firstName | body | string | true | none |
» lastName | body | string | true | none |
» phone | body | string | true | none |
» ssn | body | string | false | none |
» dateOfBirth | body | string | false | none |
body | string | false | none | |
» embossedMessage | body | string | false | none |
» mailingAddr1 | body | string | true | none |
» mailingAddr2 | body | string | false | none |
» mailingCity | body | string | false | none |
» mailingState | body | string | false | none |
» mailingPostalCode | body | string | true | none |
» shippingAddress1 | body | string | true | none |
» shippingAddress2 | body | string | true | none |
» shippingCity | body | string | true | none |
» shippingState | body | string | true | none |
» shippingZip | body | string | true | none |
» otherInfo | body | string | false | Provide a unique value to ensure duplicate cards are not ordered. (To prevent duplicate orders) |
» comment | body | string | false | none |
» 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 |
Detailed descriptions
sessionId: Session Identifier (sessionId) parameter you receive after successful login.
Enumerated Values
Parameter | Value |
---|---|
» cardType | Physical |
» cardType | Digital |
Example responses
The API responds with any one of the following response objects
{
"cardNumber": "***********3142",
"proxy": "***********12",
"orderID": "271843",
"personID": "1100400000",
"cvx2": "740",
"expDate": "5/31/2027 11:59:59 PM",
"trn": "073972181",
"dda": "2557390448703",
"fundingId": 0,
"url": "https://uat.dash.digital/onboarding/redeem-card/?proxy=5160446803875",
"statusVal": 1
}
{
"cardNumber": "***********3142",
"orderID": "271843",
"personID": "1100400000",
"cvx2": "740",
"expDate": "5/31/2027 11:59:59 PM",
"trn": "073972181",
"dda": "2557390448703",
"fundingId": 0,
"url": "https://uat.dash.digital/onboarding/redeem-card/?proxy=5160446803875",
"digitalCardProxy": "***********12",
"statusVal": 1
}
{
"cardNumber": "***********3142",
"proxy": "***********12",
"orderID": "271843",
"personID": "1100400000",
"cvx2": "740",
"expDate": "5/31/2027 11:59:59 PM",
"trn": "073972181",
"dda": "2557390448703",
"fundingId": 0,
"url": "https://uat.dash.digital/onboarding/redeem-card/?proxy=5160446803875",
"digitalCardProxy": "***********12",
"statusVal": 1
}
{
"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 | The API responds with any one of the following response objects | Inline |
400 | Bad Request | Bad-Request | ErrorObj400 |
401 | Unauthorized | Un-Authorized | LogoutUserErrorObj401 |
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
Instructions for Registering a Single/Multiple Card
- To prevent duplicate card registration:
- Enable the "Make Other Field Required" and "Make Other Field Unique" options at the program level.
- Ensure a unique value, such as an employeeID, is provided for the otherInfo field.
- Notes:
- Enable the "Show Full Card Number" option at the customer level to get the full card number in the cardNum property.
- If email or SMS notification is enabled at the program level for digital cards, you will receive a tiny URL in the tinyUrl property.
- The dateOfBirth field is optional, but we recommend providing it.
- 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.
- Pass the external identifier to the externalIdentifier parameter.
- To prevent duplicate registrations with loads:
- Ensure that the Duplicate Load Checker flag in the customer program is turned on.
- Users can pass the externalIdentifier against the proxy to prevent duplicate loads.
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 |
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 | LogoutUserErrorObj401 |
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 | LogoutUserErrorObj401 |
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 |
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:
- You get the Customer Identifier in login API response as customerId parameter.
- To get the Funding Id use getVirtualAccountList API.
- You get the Customer Program Identifier in getCustomerProgramList API response as rowId parameter.
- For Instant Issue Card, if you attempt to load an unregistered card, the request will fail with the message Card not assigned. Load failed.
- 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
- For single-load orders, users will receive an immediate response
- For batch orders, the file will be processed in the backend, and duplicate loads will be prevented
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
Select any one response object from the following options.
{
"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 | Select any one response object from the following options. | Inline |
400 | Bad Request | Bad-Request | ErrorObj400 |
401 | Unauthorized | Un-Authorized | LogoutUserErrorObj401 |
404 | Not Found | Not Found | ErrorObj404 |
500 | Internal Server Error | Server side error | GlobalErrorObj500 |
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"
}
],
"externalIdentifier": "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. - Pass External Identifier to externalIdentifier parameter.
To prevent duplicates unloads - User can pass externalIdentifier against proxy to prevent duplicate unloads - This is applicable only for Single unload orders.
Tips:
- You get the Customer Identifier in login API response as customerId parameter.
- To get the Funding Id, use getVirtualAccountList API.
- 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. |
» externalIdentifier | body | string | false | Unique External Identifier value to prevent duplicates. |
» 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",
"vaDebitRefNum": "CC0034564B80"
}
{
"fundingId": 0,
"dstnFundingId": 0,
"status": "BATCH_IN_PROGRESS",
"isMeta": false,
"message": "Your value unload have been saved and will be processed soon.",
"returnCode": "SUCCESS"
}
{
"ShowFailedTransactions": false,
"restrictCardholderPersonalInfo": false,
"statusMsg": "Duplicate unload detected for External ID",
"fundingId": 0,
"dstnFundingId": 0,
"status": "FAILED",
"isMeta": false,
"message": "Duplicate unload detected for External ID",
"returnCode": "ERROR"
}
{
"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 | LogoutUserErrorObj401 |
404 | Not Found | Not Found | ErrorObj404 |
500 | Internal Server Error | Server side error | ErrorObj500 |
Response Schema
Get the list of orders
Code samples
# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/getOrderList?sessionId=string&customerId=0&startDate=string&endDate=string&pageNo=1&noOfRecordsPerPage=10 \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/getOrderList?sessionId=string&customerId=0&startDate=string&endDate=string&pageNo=1&noOfRecordsPerPage=10 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/getOrderList?sessionId=string&customerId=0&startDate=string&endDate=string&pageNo=1&noOfRecordsPerPage=10',
{
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/getOrderList',
params: {
'sessionId' => 'string',
'customerId' => 'integer',
'startDate' => 'string(mm/dd/yyyy)',
'endDate' => 'string(mm/dd/yyyy)',
'pageNo' => 'string',
'noOfRecordsPerPage' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/getOrderList', params={
'sessionId': 'string', 'customerId': '0', 'startDate': 'string', 'endDate': 'string', 'pageNo': '1', 'noOfRecordsPerPage': '10'
}, 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/getOrderList', 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/getOrderList?sessionId=string&customerId=0&startDate=string&endDate=string&pageNo=1&noOfRecordsPerPage=10");
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/getOrderList", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /getOrderList
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 | The customer id linked with this user, which can be retrieved from the response body of login API. |
customerProgramId | query | integer | false | Customer program id retrieved from 'getCustomerProgramList' API. |
startDate | query | string(mm/dd/yyyy) | true | Pass the start date from which the order list should be fetched. |
endDate | query | string(mm/dd/yyyy) | true | Pass the end date up to which the order list should be fetched. |
pageNo | query | string | true | Page number to choose from example 1 brings the first page |
noOfRecordsPerPage | query | string | true | Expected number of records in the API response |
Example responses
200 Response
{
"orders": [
{
"orderId": 1023,
"orderDate": "03/27/2025",
"orderType": "Card Orders",
"orderProdType": "Instant Issue Payroll Order",
"qty": 0,
"address1": "string",
"address2": "string",
"city": "string",
"state": "string",
"zip": "string",
"totalValue": 0,
"isOrderCancel": true,
"isInstantIssue": true,
"AddedOn": "string"
}
],
"noOfRecordsPerPage": 10,
"pageNo": 1,
"totalCount": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | SUCCESS | Inline |
400 | Bad Request | Bad-Request | ErrorObj400 |
401 | Unauthorized | Un-Authorized | LogoutUserErrorObj401 |
404 | Not Found | Not Found | ErrorObj404 |
500 | Internal Server Error | Server side error | ErrorObj500 |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» orders | [OrderListResponse] | false | none | none |
»» orderId | integer | false | none | none |
»» orderDate | string | false | none | none |
»» orderType | string | false | none | none |
»» orderProdType | string | false | none | none |
»» qty | integer | false | none | none |
»» address1 | string | false | none | none |
»» address2 | string | false | none | none |
»» city | string | false | none | none |
»» state | string | false | none | none |
»» zip | string | false | none | none |
»» totalValue | integer | false | none | none |
»» isOrderCancel | boolean | false | none | none |
»» isInstantIssue | boolean | false | none | none |
»» AddedOn | string | false | none | none |
» noOfRecordsPerPage | integer | false | none | none |
» pageNo | integer | false | none | none |
» totalCount | integer | false | none | none |
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": "1ZW3268W0327217801"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | SUCCESS | OrderTrackingDetails |
400 | Bad Request | Bad-Request | ErrorObj400 |
401 | Unauthorized | Un-Authorized | LogoutUserErrorObj401 |
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
SUCCESS
{
"returnCode": "0,",
"status": "success",
"message": "Email Sent Successfully!"
}
{
"returnCode": "-1,",
"status": "error",
"message": "Email not sent due to disabled email configuration"
}
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 | LogoutUserErrorObj401 |
404 | Not Found | Not Found | ErrorObj404 |
500 | Internal Server Error | Server side error | ErrorObj500 |
Response Schema
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
- Pass the Proxy number value to proxyKey parameter
- Pass Customer Program Id value to customerProgramId parameter
Tips:
- You get only the available data in the API response
- In case the card is not yet shipped, only the proxyKey will be returned in the API response
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
SUCCESS
{
"proxyKey": "0000000423952",
"trackingNumber": "CC00901031FB",
"shippingDate": "20/05/2022",
"shippingType": "individualShip",
"shippingMethod": "USPS First Class",
"cardType": "PHYSICAL"
}
{
"proxyKey": "1223164231399",
"shippingType": "individualShip",
"cardType": "DIGITAL",
"email": {
"status": "EmailDelivered",
"statusDate": "2025-03-19T08:44:14.997"
},
"sms": {
"status": "accepted",
"statusDate": "2025-03-20T08:17:04.06"
}
}
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 | LogoutUserErrorObj401 |
500 | Internal Server Error | Server side error | ErrorObj500 |
503 | Service Unavailable | Service unavailable | ErrorObj503 |
Response Schema
Card Management APIs
The API endpoint name for the set is 'fisendpoint'
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
Instructions to Change Card Status
- Pass the Customer Program Identifier:
- Use the cpId parameter to pass the Customer Program Identifier value.
- Specify the Card:
- Either pass the proxy number value to the proxyKey parameter or pass the card number value to the cardNum parameter.
- Set the New Status:
- Pass the desired status value to the cardStatus parameter.
- List of desired statuses:
- [ ACTIVATE, READY, LOSTSTOLEN, SUSPEND, UNSUSPEND, CLOSE ]
Note:
- Before marking the card LOST, SUSPEND, or CLOSED, make sure you unload the balance from that card using unloadCards
- Card status changes must abide by the specific card status rules:
- Can only Activate a card that is in a Ready
- For temporary card status - Suspended, status is reverted to it's prior status using UNSUSPEND.
- Before a card in a '6-Suspended' status can be updated to '3-Closed', it must first be
reverted to it's prior status using UNSUSPEND.
- Cards in a fatal or final status (i.e.; final statuses are '3-Closed', '5-Replaced', '14-Fraud', '21-Void' and '23-Destroyed') should never be modified to any other 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 |
» 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 | LogoutUserErrorObj401 |
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
- Pass Customer Program Identifier value to cpId parameter.
- You can pass any of the below parameters based on your search requirement:
- Pass Proxy number value to proxyKey parameter.
- Pass Card number value to cardNum parameter.
- Pass First Name value to first parameter.
- Pass Last Name value to last parameter.
- Pass Social Security Number value to ssn parameter.
To get Virtual account info
- Pass Client Identifier value to clientID parameter.
- You can pass any of the below parameters based on your search requirement:
- Pass Proxy number value to proxyKey parameter.
- Pass Card number value to cardNum parameter.
- Pass First Name value to first parameter.
- Pass Last Name value to last parameter.
- Pass Social Security Number value to ssn parameter.
Tips:
- 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 | LogoutUserErrorObj401 |
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
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.
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
First way to get Virtual account balance
- Pass the Proxy number value to proxyKey parameter.
- Pass the Funding Id value to fundingId parameter.
Second way to get Virtual account balance
- Pass Card number value to accNum parameter.
- Pass default NULL value to fundingId parameter.
Tips:
- 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 | LogoutUserErrorObj401 |
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 |
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
- You can pass any of the below parameters based on your requirement:
- Pass Proxy number value to proxyKey parameter.
- Pass Card number value to cardNum parameter.
- Pass Customer Program id value to cpId 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 |
» 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 | LogoutUserErrorObj401 |
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
Either pass
- Proxy number value to proxyKey parameter and
- Customer Program Id value to cpId parameter
- Customer Id value to customerId parameter
Or
- Card Number value to cardNum parameter
Example: To retrieve last 7 days transactions. You need to pass the startDate as today's date and numOfDays as 7.
To retrieve load history of all associated cards
- Pass 1 as value to cardNumOnly to get data for only card number or proxkey provided.
- Pass 0 as value to cardNumOnly to get transactions for all related cards to the PAN Proxy or CAN Proxy (includes additional cards, secondary cards, etc).
- If no value provided to cardNumOnly it will set default as 1 and will return data for only card number or proxkey provided.
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 | LogoutUserErrorObj401 |
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 | LogoutUserErrorObj401 |
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 |
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 | LogoutUserErrorObj401 |
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 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 | LogoutUserErrorObj401 |
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 | LogoutUserErrorObj401 |
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 |
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 |
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 |
Retrieve related cards
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
To get related cards by proxy or card number
First way to get related cards by card number
- Pass Card number value to cardNumber parameter.
- Pass customer program Id value to cpId parameter.
- Pass "0" or "1" to showPersonSummary parameter.
Second way to get related cards by proxy
- Pass proxy key value to proxyKey parameter.
- Pass customer program Id value to cpId parameter.
- Pass "0" or "1" to showPersonSummary parameter.
Tips:
- To get person details, pass "1" to showPersonSummary parameter.
- For initial Physical or digital card, we have relation as 0.
- For replaced card, we have relation as 0.
- For Additional cardholder card, we have relation as 6.
FIS Relation Type
- 0: Self (Accountholder)
- 1: Spouse (Spouse accountholder)
- 3: Parent (Parent of the Cardholder)
- 6: Friend (Friend or 'other' relationship, typically used for Secondary cards)
- 18: Companion (Used for the Companion/Relationship program - cardholder who receives funds from the Administrator and has limited card load functionality)
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
[
{
"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]"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | SUCCESS | Inline |
400 | Bad Request | Bad-Request | ErrorObj400 |
401 | Unauthorized | Un-Authorized | LogoutUserErrorObj401 |
404 | Not Found | Not Found | ErrorObj404 |
500 | Internal Server Error | Server side error | ErrorObj500 |
Response Schema
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
To get card balance, its status, and the related cards by proxy or card number
First way to get details by card number
- Pass Card number value to cardNumber parameter.
- Pass customer program Id value to cpId parameter.
- Pass "0" or "1" to showPersonSummary parameter.
Second way to get details by proxy
- Pass proxy key value to proxyKey parameter.
- Pass customer program Id value to cpId parameter.
- Pass "0" or "1" to showPersonSummary parameter.
Tips:
- To get person details, pass "1" to showPersonSummary parameter.
- For initial Physical or digital card, we have relation as 0.
- For replaced card, we have relation as 0.
- For Additional cardholder card, we have relation as 6.
FIS Relation Type
- 0: Self (Accountholder)
- 1: Spouse (Spouse accountholder)
- 3: Parent (Parent of the Cardholder)
- 6: Friend (Friend or 'other' relationship, typically used for Secondary cards)
- 18: Companion (Used for the Companion/Relationship program - cardholder who receives funds from the Administrator and has limited card load functionality)
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 | LogoutUserErrorObj401 |
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
To get the transaction receipt image link
- Pass customer program Id value to cpId parameter
- Pass card proxy key value to proxyKey parameter
- Pass transaction reference number to transactionRefNum parameter
### 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 | LogoutUserErrorObj401 |
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
}
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 |
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 |
LogoutSuccessResponse
{
"returnCode": 0,
"status": "success"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
returnCode | integer | false | none | returncode |
status | string | false | none | none |
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",
"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 |
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 |
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 |
OrderListResponse
{
"orderId": 1023,
"orderDate": "03/27/2025",
"orderType": "Card Orders",
"orderProdType": "Instant Issue Payroll Order",
"qty": 0,
"address1": "string",
"address2": "string",
"city": "string",
"state": "string",
"zip": "string",
"totalValue": 0,
"isOrderCancel": true,
"isInstantIssue": true,
"AddedOn": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
orderId | integer | false | none | none |
orderDate | string | false | none | none |
orderType | string | false | none | none |
orderProdType | string | false | none | none |
qty | integer | false | none | none |
address1 | string | false | none | none |
address2 | string | false | none | none |
city | string | false | none | none |
state | string | false | none | none |
zip | string | false | none | none |
totalValue | integer | false | none | none |
isOrderCancel | boolean | false | none | none |
isInstantIssue | boolean | false | none | none |
AddedOn | string | false | none | none |
OrderSinglePhysical
{
"cardNumber": "***********3142",
"proxy": "***********12",
"orderID": "271843",
"personID": "1100400000",
"cvx2": "740",
"expDate": "5/31/2027 11:59:59 PM",
"trn": "073972181",
"dda": "2557390448703",
"fundingId": 0,
"url": "https://uat.dash.digital/onboarding/redeem-card/?proxy=5160446803875",
"statusVal": 1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
cardNumber | string | false | none | Card number |
proxy | 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 |
trn | string | false | none | none |
dda | string | false | none | none |
fundingId | integer | false | none | none |
url | string | false | none | none |
statusVal | integer | false | none | none |
OrderSingleDigital
{
"cardNumber": "***********3142",
"orderID": "271843",
"personID": "1100400000",
"cvx2": "740",
"expDate": "5/31/2027 11:59:59 PM",
"trn": "073972181",
"dda": "2557390448703",
"fundingId": 0,
"url": "https://uat.dash.digital/onboarding/redeem-card/?proxy=5160446803875",
"digitalCardProxy": "***********12",
"statusVal": 1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
cardNumber | string | false | none | Card 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 |
trn | string | false | none | none |
dda | string | false | none | none |
fundingId | integer | false | none | none |
url | string | false | none | none |
digitalCardProxy | string | false | none | Digital card proxy number |
statusVal | integer | false | none | none |
OrderSinglePhysicalDigital
{
"cardNumber": "***********3142",
"proxy": "***********12",
"orderID": "271843",
"personID": "1100400000",
"cvx2": "740",
"expDate": "5/31/2027 11:59:59 PM",
"trn": "073972181",
"dda": "2557390448703",
"fundingId": 0,
"url": "https://uat.dash.digital/onboarding/redeem-card/?proxy=5160446803875",
"digitalCardProxy": "***********12",
"statusVal": 1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
cardNumber | string | false | none | Card number |
proxy | 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 |
trn | string | false | none | none |
dda | string | false | none | none |
fundingId | integer | false | none | none |
url | string | false | none | none |
digitalCardProxy | string | false | none | Digital card proxy number |
statusVal | integer | false | none | none |
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 |
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 |
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 |
UserErrorObj401
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Invalid Username or Password"
}
],
"code": 401,
"message": "Invalid Username or Password"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | object | false | none | none |
» errors | [object] | false | none | none |
»» domain | string | false | none | none |
»» reason | string | false | none | Error Reason |
»» message | string | false | none | Error message |
» code | integer | false | none | none |
» message | string | false | none | Error message |
LogoutUserErrorObj401
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Your session has expired. Please log in again to continue."
}
],
"code": 401,
"message": "Your session has expired. Please log in again to continue."
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | object | false | none | none |
» errors | [object] | false | none | none |
»» domain | string | false | none | none |
»» reason | string | false | none | Error Reason |
»» message | string | false | none | Error message |
» code | integer | false | none | none |
» 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 |
GlobalErrorObj500
{
"error": {
"domain": "global",
"reason": "backendError",
"message": "One or more errors occurred. (A task was canceled.)"
},
"code": 500,
"message": "One or more errors occurred. (A task was canceled.)"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | GlobalInnerErrorObj500 | 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 |
GlobalInnerErrorObj500
{
"domain": "global",
"reason": "backendError",
"message": "One or more errors occurred. (A task was canceled.)"
}
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": "1ZW3268W0327217801"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
orderId | integer | false | none | Orderid |
trackingNumber | string | false | none | TrackingNumber of the order |
sendDigitalCardAlertResponse
{
"returnCode": 0,
"status": "success",
"message": "Email Sent Successfully"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
returnCode | integer | false | none | success code 0 |
status | string | false | none | Status |
message | string | false | none | message |
sendDigitalCardAlertFailureResponse
{
"returnCode": -1,
"status": "error",
"message": "Email not sent due to disabled email configuration"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
returnCode | integer | false | none | error code default -1 |
status | string | false | none | Status |
message | string | false | none | Error message |
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 |
ShippingInformationPhysical
{
"proxyKey": "0000000423952",
"trackingNumber": "CC00901031FB",
"shippingDate": "20/05/2022",
"shippingType": "individualShip",
"shippingMethod": "USPS First Class",
"cardType": "PHYSICAL"
}
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 |
cardType | string | false | none | CardType of the order |
ShippingInformationDigital
{
"proxyKey": "1223164231399",
"shippingType": "individualShip",
"cardType": "DIGITAL",
"email": {
"status": "EmailDelivered",
"statusDate": "2025-03-19T08:44:14.997"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
proxyKey | string | false | none | ProxyKey of the order |
shippingType | string | false | none | ShippingType of the order |
cardType | string | false | none | CardType of the order |
object | false | none | none | |
» status | string | false | none | Email status |
» statusDate | string(date-time) | false | none | Date when email status was updated |
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 |
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 |
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 |
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. |
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 |
string | false | none | ||
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 |
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 |
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 |
OrderDigitalCardSuccessResponse
{
"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 |
OrderPhysicalCardSuccessResponse
{
"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": {}
}
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 |
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",
"vaDebitRefNum": "CC0034564B80"
}
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 |
vaDebitRefNum | string | false | none | Virtual account's transaction reference number |
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 |
ExternalIdError
{
"ShowFailedTransactions": false,
"restrictCardholderPersonalInfo": false,
"statusMsg": "Duplicate unload detected for External ID",
"fundingId": 0,
"dstnFundingId": 0,
"status": "FAILED",
"isMeta": false,
"message": "Duplicate unload detected for External ID",
"returnCode": "ERROR"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ShowFailedTransactions | boolean | false | none | Indicates whether failed transactions should be shown |
restrictCardholderPersonalInfo | boolean | false | none | Flag to restrict cardholder personal information |
statusMsg | string | false | none | Detailed status message |
fundingId | integer | false | none | Funding ID associated with the transaction |
dstnFundingId | integer | false | none | Destination Funding ID |
status | string | false | none | Transaction status |
isMeta | boolean | false | none | Indicates if the response contains metadata |
message | string | false | none | Error or status message |
returnCode | string | false | none | Return code indicating success or failure |
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 |