Dash Core API 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{endpointName}/v1/{apiMethodName}
- {endpointName} - The API endpoint name
- {apiMethodName} - The API method 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/userendpoint/v1/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/userendpoint/v1/login HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"loginId": "string",
"password": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/userendpoint/v1/login',
{
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/userendpoint/v1/login',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/userendpoint/v1/login', 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/userendpoint/v1/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/userendpoint/v1/login");
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/userendpoint/v1/login", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /userendpoint/v1/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.
Body parameter
{
"loginId": "string",
"password": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | object | true | none |
| » loginId | body | string | true | Username login identification text. |
| » password | body | string | true | Represents the login password as a text field. Make sure your code is escaping any special characters in the password properly. |
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/userendpoint/v1/logout?sessionId=string \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/userendpoint/v1/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/userendpoint/v1/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/userendpoint/v1/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/userendpoint/v1/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/userendpoint/v1/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/userendpoint/v1/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/userendpoint/v1/logout", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /userendpoint/v1/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/customerendpoint/v1/getCustomerHierarchy?sessionId=string&customerId=0 \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/customerendpoint/v1/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/customerendpoint/v1/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/customerendpoint/v1/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/customerendpoint/v1/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/customerendpoint/v1/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/customerendpoint/v1/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/customerendpoint/v1/getCustomerHierarchy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /customerendpoint/v1/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 different shipping methods.
Code samples
# You can also use wget
curl -X GET https://portal-api-uat.dashsolutions.com/_ah/api/customerendpoint/v1/getShippingMethods \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/customerendpoint/v1/getShippingMethods 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/customerendpoint/v1/getShippingMethods',
{
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/customerendpoint/v1/getShippingMethods',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/customerendpoint/v1/getShippingMethods', 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/customerendpoint/v1/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/customerendpoint/v1/getShippingMethods");
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/customerendpoint/v1/getShippingMethods", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /customerendpoint/v1/getShippingMethods
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/customerendpoint/v1/getCustomerProgramList?sessionId=string&customerId=0&showAutoCreated=true&showBranded=true \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/customerendpoint/v1/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/customerendpoint/v1/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/customerendpoint/v1/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/customerendpoint/v1/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/customerendpoint/v1/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/customerendpoint/v1/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/customerendpoint/v1/getCustomerProgramList", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /customerendpoint/v1/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:
- The response consists of a parameter called rowId, which is also called Customer Program Identifier (cpId, custProgId).
- 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/orderendpoint/v1/orderCards?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/orderCards?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"customerId": 0,
"custProgId": 0,
"externalIdentifier": "string",
"orderProdType": "Personalized Payroll Order",
"attn": "string",
"name": "string",
"phone": "string",
"address1": "string",
"address2": "string",
"city": "string",
"state": "string",
"zip": "string",
"shippingMethod": "string",
"shipType": "bulkShip",
"cardType": "Physical",
"isInstantIssue": true,
"qty": 0,
"totalValue": 0,
"campaignName": "string",
"reasonCode": "string",
"orderDetails": [
{
"firstName": "string",
"lastName": "string",
"phone": "string",
"ssn": "string",
"dateOfBirth": "string",
"email": "string",
"embossedMessage": "string",
"shippingAddress1": "string",
"shippingAddress2": "string",
"shippingCity": "string",
"shippingState": "string",
"shippingZip": "string",
"mailingAddr1": "string",
"mailingAddr2": "string",
"mailingCity": "string",
"mailingState": "string",
"mailingPostalCode": "string",
"otherInfo": "string",
"amount": 0,
"comment": "string",
"externalIdentifier": "string",
"clientDefinedField1": "string",
"clientDefinedField2": "string",
"clientDefinedField3": "string",
"clientDefinedField4": "string",
"clientDefinedField5": "string"
}
],
"host": "Prepaid"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/orderCards',
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/orderendpoint/v1/orderCards', 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/orderendpoint/v1/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/orderendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/orderCards", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /orderendpoint/v1/orderCards
Note:
- All entries are case-sensitive.
- For Instant Issue Card(IIC) Orders
- There are three Instant Issue Corporate order types
- Instant Issue Payroll Order - For Corporate Payments Product
- Instant Corporate Reward Order - For Corportate Reward Product
- Instant Issue Purchase Order - For Corporate Purchase Product
- Pass ayone of the above in orderProdType field.
- Pass isInstantIssue as "true".
- Important: For instant issue scenarios, ensure that orderDetails is excluded from the payload.
- There are three Instant Issue Corporate order types
Additional Instructions
- 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.
- 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."
- Email Validation Rules
- Allowed Characters:
- Letters: A–Z (uppercase) and a–z (lowercase)
- Numbers: 0–9
- Special Symbols: !, #, $, %, &, ', *, +, -, /, =, ?, _, \, {, }, ~
- Not Allowed: ^, |
- Dot (.) and Special Character Rules:
- Cannot appear at the start or end of the email.
- Cannot appear consecutively (e.g., .., --, __).
- Must be followed by a letter or number when used.
Body parameter
{
"customerId": 0,
"custProgId": 0,
"externalIdentifier": "string",
"orderProdType": "Personalized Payroll Order",
"attn": "string",
"name": "string",
"phone": "string",
"address1": "string",
"address2": "string",
"city": "string",
"state": "string",
"zip": "string",
"shippingMethod": "string",
"shipType": "bulkShip",
"cardType": "Physical",
"isInstantIssue": true,
"qty": 0,
"totalValue": 0,
"campaignName": "string",
"reasonCode": "string",
"orderDetails": [
{
"firstName": "string",
"lastName": "string",
"phone": "string",
"ssn": "string",
"dateOfBirth": "string",
"email": "string",
"embossedMessage": "string",
"shippingAddress1": "string",
"shippingAddress2": "string",
"shippingCity": "string",
"shippingState": "string",
"shippingZip": "string",
"mailingAddr1": "string",
"mailingAddr2": "string",
"mailingCity": "string",
"mailingState": "string",
"mailingPostalCode": "string",
"otherInfo": "string",
"amount": 0,
"comment": "string",
"externalIdentifier": "string",
"clientDefinedField1": "string",
"clientDefinedField2": "string",
"clientDefinedField3": "string",
"clientDefinedField4": "string",
"clientDefinedField5": "string"
}
],
"host": "Prepaid"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| sessionId | query | string | true | Session Identifier (sessionId) parameter you receive after successful login. |
| body | body | object | true | JSON payload for submitting order requests for three card issuance types: Instant Issue Card (IIC), Bulk Physical Cards, and Single Physical/Digital Card. Sent to the processing platform API and includes: Customer Identity Information (e.g., customerId, custProgId). Account Information for card issuance. |
| » customerId | body | integer | true | Unique identifier for the customer placing the order. Must reference a valid, accessible customer record. Example: 78901 |
| » custProgId | body | integer | true | Identifies the customer program identifier associated with the order. The value must reference an existing, active program linked to the customer. Response Aliases: rowId, custProgId, cpId. Example: 1234 |
| » externalIdentifier | body | string | false | A unique identifier supplied by the client to track orders and prevent duplicate submissions on the client side. Constraints: Must be unique if provided. Maximum length: 255 characters. |
| » orderProdType | body | string | true | Indicates the classification or product type of the order. Allowed Values: "Instant Issue Payroll Order", "Personalized Payroll Order", "Reloadable Corporate Reward Order", "Non Reloadable Corporate Reward Order", "Instant Corporate Reward Order", "Direct Order - CORP", "Personalized Purchasing Order", "Non Reloadable - Spot Reward Order", "Instant Issue Purchase Order". Example: "Personalized Payroll Order" |
| » attn | body | string | false | Specifies the “Attention” line for the shipment contact. Required for Instant Issue Card (IIC) and bulk physical orders where shipType is set to "bulkShip". Constraints: Maximum 30 characters. Example: "John Smith" |
| » name | body | string | false | Specifies the name of the primary contact or addressee for the order. Required for Instant Issue Card (IIC) and bulk physical orders where shipType is set to "bulkShip". Constraints: Maximum 50 characters. Example: "Jane Doe" |
| » phone | body | string | false | Specifies the phone number for the order-level contact. This field is required for orders of type IIC and for bulk physical orders where shipType is "bulkShip". Constraints: Maximum length of 10 digits. |
| » address1 | body | string | false | Specifies the first line of the primary contact address for the order. Required for Instant Issue Card (IIC) orders and bulk physical orders where shipType = "bulkShip". Constraints: Maximum 50 characters (including spaces). Accepts all standard characters supported by processing platform. Example: "123 Main Street, Suite 200" |
| » address2 | body | string | false | Provides additional address details (e.g., apartment, suite, or building number). Constraints: Maximum 50 characters (including spaces). Accepts alphanumeric and standard punctuation. Example: "Apt 5B" |
| » city | body | string | false | Specifies the city for the order-level contact address. Required for Instant Issue Card (IIC) and bulk physical orders where shipType = "bulkShip". Constraints: Maximum 35 characters. Example: "New York" |
| » state | body | string | false | Specifies the state or province code for the contact address. Required for Instant Issue Card (IIC) and bulk physical orders where shipType = "bulkShip". Constraints: Must be exactly 2 uppercase letters. Example: "CA" |
| » zip | body | string | false | Specifies the ZIP or postal code for the order-level contact address. Required for Instant Issue Card (IIC) and bulk physical orders where shipType = "bulkShip". Constraints: Must be exactly 5 digits. Example: "90210" |
| » shippingMethod | body | string | true | Specifies the shipping method used for physical card deliveries. Required for all personalized physical card orders. For personalized digital orders, pass: USPS First Class. Allowed Values: USPS First Class, UPS Ground, UPS Next Day Air, UPS Second Day, USPS w/ Tracking, FedEx Ground, FedEx 2nd Day, FedEx Next Day. |
| » shipType | body | string | false | Defines the shipping type configuration for the order. Allowed Values: "individualShip" (default for single orders), "bulkShip". Constraints: Required for bulk physical orders. Defaults to "individualShip" for single orders. Example: "bulkShip" |
| » cardType | body | string | false | Specifies the type of card to be ordered. Allowed Values: "Digital", "Physical". Default: "Physical". Example: "Digital" |
| » isInstantIssue | body | boolean | false | Indicates whether the order is an Instant Issue Card (IIC) request. Constraints: Must be set to true for IIC orders. Defaults to false for all other order types. Example: true |
| » qty | body | integer | false | Specifies the number of cards to be ordered. Constraints: Must be 1 for single orders and greater than 1 for bulk orders. Required for Instant Issue Card (IIC) orders. Example: 10 |
| » totalValue | body | integer | false | Specifies the expected total order value. This field is required only for CORP_REWARD orders and must be a non-negative decimal. Constraints: Must be greater than or equal to 0. No currency symbols; numeric value only. Example: 15.60 |
| » campaignName | body | string | false | Optional identifier for the marketing campaign associated with the order. Constraints: Accepts alphanumeric characters and spaces. Maximum 50 characters. |
| » reasonCode | body | string | false | Optional classification code used to categorize the purpose or reason for the order. Constraints: Accepts alphanumeric characters and spaces. Maximum 30 characters. |
| » orderDetails | body | [object] | false | orderDetails is mandatory for Single or Bulk Personalized Card Orders and not required for Instant Issue Card Orders. |
| »» firstName | body | string | true | Specifies the first name associated with the account. This field is used in various downstream processes such as searchAccount. Constraints: Accepts only alphabetic characters, spaces, and apostrophes. Critical: Maximum length is 50 characters to avoid truncation in processing platform responses. |
| »» lastName | body | string | true | Specifies the last name associated with the account. This field is used in various downstream processes such as searchAccount. Constraints: Accepts only alphabetic characters, spaces, and apostrophes. Critical: Maximum length is 50 characters to avoid truncation in processing platform responses. |
| »» phone | body | string | true | Specifies the contact phone number associated with the account. Supports international formats. Constraints: Accepts international numbers (e.g., "+15555555555" where +1 is the country code for the U.S.). Maximum length: 23 digits. |
| »» ssn | body | string | true | Specifies the Social Security Number associated with the account. Constraints: Exactly 9 numeric digits; Example: "999994444" |
| »» dateOfBirth | body | string | false | Specifies the date of birth associated with the account. This field is optional but recommended for enhanced processing and validation. Constraints: Format must be MM/DD/YYYY (e.g., "06/20/1997"). The YYYY-MM-DD format is not supported. Field can be null, but if provided, it must follow the correct format. Invalid formats will result in a "Data type validation error" during processing. |
| body | string | false | Specifies the email address associated with the account. Required only for non-Reward products when both OrderDigitalCardForPhysicalCard and SendDigitalCardEmail flags are enabled at the Customer Program (CP) level. Recommended for all products. The requirement is conditional based on Customer Program configuration and product type. Can accept a null value. Must follow a valid email format. Constraints: Maximum length of 80 characters (including spaces). ⚠ Critical: Exceeding this limit may result in truncation in processing platform responses. |
|
| »» embossedMessage | body | string | false | Custom name or message to be embossed on the card, where applicable. Constraints: Maximum length: 26 characters. |
| »» shippingAddress1 | body | string | true | Specifies the first line of the primary shipping address for individual shipments. Used for delivery of physical items directly to the account or recipient. Constraints: Maximum length of 50 characters, including spaces. Should contain valid address components such as street name and number. |
| »» shippingAddress2 | body | string | false | Specifies the second line of the primary shipping address for individual shipments. This field is optional. Constraints: Maximum length of 50 characters, including spaces. Should complement shippingAddress1 without duplicating content. |
| »» shippingCity | body | string | true | Specifies the city portion of the primary shipping address for individual shipments. Constraints: Maximum length of 35 characters, including spaces. Must be a valid city name. |
| »» shippingState | body | string | true | Specifies the state or province portion of the primary shipping address for individual shipments. Constraints: Must be exactly 2 uppercase letters, following standard state or province abbreviations (e.g., TX for Texas, BC for British Columbia). No numbers or special characters allowed. |
| »» shippingZip | body | string | true | Specifies the ZIP or postal code portion of the primary shipping address for individual shipments. Constraints: Must be exactly 5 digits. Only numeric values allowed. Format must comply with U.S. ZIP code standards (e.g., 10001, 90210). |
| »» mailingAddr1 | body | string | false | Specifies the first line of the residential address for the account. We recommend sending this field to ensure accurate location validation and to support downstream processing and compliance checks. Constraints: Maximum length of 50 characters, including spaces. Should contain valid address components such as street name and number. |
| »» mailingAddr2 | body | string | false | Specifies the second line of the residential address for the account. This field is optional. Constraints: Maximum length of 50 characters, including spaces. Should complement mailingAddr1 without duplicating content. |
| »» mailingCity | body | string | false | Specifies the city portion of the residential address for the account. We recommend sending this field to ensure accurate location validation and to support downstream processing and compliance checks. Constraints: Maximum length of 35 characters, including spaces. Must be a valid city name. Example: "New York" |
| »» mailingState | body | string | false | Specifies the state or province portion of the residential address for the account. We recommend sending this field to ensure accurate location validation and to support downstream processing and compliance checks. Constraints: Must be exactly 2 uppercase letters, following standard state or province abbreviations (e.g., CA for California, ON for Ontario). No special characters or numbers allowed. |
| »» mailingPostalCode | body | string | false | Specifies the postal code portion of the residential address for the primary account. We recommend sending this field to ensure accurate location validation and to support downstream processing and compliance checks. Constraints: Must be a valid postal code based on the country of residence. Format may vary by region (e.g., 90210). |
| »» otherInfo | body | string | false | Specifies additional information associated with the account. Required only if the Customer Program flag "Other Info Required" is enabled. Must be unique per order if the Customer Program flag "Other Info Unique" is enabled, preventing duplication. Constraints: Conditional requirement and uniqueness based on Customer Program configuration. |
| »» amount | body | number | false | Specifies the amount to be loaded or processed for the order. Constraints: Must be in decimal format, up to 2 decimal places (e.g., 100.00, 4999.99). Maximum allowed load amount per card is 5000.00. Must be a positive value. No currency symbols or commas allowed. |
| »» comment | body | string | false | Specifies Order comment/notes. For internal tracking; stored and sent to processing platform. Constraints: Maximum length: 255 characters. Supports alphanumeric and common punctuation. |
| »» externalIdentifier | body | string | false | Specifies a unique identifier provided by the client for each cardholder or order detail. Used to prevent duplicate loads. Constraints: Must be unique per cardholder/order detail. Must be alphanumeric, and may include hyphens or underscores if supported by the system. Maximum length: 256 characters. Should not be reused across multiple orders or cardholders. |
| »» clientDefinedField1 | body | string | false | Client-reserved field 1 for custom data or integration references. Constraints: Maximum length: 255 characters. |
| »» clientDefinedField2 | body | string | false | Client-reserved field 2 for custom data or integration references. Constraints: Maximum length: 255 characters. |
| »» clientDefinedField3 | body | string | false | Client-reserved field 3 for custom data or integration references. Constraints: Maximum length: 255 characters. |
| »» clientDefinedField4 | body | string | false | Client-reserved field 4 for custom data or integration references. Constraints: Maximum length: 255 characters. |
| »» clientDefinedField5 | body | string | false | Client-reserved field 5 for custom data or integration references. Constraints: Maximum length: 255 characters. |
| » host | body | string | false | Specifies the target host system for routing. Default: "Prepaid". Example: "Prepaid" |
Detailed descriptions
sessionId: Session Identifier (sessionId) parameter you receive after successful login.
body: JSON payload for submitting order requests for three card issuance types:
Instant Issue Card (IIC),
Bulk Physical Cards, and
Single Physical/Digital Card. Sent to the processing platform API and includes:
Customer Identity Information (e.g., customerId, custProgId).
Account Information for card issuance.
Enumerated Values
| Parameter | Value |
|---|---|
| » 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 |
| » shipType | bulkShip |
| » shipType | individualShip |
| » cardType | Physical |
| » cardType | Digital |
| » 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": {
"errors": [
{
"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 |
Response Schema
Order single card
Code samples
# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/orderSingleCard?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/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",
"paymentType": "Virtual"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/orderSingleCard", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /orderendpoint/v1/orderSingleCard
This API allows clients to resubmit an orderCard request in case of timeout or failure.
Note
- shippingMethod field is optional but in case of physical card order, we recommend passing it.
- For digital card orders only, the proxy key will be return in digitalCardProxy.
- For physical card orders only, the proxy key will be return in Proxy.
- To order physical card with digital card, the physical card proxy key will be return in Proxy and Digital card proxy key will be return in digitalCardProxy.
- To order a digital card with a physical card, Can Order Digital Card For Physical Card option must be enabled at the customer program level.
- If the payment type is virtual, fees will be debited from the virtual account; otherwise, the fees will be invoiced to the customer.
- The statusVal parameter currently has no functional significance. It is reserved for future use. We will inform you if and when it becomes relevant or required in future implementations.
- Email Validation Rules
- Allowed Characters:
- Letters: A–Z (uppercase) and a–z (lowercase)
- Numbers: 0–9
- Special Symbols: !, #, $, %, &, ', *, +, -, /, =, ?, _, \, {, }, ~
- Not Allowed: ^, |
- Dot (.) and Special Character Rules:
- Cannot appear at the start or end of the email.
- Cannot appear consecutively (e.g., .., --, __).
- Must be followed by a letter or number when used.
- Allowed Characters:
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",
"paymentType": "Virtual"
}
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 | rowId 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 |
| » paymentType | body | string | false | For payment type virtual fees will be debited from the virtual account otherwise, the fees will be invoiced to the customer. |
Detailed descriptions
sessionId: Session Identifier (sessionId) parameter you receive after successful login.
Enumerated Values
| Parameter | Value |
|---|---|
| » cardType | Physical |
| » cardType | Digital |
| » paymentType | Virtual |
| » paymentType | Monthly Invoicing |
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": {
"errors": [
{
"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/orderendpoint/v1/registerCards?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/registerCards?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"customerId": 0,
"custProgId": 0,
"campaignName": "string",
"reasonCode": "string",
"host": "Prepaid",
"orderDetails": [
{
"firstName": "string",
"lastName": "string",
"phone": "string",
"proxyKey": "string",
"panNumber": "string",
"ssn": "string",
"dateOfBirth": "string",
"email": "string",
"shippingAddress1": "string",
"shippingAddress2": "string",
"shippingCity": "string",
"shippingState": "string",
"shippingZip": "string",
"mailingAddr1": "string",
"mailingAddr2": "string",
"mailingCity": "string",
"mailingState": "string",
"mailingPostalCode": "string",
"otherInfo": "string",
"amount": 1.23,
"comment": "string",
"externalIdentifier": "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/orderendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/registerCards',
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/orderendpoint/v1/registerCards', 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/orderendpoint/v1/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/orderendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/registerCards", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /orderendpoint/v1/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.
- Email Validation Rules
- Allowed Characters:
- Letters: A–Z (uppercase) and a–z (lowercase)
- Numbers: 0–9
- Special Symbols: !, #, $, %, &, ', *, +, -, /, =, ?, _, \, {, }, ~
- Not Allowed: ^, |
- Dot (.) and Special Character Rules:
- Cannot appear at the start or end of the email.
- Cannot appear consecutively (e.g., .., --, __).
- Must be followed by a letter or number when used.
- Allowed Characters:
Body parameter
{
"customerId": 0,
"custProgId": 0,
"campaignName": "string",
"reasonCode": "string",
"host": "Prepaid",
"orderDetails": [
{
"firstName": "string",
"lastName": "string",
"phone": "string",
"proxyKey": "string",
"panNumber": "string",
"ssn": "string",
"dateOfBirth": "string",
"email": "string",
"shippingAddress1": "string",
"shippingAddress2": "string",
"shippingCity": "string",
"shippingState": "string",
"shippingZip": "string",
"mailingAddr1": "string",
"mailingAddr2": "string",
"mailingCity": "string",
"mailingState": "string",
"mailingPostalCode": "string",
"otherInfo": "string",
"amount": 1.23,
"comment": "string",
"externalIdentifier": "string",
"clientDefinedField1": "string",
"clientDefinedField2": "string",
"clientDefinedField3": "string",
"clientDefinedField4": "string",
"clientDefinedField5": "string"
}
]
}
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 | JSON payload sent to processing platform API to process registration. |
| » customerId | body | integer | true | Unique identifier for the customer placing the order. Must reference a valid, accessible customer record. Example: 78901 |
| » custProgId | body | integer | true | Identifies the customer program associated with the order. The value must reference an existing, active program linked to the customer. Response Aliases: rowId, custProgId, cpId. Example: 12345 |
| » campaignName | body | string | false | Optional identifier for the marketing campaign associated with the order. Constraints: Accepts alphanumeric characters and spaces. Maximum 50 characters. |
| » reasonCode | body | string | false | Optional classification code used to categorize the purpose or reason for the order. Constraints: Accepts alphanumeric characters and spaces. Maximum 30 characters. |
| » host | body | string | false | Specifies the target host system for routing. Default: "Prepaid". Example: "Prepaid" |
| » orderDetails | body | [object] | true | Defines the registration object and supports multiple registrations by allowing an array of objects. |
| »» firstName | body | string | true | Specifies the first name associated with the account. This field is used in various downstream processes such as searchAccount. Constraints: Accepts only alphabetic characters, spaces, and apostrophes. Critical: Maximum length is 50 characters to avoid truncation in processing platform responses. |
| »» lastName | body | string | true | Specifies the last name associated with the account. This field is used in various downstream processes such as searchAccount. Constraints: Accepts only alphabetic characters, spaces, and apostrophes. Critical: Maximum length is 50 characters to avoid truncation in processing platform responses. |
| »» phone | body | string | true | Specifies the contact phone number associated with the account. Supports international formats. Constraints: Accepts international numbers (e.g., "+15555555555" where +1 is the country code for the U.S.). Maximum length: 23 digits. |
| »» proxyKey | body | string | true | Unique card proxy identifier. Required if panNumber is not provided; identifies an existing card. |
| »» panNumber | body | string | false | Primary Account Number (PAN) or 16-digit Card number. Required if proxyKey is not provided; identifies an existing card. |
| »» ssn | body | string | true | Specifies the Social Security Number associated with the account. Constraints: Exactly 9 numeric digits; Example: "999994444" |
| »» dateOfBirth | body | string(date - mm/dd/yyyy) | false | Specifies the date of birth associated with the account. This field is optional but recommended for enhanced processing and validation. Constraints: Format must be MM/DD/YYYY (e.g., "06/20/1997"). The YYYY-MM-DD format is not supported. Field can be null, but if provided, it must follow the correct format. Invalid formats will result in a "Data type validation error" during processing. |
| body | string | false | Specifies the email address associated with the account. Required only for non-Reward products when both OrderDigitalCardForPhysicalCard and SendDigitalCardEmail flags are enabled at the Customer Program (CP) level. Recommended for all products. The requirement is conditional based on Customer Program configuration and product type. Can accept a null value. Must follow a valid email format. Constraints: Maximum length of 80 characters (including spaces). ⚠ Critical: Exceeding this limit may result in truncation in processing platform responses. |
|
| »» shippingAddress1 | body | string | true | Specifies the first line of the primary shipping address for individual shipments. Used for delivery of physical items directly to the account or recipient. Constraints: Maximum length of 50 characters, including spaces. Should contain valid address components such as street name and number. |
| »» shippingAddress2 | body | string | false | Specifies the second line of the primary shipping address for individual shipments. This field is optional. Constraints: Maximum length of 50 characters, including spaces. Should complement shippingAddress1 without duplicating content. |
| »» shippingCity | body | string | true | Specifies the city portion of the primary shipping address for individual shipments. Constraints: Maximum length of 35 characters, including spaces. Must be a valid city name. |
| »» shippingState | body | string | true | Specifies the state or province portion of the primary shipping address for individual shipments. Constraints: Must be exactly 2 uppercase letters, following standard state or province abbreviations (e.g., TX for Texas, BC for British Columbia). No numbers or special characters allowed. |
| »» shippingZip | body | string | true | Specifies the ZIP or postal code portion of the primary shipping address for individual shipments. Constraints: Must be exactly 5 digits. Only numeric values allowed. Format must comply with U.S. ZIP code standards (e.g., 10001, 90210). |
| »» mailingAddr1 | body | string | false | Specifies the first line of the residential address for the account. We recommend sending this field to ensure accurate location validation and to support downstream processing and compliance checks. Constraints: Maximum length of 50 characters, including spaces. Should contain valid address components such as street name and number. |
| »» mailingAddr2 | body | string | false | Specifies the second line of the residential address for the account. This field is optional. Constraints: Maximum length of 50 characters, including spaces. Should complement mailingAddr1 without duplicating content. |
| »» mailingCity | body | string | false | Specifies the city portion of the residential address for the account. We recommend sending this field to ensure accurate location validation and to support downstream processing and compliance checks. Constraints: Maximum length of 35 characters, including spaces. Must be a valid city name. Example: "New York" |
| »» mailingState | body | string | false | Specifies the state or province portion of the residential address for the account. We recommend sending this field to ensure accurate location validation and to support downstream processing and compliance checks. Constraints: Must be exactly 2 uppercase letters, following standard state or province abbreviations (e.g., CA for California, ON for Ontario). No special characters or numbers allowed. |
| »» mailingPostalCode | body | string | false | Specifies the postal code portion of the residential address for the primary account. We recommend sending this field to ensure accurate location validation and to support downstream processing and compliance checks. Constraints: Must be a valid postal code based on the country of residence. Format may vary by region (e.g., 90210). |
| »» otherInfo | body | string | false | Specifies additional information associated with the account. Required only if the Customer Program flag "Other Info Required" is enabled. Must be unique per order if the Customer Program flag "Other Info Unique" is enabled, preventing duplication. Constraints: Conditional requirement and uniqueness based on Customer Program configuration. |
| »» amount | body | number | false | Specifies the amount to be loaded or processed for the order. Constraints: Must be in decimal format, up to 2 decimal places (e.g., 100.00, 4999.99). Maximum allowed load amount per card is 5000.00. Must be a positive value. No currency symbols or commas allowed. |
| »» comment | body | string | false | Specifies Order comment/notes. For internal tracking; stored and sent to processing platform. Constraints: Maximum length: 255 characters. Supports alphanumeric and common punctuation. |
| »» externalIdentifier | body | string | false | Specifies a unique identifier provided by the client for each cardholder or order detail. Used to prevent duplicate loads. Constraints: Must be unique per cardholder/order detail. Must be alphanumeric, and may include hyphens or underscores if supported by the system. Maximum length: 256 characters. Should not be reused across multiple orders or cardholders. |
| »» clientDefinedField1 | body | string | false | Client-reserved field 1 for custom data or integration references. Constraints: Maximum length: 255 characters. |
| »» clientDefinedField2 | body | string | false | Client-reserved field 2 for custom data or integration references. Constraints: Maximum length: 255 characters. |
| »» clientDefinedField3 | body | string | false | Client-reserved field 3 for custom data or integration references. Constraints: Maximum length: 255 characters. |
| »» clientDefinedField4 | body | string | false | Client-reserved field 4 for custom data or integration references. Constraints: Maximum length: 255 characters. |
| »» clientDefinedField5 | body | string | false | Client-reserved field 5 for custom data or integration references. Constraints: Maximum length: 255 characters. |
Detailed descriptions
body: JSON payload sent to processing platform API to process registration.
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/orderendpoint/v1/getOrderDetailsByOrderId?sessionId=string&orderId=string \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/getOrderDetailsByOrderId", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /orderendpoint/v1/getOrderDetailsByOrderId
Tips:
- Instant issue orders takes 1 day to process the response.
- Instant issue orders does not process in sandbox and only works in production.
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
The API responds with any one of the following response objects
{
"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": {},
"clientDefinedField5": "Test field 5"
}
]
}
{
"items": [
{
"proxyKey": "3415060020922",
"expDate": "10/31/2027 11:59:59 PM"
}
]
}
202 Response
{
"message": "No details exist for this orderId"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | The API responds with any one of the following response objects | Inline |
| 202 | Accepted | ACCEPTED When instant issue order is not processed yet and we do not have proxy information | Accepted202 |
| 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
Load funds
Code samples
# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/loadCards?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/loadCards?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"custProgId": 0,
"customerId": 0,
"filename": "string",
"fundingId": 0,
"host": "Prepaid",
"orderDetails": [
{
"amount": 1.01,
"comment": "string",
"firstName": "string",
"lastName": "string",
"panNumber": "string",
"proxyKey": "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':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/loadCards',
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/orderendpoint/v1/loadCards', 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/orderendpoint/v1/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/orderendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/loadCards", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /orderendpoint/v1/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 $. ex: 1.23
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
Note on LoadCards vs. UnloadCards Implementation:
- LoadCards and UnloadCards are implemented differently.
- In the LoadCards callout:
- The returnCode can be either 0 (success) or -1 (failure).
- The transaction reference number is returned in the response as txnRefNumber.
Body parameter
{
"custProgId": 0,
"customerId": 0,
"filename": "string",
"fundingId": 0,
"host": "Prepaid",
"orderDetails": [
{
"amount": 1.01,
"comment": "string",
"firstName": "string",
"lastName": "string",
"panNumber": "string",
"proxyKey": "string",
"otherInfo": "string",
"externalIdentifier": "string",
"clientDefinedField1": "string",
"clientDefinedField2": "string",
"clientDefinedField3": "string",
"clientDefinedField4": "string",
"clientDefinedField5": "string"
}
],
"processDate": "string",
"qty": 0,
"valueLoadFee": 0
}
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 | rowId 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 |
| »» panNumber | body | string | true | Card number. Pass either panNumber or proxyKey |
| »» proxyKey | body | string | true | Proxy number. Pass either proxyKey or panNumber. |
| »» otherInfo | body | string | false | Conditional required based on customer program configuration. 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 | We recommend passing the number of cards being loaded: |
| » valueLoadFee | body | number | false | Fee for value load |
Detailed descriptions
» qty: We recommend passing the number of cards being loaded: - 1 in case of single. - Number of cards in case of multiple.
Enumerated Values
| Parameter | Value |
|---|---|
| » host | Prepaid |
| » host | Fis |
Example responses
Based on the outcome, you will receive one response — either a success or an error.
{
"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": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "Please provide [Property Name]"
}
],
"code": 400,
"message": "Please provide [Property Name]"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Based on the outcome, you will receive one response — either a success or an error. | 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/orderendpoint/v1/unloadCards?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/unloadCards?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"applyDate": "string",
"custProgId": 0,
"customerId": 0,
"filename": "string",
"fundingId": 0,
"host": "Prepaid",
"orderDetails": [
{
"amount": 1.01,
"comment": "string",
"firstName": "string",
"lastName": "string",
"panNumber": "string",
"proxyKey": "string"
}
],
"externalIdentifier": "string",
"qty": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/unloadCards',
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/orderendpoint/v1/unloadCards', 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/orderendpoint/v1/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/orderendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/unloadCards", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /orderendpoint/v1/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.
Note on LoadCards vs. UnloadCards Implementation:
- LoadCards and UnloadCards are implemented differently.
- In the UnloadCards callout:
- The returnCode can be either SUCCESS or ERROR.
- The transaction reference number is returned in the response as refNum.
Body parameter
{
"applyDate": "string",
"custProgId": 0,
"customerId": 0,
"filename": "string",
"fundingId": 0,
"host": "Prepaid",
"orderDetails": [
{
"amount": 1.01,
"comment": "string",
"firstName": "string",
"lastName": "string",
"panNumber": "string",
"proxyKey": "string"
}
],
"externalIdentifier": "string",
"qty": 0
}
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 | rowId 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 | number | 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 | We recommend passing the number of cards being unloaded: |
Detailed descriptions
sessionId: Session Identifier (sessionId) parameter you receive after successful login.
» qty: We recommend passing the number of cards being unloaded: - 1 in case of single. - Number of cards in case of multiple.
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": {
"errors": [
{
"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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/getOrderList", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /orderendpoint/v1/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 | rowId 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/orderendpoint/v1/getShippingFee?qty=0&shipMethod=string \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/getShippingFee", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /orderendpoint/v1/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/orderendpoint/v1/getOrderTrackingInfo?sessionId=string&orderId=0 \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/getOrderTrackingInfo", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /orderendpoint/v1/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/orderendpoint/v1/sendDigitalCardAlert?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/sendDigitalCardAlert?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"cpId": 0,
"proxyKey": "string",
"resendMethod": "string",
"alertType": "string",
"orderDetailId": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/sendDigitalCardAlert',
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/orderendpoint/v1/sendDigitalCardAlert', 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/orderendpoint/v1/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/orderendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/sendDigitalCardAlert", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /orderendpoint/v1/sendDigitalCardAlert
To resend digital card email or sms for reload orders
- If alertType is set to 'reload':
- orderDetailId provided: The system triggers the email or SMS notification for the specific load order associated with the given orderDetailId.
- orderDetailId not provided: The system triggers the email or SMS notification for the first load order linked to the proxy.
Body parameter
{
"cpId": 0,
"proxyKey": "string",
"resendMethod": "string",
"alertType": "string",
"orderDetailId": 0
}
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 | true | Proxy key which can be retrieved from 'searchAccount' API |
| » resendMethod | body | string | true | Resend method type 'Email/SMS' |
| » alertType | body | string | true | To Resend Initial Email/SMS pass it as 'Initial'. To Resend Reload Email/SMS pass it as 'reload'. |
| » orderDetailId | body | integer | false | Conditionally required when performing a value load resend. If provided, the system retrieves the corresponding order details and triggers the reload email/SMS. The orderDetailId can be retrieved using the getOrderDetailsByOrderId API. |
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": {
"errors": [
{
"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/orderendpoint/v1/getShippingInformation?sessionId=string&proxyKey=string&customerProgramId=0 \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/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/orderendpoint/v1/getShippingInformation", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /orderendpoint/v1/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": {
"errors": [
{
"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/fisendpoint/v1/changeCardStatus?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/changeCardStatus?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"cpId": 0,
"proxyKey": "string",
"cardNum": "string",
"cardStatus": "ACTIVATE"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/changeCardStatus',
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/fisendpoint/v1/changeCardStatus', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/changeCardStatus", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/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
{
"cpId": 0,
"proxyKey": "string",
"cardNum": "string",
"cardStatus": "ACTIVATE"
}
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/fisendpoint/v1/searchAccount?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/searchAccount?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
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':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/searchAccount',
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/fisendpoint/v1/searchAccount', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/searchAccount", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/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, in field named "rowId"
- To include registrationDate in response, please set "skipCreateRecord" to 1
Body parameter
{
"skipCreateRecord": 0,
"cpId": 0,
"clientID": 0,
"proxyKey": "string",
"cardNum": "string",
"first": "string",
"last": "string",
"ssn": 0,
"others": "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 |
| » 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
{
"items": [
{
"cardNum": "************0842",
"proxyKey": "6059906322345",
"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 | SearchAccountDetails |
| 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/fisendpoint/v1/getCardBalance?sessionId=string \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/getCardBalance", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /fisendpoint/v1/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": 1.23,
"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 | number(float) | 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/fisendpoint/v1/reissueCard?sessionId=string \
-H 'Content-Type: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/reissueCard?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
const inputBody = '{
"cpId": 0,
"proxyKey": "string",
"cardNum": "string"
}';
const headers = {
'Content-Type':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/reissueCard',
params: {
'sessionId' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json'
}
r = requests.post('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/reissueCard', params={
'sessionId': 'string'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => '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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/reissueCard", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/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
{
"cpId": 0,
"proxyKey": "string",
"cardNum": "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 |
| » cpId | body | integer | true | rowId 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/fisendpoint/v1/replaceCard?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/replaceCard?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"cpId": 0,
"cardNum": "string",
"newCardNum": "string",
"proxyKey": "string",
"newProxyKey": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/replaceCard',
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/fisendpoint/v1/replaceCard', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/replaceCard", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/replaceCard
Body parameter
{
"cpId": 0,
"cardNum": "string",
"newCardNum": "string",
"proxyKey": "string",
"newProxyKey": "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 |
| » cpId | body | integer | true | rowId 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/fisendpoint/v1/getTxnHistory?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getTxnHistory?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"cpId": 0,
"proxyKey": "string",
"cardNum": "string",
"customerId": 0,
"startDate": "string",
"numDays": 0,
"cardNumOnly": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getTxnHistory',
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/fisendpoint/v1/getTxnHistory', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getTxnHistory", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/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
{
"cpId": 0,
"proxyKey": "string",
"cardNum": "string",
"customerId": 0,
"startDate": "string",
"numDays": 0,
"cardNumOnly": 0
}
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 | rowId 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": 1.23,
"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 | number | 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/fisendpoint/v1/getCardHistory?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getCardHistory?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"clientID": 0,
"proxyKey": "string",
"startDate": "string",
"numDays": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getCardHistory',
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/fisendpoint/v1/getCardHistory', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getCardHistory", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/getCardHistory
API to fetch both monetary and non-monetary transaction details for an account/card.
Body parameter
{
"clientID": 0,
"proxyKey": "string",
"startDate": "string",
"numDays": 0
}
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": "1.01",
"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": "1.23",
"localTranCurrCode": "",
"isMeta": false,
"utcPostDate": "2024-05-08 00:46:15.080",
"utcInsertedDate": "2024-05-08 00:46:15.080"
}
]
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 | number | 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 | number | 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/fisendpoint/v1/updateCardHolderInfo?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/updateCardHolderInfo?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
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':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/updateCardHolderInfo',
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/fisendpoint/v1/updateCardHolderInfo', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/updateCardHolderInfo", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/updateCardHolderInfo
Email Validation Rules - Allowed Characters: - Letters: A–Z (uppercase) and a–z (lowercase) - Numbers: 0–9 - Special Symbols: !, #, $, %, &, ', *, +, -, /, =, ?, , \, {, }, ~ - Not Allowed: ^, | - Dot (.) and Special Character Rules: - Cannot appear at the start or end of the email. - Cannot appear consecutively (e.g., .., --, _). - Must be followed by a letter or number when used.
Body parameter
{
"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"
}
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 |
| » 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/fisendpoint/v1/getCardHolderInfo?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getCardHolderInfo?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"cpId": 0,
"clientID": "string",
"personID": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getCardHolderInfo',
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/fisendpoint/v1/getCardHolderInfo', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getCardHolderInfo", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/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
{
"cpId": 0,
"clientID": "string",
"personID": "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 |
| » cpId | body | integer | true | rowId 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/fisendpoint/v1/getCardInfoStatus?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getCardInfoStatus?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"clientID": "31982",
"proxyKey": "5146952466619"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getCardInfoStatus',
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/fisendpoint/v1/getCardInfoStatus', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getCardInfoStatus", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/getCardInfoStatus
Provides the information about the card, like card expiry date, card status.
Body parameter
{
"clientID": "31982",
"proxyKey": "5146952466619"
}
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/fisendpoint/v1/getVirtualAccountList?sessionId=string&customerId=0&searchHierarchy=true \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/getVirtualAccountList", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /fisendpoint/v1/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/fisendpoint/v1/getVirtualActHistory?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getVirtualActHistory?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"clientID": "string",
"proxyKey": "string",
"startDate": "string",
"numDays": "string",
"customerId": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getVirtualActHistory',
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/fisendpoint/v1/getVirtualActHistory', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getVirtualActHistory", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/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
{
"clientID": "string",
"proxyKey": "string",
"startDate": "string",
"numDays": "string",
"customerId": 0
}
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": 1.23,
"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 | number | 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/fisendpoint/v1/changePinByProxy?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/changePinByProxy?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"proxyKey": "string",
"cpId": 0,
"newPin": "string",
"oldPin": "string",
"comment": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/changePinByProxy',
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/fisendpoint/v1/changePinByProxy', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/changePinByProxy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/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
{
"proxyKey": "string",
"cpId": 0,
"newPin": "string",
"oldPin": "string",
"comment": "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 |
| » proxyKey | body | string | true | Proxy number of the card |
| » cpId | body | integer | true | rowId 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/fisendpoint/v1/getAllVirtualAccountsByCustomer?sessionId=string&customerId=0 \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/getAllVirtualAccountsByCustomer", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /fisendpoint/v1/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 GET https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getDirectAccessInfoByCard?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getDirectAccessInfoByCard?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"cardNum": "string",
"proxyKey": "string",
"clientID": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getDirectAccessInfoByCard?sessionId=string',
{
method: 'GET',
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.get 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getDirectAccessInfoByCard',
params: {
'sessionId' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.get('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getDirectAccessInfoByCard', 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('GET','https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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/fisendpoint/v1/getDirectAccessInfoByCard?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{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getDirectAccessInfoByCard", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /fisendpoint/v1/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
{
"cardNum": "string",
"proxyKey": "string",
"clientID": "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 |
| » 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/fisendpoint/v1/getRelatedCards?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getRelatedCards?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"cardNumber": "4389630005205643",
"proxyKey": "5522055323645",
"showPersonSummary": "0"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getRelatedCards',
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/fisendpoint/v1/getRelatedCards', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getRelatedCards", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/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 "0" or "1" to showPersonSummary parameter.
Second way to get related cards by proxy
- Pass proxy key value to proxyKey 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
{
"cardNumber": "4389630005205643",
"proxyKey": "5522055323645",
"showPersonSummary": "0"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| sessionId | query | string | true | Session Identifier (sessionId) parameter you receive after successful login. |
| body | body | object | true | none |
| » 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": {
"errors": [
{
"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/fisendpoint/v1/getLatestCardBalStatus?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getLatestCardBalStatus?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"cpId": 18563,
"cardNumber": "4389630016262658",
"proxyKey": "3468629087653",
"showPersonSummary": "0"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post 'https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getLatestCardBalStatus',
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/fisendpoint/v1/getLatestCardBalStatus', 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/fisendpoint/v1/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/fisendpoint/v1/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{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/getLatestCardBalStatus", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fisendpoint/v1/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
{
"cpId": 18563,
"cardNumber": "4389630016262658",
"proxyKey": "3468629087653",
"showPersonSummary": "0"
}
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 |
| » 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": {
"errors": [
{
"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/fisendpoint/v1/getTxnReceipt?sessionId=string&cpId=0&proxyKey=string&transactionRefNum=string \
-H 'Accept: application/json'
GET https://portal-api-uat.dashsolutions.com/_ah/api/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/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/fisendpoint/v1/getTxnReceipt", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /fisendpoint/v1/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 |
Cardholder Management APIs
The API endpoint name for the set is 'cardholderendpoint'
Retrieve token for cardholder login
Code samples
# You can also use wget
curl -X POST https://portal-api-uat.dashsolutions.com/_ah/api/cardholderendpoint/v1/getCardholderLoginToken?sessionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST https://portal-api-uat.dashsolutions.com/_ah/api/cardholderendpoint/v1/getCardholderLoginToken?sessionId=string HTTP/1.1
Host: portal-api-uat.dashsolutions.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"proxy": "1111111876533"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://portal-api-uat.dashsolutions.com/_ah/api/cardholderendpoint/v1/getCardholderLoginToken?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/cardholderendpoint/v1/getCardholderLoginToken',
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/cardholderendpoint/v1/getCardholderLoginToken', 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/cardholderendpoint/v1/getCardholderLoginToken', 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/cardholderendpoint/v1/getCardholderLoginToken?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/cardholderendpoint/v1/getCardholderLoginToken", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /cardholderendpoint/v1/getCardholderLoginToken
Access to this API needs additional approvals:
- The requesting IP address must be whitelisted by Dash.
- The customer must be explicitly enabled to access this API.
Tips:
- In other cases the system respond with 401 Unauthorized.
- We recommend ensuring that this is thoroughly tested, fully functional, and formally approved on UAT before proceeding to production.
Body parameter
{
"proxy": "1111111876533"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| sessionId | query | string | true | Session Identifier (sessionId) parameter you receive after successful login. |
| body | body | object | true | none |
| » proxy | body | string | true | Proxy key received from "searchAccount" API |
Detailed descriptions
sessionId: Session Identifier (sessionId) parameter you receive after successful login.
Example responses
200 Response
{
"cardholderToken": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | SUCCESS | Inline |
| 401 | Unauthorized | Unauthorized qccess | None |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » cardholderToken | object | false | none | none |
| »» token | string | false | none | Token details |
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 |
OrderDetailsByOrderIdObj
{
"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"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| items | [OrderDetailsByOrderId] | false | none | none |
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": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "Please provide [Property Name]"
}
],
"code": 400,
"message": "Please provide [Property Name]"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | object | false | none | none |
| » errors | [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": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "Data not found ..."
}
],
"code": 404,
"message": "Data not found ..."
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | object | false | none | none |
| » errors | [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": {
"errors": [
{
"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 | object | false | none | none |
| » errors | [InnerErrorObj500] | false | none | none |
| » code | integer | false | none | 500 Error |
| » message | string | false | none | Error message |
GlobalErrorObj500
{
"error": {
"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 | object | false | none | none |
| » 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": "1.01",
"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": "1.23",
"localTranCurrCode": "",
"isMeta": false,
"utcPostDate": "2024-05-08 00:46:15.080",
"utcInsertedDate": "2024-05-08 00:46:15.080"
}
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 | number | 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 | number | 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": 1.23,
"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 | number | 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": 1.23,
"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 | number | 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 |
SearchAccountDetails
{
"items": [
{
"cardNum": "************0842",
"proxyKey": "6059906322345",
"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 |
|---|---|---|---|---|
| items | [SearchAccount] | false | none | none |
SearchAccount
{
"cardNum": "************0842",
"proxyKey": "6059906322345",
"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 | number | 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 | number | false | none | OrderId |
| cardBalance | number | 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 |
IicOrderDetails
{
"proxyKey": "3415060020922",
"expDate": "10/31/2027 11:59:59 PM"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| proxyKey | string | false | none | Proxy key number |
| expDate | string | false | none | Expiration date of the card |
IicOrderDetailsObj
{
"items": [
{
"proxyKey": "3415060020922",
"expDate": "10/31/2027 11:59:59 PM"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| items | [IicOrderDetails] | false | none | none |
Accepted202
{
"message": "No details exist for this orderId"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| message | string | false | none | Error message |