Introduction
This documentation describes the ISSUING REST API and resources provided by RS2. Our endpoints are designed to in accordance with the JSON API Specification. Various resources are presented which can be used to cover a variety of use cases.
How to use this document
This document is made up into the following two main sections:
- The first part contains generic information on the JSON:API specification on which this API is based on, the API Schema documentation describing each resource and endpoint in detail and an Errors section. These sections are generic and can be used as a technical reference during API integration in order to find information about attributes, their data types, supported resource relationships and other technical specifications.
- The second part describes in detail various use cases and indicate the flow and sequence of requests required to fulfil a particular task. Request examples as well as required and request specific field documentation are provided in each usecase.
Version
This documentation represents version 1.166.33774+1.2587edb8 (rel-166) of the RS2 Issuing API API generated on Fri 22 Nov 2024 14:57:11 UTC
JSON:API
The Issuing API API is mostly based on the JSON:API v1.0 specification. All JSON:API resources are marked as such in the API Schema documentation by having their type set to JSON:API Resource while non-JSON:API JSON objects are marked as JSON Object. JSON:API resources benefit from all the functionality as per the specification such as inclusion of related resources in response body, specifying in requests which fields to return in order to minimize message data, sorting, pagination and filtering. For a full and detailed list of JSON:API functionality, please refer to the official JSON:API documentation @ https://jsonapi.org/format/1.0.
Resources
Resources represent specific BankWORKS items of data. Resources can be interacted with using the following HTTP methods. For resource HTTP method support please refer to the API schema section of this document.
- GET: Resource retrieval
- POST: Creation of a new resource of a given type.
- PATCH: Modification of a resource. The resource ID must be specified in the URL.
- DELETE: Deletion of a resource. The resource ID must be specified in the URL.
Anatomy of a resource:
- id: unique identifier
- type: Type of resource
- attributes: Properties of a resource
- relationships: Relationships between the resource and other JSON API resources
- links: Links to the related resource
- meta: Non standard meta-information about a resource not representable as an attribute or relationship
Resource relationships
Relationships allow resources to be linked together. Relationships also allow other features such as filtering and resource inclusion to be used in context of the related resource. Please refer to the below sections for more information on resource inclusion and filtering.
GET /merchants/clientNumber=10050000/addresses
The above example returns the addresses resources linked to a particular merchant.
Resource Inclusion (compound documents)
Resource inclusion allows multiple related resources to be included in a single response. The url parameter include as shown in the below examples:
GET /merchants?include=addresses,contracts
In the above example the addresses and contracts are returned in the response.
The dot notation can be used to include related resources in the response
GET /merchants/clientNumber=12345678?include=contracts.accounts
When using the include feature, the response would contain the relationship information between the main resource and the included resource as well as the resources included in the included object as shown in the below snippit.
{
"data": [
{
"id": "clientNumber=10050000",
"type": "merchants",
"attributes": {
...
}
}
],
"relationships": {
"addresses": {
"data": [
{
"id": "clientNumber=00000105&addressCategory=001&effectiveDate=2024-06-06",
"type": "addresses"
},
{
"id": "clientNumber=00000105&addressCategory=006&effectiveDate=2024-06-06",
"type": "addresses"
}
]
}
},
"included": [
{
"id": "clientNumber=00000105&addressCategory=001&effectiveDate=2024-06-06",
"type": "addresses",
"attributes": {
"addressLine1": "Standard Address",
"addressLine2": "150, Fifth Avenue",
"city": "New York",
"postCode": "10011",
}
},
{
"id": "clientNumber=00000105&addressCategory=006&effectiveDate=2024-06-06",
"type": "addresses",
"attributes": {
"addressLine1": "Another Standard Address",
"addressLine2": "150, Fifth Avenue",
"city": "New York",
"postCode": "10011",
}
}
]
}
Filtering
Filtering allows a response to return a subset of the available resources that match the criteria requested. The full format of the filter operator is as follows:
filter [resource type] [attribute / attribute path][operator]=value
For example: &filter[payments][paymentDate][LE]=2023-04-14
Available filtering operators:
Operator | Description |
---|---|
EQ | Equals operator where values match exactly |
NEQ | Not equals where values do not match |
LIKE | Where the values matches the specified pattern. It is usually not case-sensitive and makes use of % as wildcard, but
may different depending on the underlying implementation Note: The % character should be URL encoded %25 |
LT | Lower than the specified value |
LE | Lower than or equal to the specified value |
GT | Greater than the specified value |
GE | Greater than or equal to the specified value |
Example: Filtering by attribute
The first example is a simple attribute filter.
GET /merchants?filter[companyName][EQ]=ANA
The second example filters on a nested object's attribute and an additional attribute (multi-attribute filtering).
GET /merchants?filter[mainContactDetails.contactName][LIKE]=%25Smith&filter[status][EQ]=001
Example: Filtering a resource collection by a nested relationship property
Note: the optional resource type [merchants] is provided to indicate that the merchants resource is to be filtered by the country attribute of it's addresses relationship. The result would have been the same without the [merchants] and [EQ] operators.
GET /merchants?filter[merchants][addresses.country][EQ]=MLT
Sparse Fieldsets
Response attributes can be minified to avoid returning any necessary resource attributes. The fields url parameter is used for this purpose and can be applied to the main resource being requested as well any included resources. In case of multiple resource types being returned, the resource type should be indicated with the sorting as shown in the below example:
GET /merchants/clientNumber=10050000?include=addresses&fields[merchants]=clientNumber,status,tradeName&fields[addresses]=postCode,state,country
The response would contain the ID's of the resources being included as well as the resources included. Refer to the compound documents section for an example.
Sorting
The resource response may be sorted by a number of attributes in ascending or descending order. In the below examples a list of payments with a paymentDate value that fits within a particular date range is returned sorted by clientNumber in ascending order and paymentDate in reverse chronological order (notice the - sign)
The sort url parameter is used to indicate sorting.
GET /payments?filter[payments][paymentDate][GE]=2023-04-10&filter[payments][paymentDate][LE]=2023-04-14&sort=clientNumber,-paymentDate
Pagination
Pagination allows control over the number of resources returned in the response per page. If no pagination is set, the default is 20 resources per page. The page[offset] (to skip a number of resources, 0 being the first resource) and page[limit] (the number of resources to be returned per page).
The respons includes links to the other pages:
- first: First page of data
- last: Last page of data
- prev: Previous page of data
- next: Next page of data
Simple example to return a single resource per page:
GET /merchants?page[limit]=1
{
"data": [
{
"id": "clientNumber=10050000",
"type": "merchants",
"attributes": {
...
}
}
],
"links": {
"first": "/wsm/jsonapi/merchants?page[limit]=1",
"last": "/wsm/jsonapi/merchants?page[limit]=1&page[offset]=3",
"next": "/wsm/jsonapi/merchants?page[limit]=1&page[offset]=1"
},
"meta": {
"totalResourceCount": 4
}
}
Below is a slightly more complex example which returns the contract records belonging to a merchant using the merchant → contracts relationship. In addition the a list of records effective as of the current posting date are returned sorted in reverse chronological order and a page limit of 1 resource per is assigned. Such an example is a way of returning the current effective record out of a collection having the effectiveDate attribute.
GET /merchants/clientNumber=10050002/contracts?filter[effectiveDate][LE]=2024-06-06&sort=-effectiveDate&page[limit]=1
API Schema
The below is a list of endpoints and resources used by the API.
/oauth2/token
Format: JSON Object
/api/user-management/userpassword
Format: JSON Object
/accountDefinitions
Format: JSON:API Resource
/accountFeeDefinitions
Format: JSON:API Resource
/authorisations
Format: JSON:API Resource
/balanceCycles
Format: JSON:API Resource
/billingCycleDefinitions
Format: JSON:API Resource
/billingCycleInstructions
Format: JSON:API Resource
/cardAccumulatorDefinitions
Format: JSON:API Resource
/cardAccumulators
Format: JSON:API Resource
/cardholders
Format: JSON:API Resource
/cardholderTransactions
Format: JSON:API Resource
/cardInstructions
Format: JSON:API Resource
/cardDetailInstructions
Format: JSON:API Resource
/cards
Format: JSON:API Resource
/cardPoiSettings
Format: JSON:API Resource
/cardServiceDefinitions
Format: JSON:API Resource
/commercialClients
Format: JSON:API Resource
/contractDefinitions
Format: JSON:API Resource
/currencyRates
Format: JSON:API Resource
/currencyRateSpreads
Format: JSON:API Resource
/installmentInstructions
Format: JSON:API Resource
/issAccountBalanceTransfers
Format: JSON:API Resource
/issAccounts
Format: JSON:API Resource
/issAddresses
Format: JSON:API Resource
/issContracts
Format: JSON:API Resource
/issServices
Format: JSON:API Resource
/issSettlementPackages
Format: JSON:API Resource
/limits
Format: JSON:API Resource
/limitDefinitions
Format: JSON:API Resource
/mccGroupRangeDefinitions
Format: JSON:API Resource
/miscellaneousBatches
Format: JSON:API Resource
/miscellaneousBatchSlips
Format: JSON:API Resource
/productChargeDefinitions
Format: JSON:API Resource
/serviceDefinitions
Format: JSON:API Resource
/serviceFeeDefinitions
Format: JSON:API Resource
/velocityParameters
Format: JSON:API Resource
Errors
API errors are identified by their response HTTP status codes. The below is a list of error codes that can be returned by the API:
HTTP Code | Description |
---|---|
400 |
Bad Request - Your request is invalid. Examples of bad requests are:
|
401 | Unauthorized - Invalid values in either the Authorization header or the refresh_token in body. This can be caused due to expirted tokens or invalid credentials. |
403 |
Forbidden - You do not have access rights to the content or to perform an action. Examples of forbidden requests are:
|
404 | Not Found - Requested resource does not exists. |
Authentication
Authentication is based on OAuth2. In order to perform any API request, you need to first obtain a valid access_token which needs to be included as an Authorization header in each subsequent request. Note that the access_token has a limited lifespan and would need to be refreshed when it expires. This is possible by using the refresh_token in order to obtain a new valid access_token.
Please contact our help desk if you need a set of credentials to access the APIs.
Access Token
To request an access token, provide the base64 encoded value of ‘username:password’ in the Authorization header (Basic Auth) with a grant_type set to ‘client_credentials’ in the body.
Request
POST
https://wsmdemo.rs2.com/wsm/oauth2/token
Request Headers
Authorization | Basic {{base64(username:password)}} |
---|
Request Body
An object of type oauth2/token with the following attributes:
Name | Description | |
---|---|---|
grant_type
string
required
|
The OAuth2 grant type. The value should always be either ‘client_credentials’. |
Response
HTTP 200 (OK)
Response body will contain the created object of type oauth2/token .
Refresh Token
To refresh an access token, provide the base64 encoded value of ‘username:’ in the Authorization header along with the grant_type set to ‘refresh_token’ and the value of the refresh_token in the body.
Request
POST
https://wsmdemo.rs2.com/wsm/oauth2/token
Request Headers
Authorization | {{authorizationHeader}} |
---|
Request Body
An object of type oauth2/token with the following attributes:
Name | Description | |
---|---|---|
refresh_token
string
required
|
The value of the refresh token that is used to obtain a new access token after it has expired. |
|
grant_type
string
required
|
The OAuth2 grant type. The value should always be either ‘refresh_token’. |
Response
HTTP 200 (OK)
Response body will contain the created object of type oauth2/token .
Change User Password
Updates user’s password, providing the new password in the request body.
Request
PUT
https://wsmdemo.rs2.com/wsm/api/user-management/userpassword
Request Headers
Content-Type | application/json |
---|---|
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
Request Body
An object of type api/user-management/userpassword with the following attributes:
Name | Description | |
---|---|---|
newPassword
string
required
|
The new password for the user represented in the access token request from Authorization header. The new password must meet the following requirements for security:
|
Response
HTTP 200 (OK)
Service Contract Definitions
This section provides example use cases related to the retrieval of business setup rules linked to a service contract. In BankWORKS, a service contract is the main grouping of accounts, card and non-card services, limits, and card parameters and thresholds setup that can be assigned to a cardholder.
The requests provided are intended to serve as examples for retrieval of such data. Our API provides more flexibility, allowing additional filtering to be applied or even the inclusion of multiple related resources in a single request.
Pricing
This section provides request samples for the retrieval of contract based fees & charges setup. Any individual client fee setup would be handled in the client information section.
Account Fees
Account fees are periodical fees that can be generated by BankWORKS for cardholder billing of any account types assigned. These are grouped by service contract and client tariff. In addition, account fees can be contract-based (part of the service contract) or else individual specific cardholder overrides of a contract based fee. This means that a cardholder may only have a specific overrides of available contract based fees.
This example request is intended for the retrieval of all contract based account fees linked to a particular service contract regardless of the clientTariff. In some cases, such as client boarding, it would be necessary to include additional filters such as the clientTariff.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/accountFeeDefinitions?filter[serviceContractId]=100&filter[isContractFee]=true&sort=serviceContractId,clientTariff
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[serviceContractId] | 100 |
---|---|
filter[isContractFee] | true |
sort | serviceContractId,clientTariff |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type accountFeeDefinitions .
Product Charges
Product charges are transaction charge rules for card service definitions - card based products. Product charges are grouped by service contract and by clientTariff. In addition, product charges can be contract based, part of the service contract structure, or cardholder specific. The below request example retrieves all the CONTRACT based rules linked to a particular service contract sorted by tariff.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/productChargeDefinitions?filter[serviceContractId]=100&filter[isContractFee]=true&sort=serviceContractId,clientTariff
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[serviceContractId] | 100 |
---|---|
filter[isContractFee] | true |
sort | serviceContractId,clientTariff |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type productChargeDefinitions .
Service Fees
Services fees are periodical fees that can be generated by BankWORKS for cardholder billing of any other non-card based services assigned. These are grouped by service contract and also by client tariff. In addition, services fees can be contract-based (part of the service contract) or else individual cardholder overrides. This means that a cardholder may only have a specific overrides of available contract based fees.
This example request is intended for the retrieval of all contract based service fees linked to a particular service contract regardless of the clientTariff. In some cases, such as client boarding, it would be necessary to include additional filters such as the clientTariff.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/serviceFeeDefinitions?filter[serviceContractId]=100&filter[isContractFee]=true&sort=serviceContractId,clientTariff
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[serviceContractId] | 100 |
---|---|
filter[isContractFee] | true |
sort | serviceContractId,clientTariff |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type serviceFeeDefinitions .
Cardholder Contract Definitions
This call retrieves a list of all available pre-defined issuing (cardholder) service contract definitions.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions?filter[serviceContractId]=002
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Parameters
filter[contractType] | 001 |
---|---|
filter[serviceContractId] | 002 |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type contractDefinitions .
Account Type Definitions
An account type definition represents an individual combination of an account type (such as main cardholder account) with a currency. These account types are grouped under a service contract, represented by a contractDefinitions resource.
This request example returns all the available accountDefinitions linked to a single service contract and sorts the result by accountTypeId and accountCurrency values. Additional filtering may also be added in order to return the desired subset of accounts available.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions/serviceContractId=113/accountDefinitions?sort=accountTypeId,accountCurrency&filter[accountCurrency]=EUR
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
sort | accountTypeId,accountCurrency |
---|---|
filter[accountCurrency] | EUR |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type accountDefinitions .
Card Service Definitions
This will return all available card service definitions under the specified contract definition. The card service definitions returned represent the cards that are available under a service contract.
In this example, the results are sorted by various attributes including the effective date in descending order.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions/serviceContractId=113/cardServiceDefinitions?filter[effectiveDate][LE]=2024-04-01&sort=serviceId,cardOrganization,cardBrand,-effectiveDate
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[effectiveDate][LE] | 2024-04-01 |
---|---|
sort | serviceId,cardOrganization,cardBrand,-effectiveDate |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardServiceDefinitions .
Other Service Definitions
This will return non-card product services that may be available under the service contract.
In this example, the results are sorted by various attributes including the effective date in descending order.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions/serviceContractId=113/serviceDefinitions?filter[effectiveDate][LE]=2024-02-01&sort=serviceId,cardOrganization,cardBrand,-effectiveDate
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[effectiveDate][LE] | 2024-02-01 |
---|---|
sort | serviceId,cardOrganization,cardBrand,-effectiveDate |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type serviceDefinitions .
Limit Definitions
This resource will return the limit definitions related to the contract definition.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/accountDefinitions/accountTypeId=001&accountCurrency=EUR&serviceContractId=100/limitDefinition
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type limitDefinitions .
Global Limit Definitions
This resource will return the global limit definitions related to the Account Type Definition retrieved from the second use case.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/accountDefinitions/accountTypeId=001&accountCurrency=EUR&serviceContractId=100/globalLimitDefinition
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type limitDefinitions .
Cardholder Onboarding
This collection will cover the sequential calls for standalone cardholder boarding.
The requests in this section provide information on all resources that can be defined at cardholder boarding stage. The approach taken, groups a number of requests based on their dependency. In summary:
- The cardholder is defined first
- Any resource linked (via relationships) directly to the cardholder is defined in the subsequent request
- Any resource linked to the cardholder contract is defined in the subsequent request.
- The cardholder is activated in BankWORKS.
Some important points to note:
- A cardholder is not active in BankWORKS prior to processing. During boarding, the cardholder will have a status indicating that the application is in process of being defined. Following the definition of all cardholder resources, it is necessary to activate the cardholder via Process Application endpoint. More information is available in the example requests provided. Cardholders that are are in the process of being onboarded have a ttl (time to live) value. More information about each individual resource is provided per request, as well as a generic description in the API Schema section of this document.
A note on - meta: (object) - ttl: (integer)
The remaining time to live in seconds of the resource. Once the value reaches 0, the resource will expire, and hence deleted. This attribute applies only to cardholders and all its relevant resources which are not yet onboarded i.e. status in progress (023) or in error (024). The ttl will be set once the resource is posted and will be reset once the resource is patched or a related resource is posted or patched. The ttl value will be set 2592000 seconds (30 days), however, RS2 reserves the right to change this value.
Onboarding via JSON Patch
This use case section contains a sample sequential requests to onboard a cardholder via bulk request (or JSON Patch method).
1. Create Cardholder
This will create the main details of the cardholder to be onboarded.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type cardholders with the following attributes:
Name | Description | |
---|---|---|
clientNumber
string (8)
|
8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined. |
|
rbsClientNumber
string (20)
|
External cardholder reference number. |
|
status
string (3)
|
Indicates the current status of the cardholder in BankWORKS. Refer to API Data Mapping documentation for possible values. |
|
idNumber
string (15)
required
|
The national ID card number. |
|
title
string (3)
required
|
Cardholder’s salutation. Refer to API Data Mapping documentation for possible values. |
|
firstName
string (15)
required
|
First name of the cardholder. |
|
lastName
string (26)
required
|
Last name of the cardholder. |
|
gender
string (3)
required
|
Gender of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
birthDate
date
required
|
Date of birth in ISO 8601 format |
|
birthPlace
string (15)
|
Cardholder’s place of birth. |
|
birthName
string (20)
|
Cardholder’s birth name. |
|
shortName
string (26)
required
|
Cardholder’s short name. |
|
mobile1
string (15)
|
Primary mobile phone number. |
|
mobile2
string (15)
|
Secondary mobile phone number. |
|
fathersName
string (20)
|
Name of cardholder’s father. |
|
language
string (3)
required
|
Cardholder’s language. Refer to API Data Mapping documentation for possible values. |
|
nationality
string (3)
required
|
Nationality of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
residenceStatus
string (3)
required
|
Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident. Refer to API Data Mapping documentation for possible values. |
|
residenceStatusDate
date
|
The date in ISO 8601 format relating to the client’s current residence state. |
|
residenceType
string (3)
required
|
Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown. Refer to API Data Mapping documentation for possible values. |
|
maritalStatus
string (3)
|
Cardholder’s marital status. Refer to API Data Mapping documentation for possible values. |
|
maritalStatusDate
date
|
Date in ISO 8601 format of last change in marital status. |
|
passportNumber
string (15)
|
The cardholder’s national passport number. |
|
drivingLicenseNumber
string (15)
|
The cardholder’s national driving license number. |
|
employerName
string (35)
|
Cardholder’s employment company or individual. |
|
employmentDate
date
|
Applicant’s date of employment in ISO 8601 format. |
|
employmentPosition
string (3)
required
|
Cardholder’s current employment position. Refer to API Data Mapping documentation for possible values. |
|
employmentStatus
string (3)
required
|
Cardholder’s current employment status. Refer to API Data Mapping documentation for possible values. |
|
employmentExtraInfo
string (3)
|
May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly). |
|
incomeAmount
number (18)
|
Income amount of applicant. |
|
incomeRange
string (3)
required
|
Income range of applicant. Refer to API Data Mapping documentation for possible values. |
|
processingRegion
string (3)
|
Defines the processing region of the cardholder. Used for transaction processing. Refer to API Data Mapping documentation for possible values. |
|
mastercardABU
string
|
Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status. Refer to API Data Mapping documentation for possible values. Sample values:
|
|
recordDate
date
|
The record creation date. |
|
Relationships |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type cardholders .
2. Create Addresses, Contract, Settlement
This request has multiple calls to onboarding and will create cardholder Addresses, Contract, and Settlement Information (if client is a billing level). These represent direct resources that can be linked to the cardholder defined in previous step without any dependency to other cardholder resources.
ADDRESS CREATION:
This call will create cardholder address/es depending on what address categories are required upon onboarding.
Other addresses optional address categories are available and may be used if required. Every address to be created must be linked to the cardholder being onboarded. Refer to mandatory relationship for more information.
CONTRACT CREATION:
Creation of a contract resource for a new client and is MANDATORY for onboarding . Refer to mandatory relationships for more information.
SETTLEMENT INFORMATION CREATION:
This will define the settlement information including RBS bank account number of the cardholder and is MANDATORY only if a billing level account is to be created. Multiple settlement information/package can be added (up to 99). This number will be set automatically and stored in settlementNumber as part of the resource ID.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/json-patch+json |
Accept | application/json-patch+json |
Crnk-Compact | true |
Request Body
This request body contains of a numer of JSON Patch operations to perform bulk actions on the issAddresses, issContracts and issSettlementPackages JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.
issAddresses object
Name | Description | |
---|---|---|
addressCategory
string (3)
required
|
The address category identifier for the returned client address resource are the following but not limited to:
A client must have at least one standard (001). Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed. |
|
expiryDate
date
|
The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future. |
|
addressLine1
string (35)
required
|
Address line typically used for building information but not limited to house name, number, floor, unit and block number. |
|
addressLine2
string (35)
|
Address line typically used for street information such as street number and name. |
|
addressLine3
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine4
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine5
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
contactName
string (35)
|
Main contact name for the address. |
|
city
string (35)
required
|
Client’s city. |
|
state
string (3)
|
3 digit identifier for the client’s state/region. Refer to API Data Mapping documentation for possible values. |
|
country
string (3)
required
|
The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries. Refer to API Data Mapping documentation for possible values. |
|
postCode
string (20)
required
|
Client’s postcode. |
|
poBox
string (10)
|
P.O. Box details. |
|
telephone1
string (15)
|
Primary address fixed line number, for example, a client’s home or business telephone number. |
|
telephone2
string (15)
|
Secondary address fixed line number for example a secondary business telephone number. |
|
faxWork
string (15)
|
Office fax number. |
|
addressLanguage
string (3)
|
3-digit identifier for the client language associated with the address. Refer to API Data Mapping documentation for possible values. |
|
deliveryMethod
string (3)
|
3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided. Refer to API Data Mapping documentation for possible values. |
|
emailAddress
string (60)
|
Client’s e-mail address. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
issContracts object
Name | Description | |
---|---|---|
contractCategory
string (3)
|
The contract category determines the type of hierarchy.
|
|
serviceContractId
string (3)
|
Indicates the service contract ID linked to the client contract. This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known. Refer to API Data Mapping documentation for possible values. |
|
parentClientNumber
string (8)
|
Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy. |
|
status
string (3)
|
Indicates the status of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientLevel
string (3)
required
|
Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:
|
|
effectiveDate
date
|
The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding. |
|
settlementMethod
string (3)
required
|
Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client. Refer to API Data Mapping documentation for possible values. |
|
postingMethod
string (3)
required
|
The tariff under which the client falls when posting to the clients account. Refer to API Data Mapping documentation for possible values. |
|
clientTariff
string (3)
required
|
Indicates the client tariff package assigned. Required only when onboarding a new client. |
|
chargeTierLevel
string (3)
|
Enables setting up of the same fee with different value high and value low triggers. Refer to API Data Mapping documentation for possible values. |
|
clientScheme
string (3)
|
Indicates the rebate tariff applicable for the contract. |
|
contractReference
string (8)
|
Cardholder contract document reference. |
|
bankReference
string (8)
|
External additional reference number of the cardholder with the bank. |
|
institutionAccountOfficer
string (3)
|
Officer in charge of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientBranch
string (3)
|
Contract application branch details. Related to the institutionAccountOfficer. Refer to API Data Mapping documentation for possible values. |
|
tierGroup
string (3)
|
An identifier used to group a set of rates that need to be applied during tiered pricing generation. Refer to API Data Mapping documentation for possible values. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
contractDefinition
|
An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId. |
|
cardholder
|
Relationship to the client resource if a private cardholder contract. |
|
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
parentContracts
|
Optional relationship to build a hierarchy. Links to the parent contract, one level up the client hierarchy. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. Alternatively if the parent client number is known, the attribute can be used instead of this relationship. |
issSettlementPackages object
Name | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accountCurrency
string (3)
|
The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
settlementCategory
string (3)
|
Settlement information category descriptor such as Payable or Receivable. Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
bankClearingNumber
string (8)
|
Information regarding the account’s bank details. |
|||||||||||||||||||||||||||
receiverCountryCode
string (3)
|
The country where the bank account information is located. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
payableDetails
object
|
|
|||||||||||||||||||||||||||
receivableDetails
object
|
|
|||||||||||||||||||||||||||
contingencyLiabilityAccount
string (11)
|
The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation. |
|||||||||||||||||||||||||||
correspondingBankAccount
string (16)
|
The NOSTRA/VOSTRO bank account of the affiliate institution. |
|||||||||||||||||||||||||||
correspondingBankNumber
string (35)
|
The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled. |
|||||||||||||||||||||||||||
recordDate
date
|
The record creation date in ISO8601 format. |
|||||||||||||||||||||||||||
Relationships | ||||||||||||||||||||||||||||
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
Response
HTTP 200 (OK)
Response body will contain the result of the JSON PATCH operation for the following resources: issAddresses issContracts issSettlementPackages
2.1 Revert Addresses, Addendums, Contract, Settlement
This is a sample rollback call for deleting the previous bulk call. Only include deletion for the successful operations from previous bulk request.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/json-patch+json |
Accept | application/json-patch+json |
Crnk-Compact | true |
Request Body
Response
3. Create Limits
ACCOUNTS LIMITS CREATION:
This post request will create an account limit that will serve as a spending threshold for the cardholder. A limit definition and cardholder contract are required to be linked in relationships object.
GLOBAL LIMITS CREATION:
This post request will create an account limit that will serve as a spending threshold for the cardholder. A limit definition and cardholder contract are required to be linked in relationships object.
IMPORTANT NOTE:
The resource ID generated after a successful post request is only for initialization. The actual resource ID AFTER being onboarded successfully can be retrieved using GET request to accounts and including the relationship to accountLimits and globalClientLimits. From the response body, accountLimits
and globalClientLimits resource ID respectively should be returned under the accounts relationships.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/json-patch+json |
Accept | application/json-patch+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type limits with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
limitNumber
string (11)
|
BankWORKS 11-digit number identifying the limit. |
|||||||
limitLevel
string (3)
required
|
The limit level identifies the account level to which this limit pertains. Refer to API Data Mapping documentation for possible values. |
|||||||
effectiveDate
date-time
|
The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed. |
|||||||
expiryDate
date
required
|
The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate. |
|||||||
clientLimit
object
required
|
The amount of credit the limit provides.
|
|||||||
limitOverrideAmount
number
|
A calculated attribute that identifies the amount that the limit can be overriden. |
|||||||
limitOverridePercent
string (11)
|
A percentage, exceeding the limit, within which authorization approval is allowed. |
|||||||
cashLimitPercent
number
|
A percentage in which authorization approval for Cash transactions is allowed. |
|||||||
retailBalance
object
|
Retail balance amount.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
contracts
required |
Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
limitDefinition
required |
The limits definition for which this resource is created from. |
|||||||
parentLimits
|
Parent limit related to this resource. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type limits .
3.1 Revert Limits
This is a sample rollback call for deleting the previous bulk call. Only include deletion for the successful operations from previous bulk request.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/json-patch+json |
Accept | application/json-patch+json |
Crnk-Compact | true |
Request Body
Response
4. Create Accounts and Card Service
ACCOUNTS CREATION:
This call is MANDATORY for cardholder onboarding. Every account boarded forms part of an account hierarchy (based on the Account Type and Currency combination, for example Payment Account EUR) which is based on the same strucutre as a client hierarchy. Billing level accounts require a settlementPackage to be linked to. This can be any settlementPackage resource defined earlier during onboarding. More information on the attributes and relationships is available below.
SERVICES CREATION:
This call is OPTIONAL. A cardholder can have a number of optional services defined during onboarding. Mandatory services are automatically created during onboarding processing, part of the final step. An individual service resource must be created for each service to be onboarded and must be based on existing service definition rules part of the cardholder’s service contract. More information information is available in the relationships section.
CARD CREATION
This will create a card for the cardholder to be onboarded. The request requires the cardholder service contract previously created and the card service definition as reference for the card service to be created.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/json-patch+json |
Accept | application/json-patch+json |
Crnk-Compact | true |
Request Body
This request body contains of a numer of JSON Patch operations to perform bulk actions on the issAccounts and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.
issAccounts object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
clientAccountName
string (35)
|
Cardholder account alias. |
|||||||
accountTypeId
string (3)
|
Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
accountNumberRbs
string (28)
|
External RBS account number reference. |
|||||||
statementGeneration
string (3)
|
Indicates the statement generation rule applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
statementType
string (3)
|
The type of statement applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
availabilityAmount
object
|
This is the calculated available amount for the account based on the account limit setup.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
accountDefinition
|
An optional relationship to the service definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes. |
|||||||
contracts
required |
Link to the cardholder contract defined during contract creation. |
|||||||
settlementPackage
|
Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined. |
|||||||
accountLimits
|
Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
globalClientLimits
|
Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
balanceCycles
|
Cycle balances related to the account, includes past cycles and the current cycle. |
|||||||
cycleChangeInstructions
|
Billing cycle instructions linked to the account. |
cards object
Name | Description | |
---|---|---|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
serviceId
string (3)
|
Indicates the card Service ID the card is based on. This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known. Refer to API Data Mapping documentation for possible values. |
|
Relationships | ||
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
cardServiceDefinitions
|
An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId. |
|
contracts
required |
Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|
poiSetting
|
The card information linked to the card POI (point of interaction) setting. |
Response
HTTP 200 (OK)
Response body will contain the result of the JSON PATCH operation for the following resources: issAccounts cards
4.1 Revert Accounts and Card Service
This is a sample rollback call for deleting the previous bulk call. Only include deletion for the successful operations from previous bulk request.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/json-patch+json |
Accept | application/json-patch+json |
Crnk-Compact | true |
Request Body
Response
5. Process Application
Reference resource: cardholders
This call is MANDATORY and the last step to onboard a cardholder.
After the required API onboarding resources are created, status of the cardholder needs to be set to either 001 (Active) or 003 (Suspended) by sending a PATCH request to cardholders API. Suspended status is only used if there are necessary post process or manual intervention after onboarding and before the cardholder is activated.
This PATCH request triggers the AIM and APM to process the cardholder application. When the back-end application processing is successful, an API response of 200 or 201 (successful) will be passed as well indicating an cardholder is onboarded successfully with that status.
In case there are any processing errors, the error details will be indicated in the response and the cardholder status will be set to 024 (In Error).
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
Response
HTTP 200 (OK)
Supplementary Cardholder Boarding
This use case section covers the requests for onboarding a Supplementary Cardholder. Prior to onboarding, the parent group to be linked to the supplementary cardholder can be done in either of two ways:
- Upgrading an existing member level (standalone cardholder) to a parent group and using this to be linked to the supplementary cardholder to be onboarded.
- Retrieving the existing and active parent group contract and using this to be linked to the supplementary cardholder to be onboarded.
1. Get Member Level to Upgrade
This is a sample request to get a specific cardholder that will be upgraded to a Group Level. This will then be used as the main client of the supplementary cardholder that will be onboarded in the 4th request.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/clientNumber=90000347?fields=id
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Parameters
fields | id |
---|
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardholders .
2. Upgrade Member to Group Level
This request will upgrade the member level cardholder to a parent group level providing the client number of the cardholder to be upgraded and clientLevel should be at a Group (002) level.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/issContracts
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issContracts with the following attributes:
Name | Description | |
---|---|---|
contractCategory
string (3)
|
The contract category determines the type of hierarchy.
|
|
serviceContractId
string (3)
|
Indicates the service contract ID linked to the client contract. This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known. Refer to API Data Mapping documentation for possible values. |
|
parentClientNumber
string (8)
|
Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy. |
|
status
string (3)
|
Indicates the status of the client contract. Refer to API Data Mapping documentation for possible values. |
|
groupNumber
string (8)
|
8-digit number indicating a billing and settlement hiearchical group. In this case, the group number indicates the hierarchy the contract form parts of. This field’s value is auto-generated. |
|
clientLevel
string (3)
required
|
Indicates the position of the current node resource within the group hierarchy. The top most level is identified as the Group level, the bottom level is the Member level. Any level in between the group and member levels is referred to as a Sub-group level node. Required only when onboarding a new client. Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding. |
|
settlementMethod
string (3)
|
Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client. Refer to API Data Mapping documentation for possible values. |
|
postingMethod
string (3)
|
The tariff under which the client falls when posting to the clients account. Refer to API Data Mapping documentation for possible values. |
|
clientTariff
string (3)
|
Indicates the client tariff package assigned. Required only when onboarding a new client. |
|
chargeTierLevel
string (3)
|
Enables setting up of the same fee with different value high and value low triggers. Refer to API Data Mapping documentation for possible values. |
|
clientScheme
string (3)
|
Indicates the rebate tariff applicable for the contract. |
|
contractReference
string (8)
|
Cardholder contract document reference. |
|
bankReference
string (8)
|
External additional reference number of the cardholder with the bank. |
|
institutionAccountOfficer
string (3)
|
Officer in charge of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientBranch
string (3)
|
Contract application branch details. Related to the institutionAccountOfficer. Refer to API Data Mapping documentation for possible values. |
|
tierGroup
string (3)
|
An identifier used to group a set of rates that need to be applied during tiered pricing generation. Refer to API Data Mapping documentation for possible values. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
contractDefinition
|
An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId. |
|
cardholder
|
Relationship to the client resource if a private cardholder contract. |
|
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
parentContracts
|
Optional relationship to build a hierarchy. Links to the parent contract, one level up the client hierarchy. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. Alternatively if the parent client number is known, the attribute can be used instead of this relationship. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type issContracts .
3. Get Parent Contract
This request can be use to get the contract of a parent client already active in the system if by any chance the request for level upgrade (request #2) was already done in the past.
The returned parent contract ID will then be used as a pre-requisite to onboard a supplementary cardholder linking the parent contract to it on the next request (request #4 Supplementary Cardholder).
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/issContracts?include=cardholder&filter[cardholder.clientNumber]=90000170&fields=id&filter[clientLevel]=002
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Parameters
include | cardholder |
---|---|
filter[cardholder.clientNumber] | 90000170 |
fields | id |
filter[clientLevel] | 002 |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type issContracts with cardholderas included resources.
4. Supplementary Cardholder Non-Billing
This will onboard a member (supplementary) level client linking the parent contract in the request. Parent contract is retrieved either from request #2 or 3.
This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.
The following resources are supported:
Resource | Description |
---|---|
cardholder (required) | This is the main resource to which everything is related to. This must be provided at the top-level. |
addresses (required) | The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource. |
contracts (required) | The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource. From the relationships object, the parentContracts array object is required in order to indicate the client to be onboarded is a supplementary of an existing and active parent client. |
cards | The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
services | Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
settlementPackages | The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource. This is required for billing cardholders. |
accounts (required) | Accounts can be defined at two different levels: 1. billing level - can be passed as an array and part of the respective settlementPackage resource 2. non-billing level - can be passed as an array and part of the contract resource |
accountLimits | Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource. |
In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.
In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.
Request
POST
{{gatewayHost}}/wsm/jsonapi/cardholderApplications
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
This request body contains of a numer of JSON Patch operations to perform bulk actions on the cardholders, issAddresses, issContracts, issSettlementPackages, issAccounts, limits and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.
cardholders object
Name | Description | |
---|---|---|
clientNumber
string (8)
|
8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined. |
|
rbsClientNumber
string (20)
|
External cardholder reference number. |
|
status
string (3)
|
Indicates the current status of the cardholder in BankWORKS. Refer to API Data Mapping documentation for possible values. |
|
idNumber
string (15)
required
|
The national ID card number. |
|
title
string (3)
required
|
Cardholder’s salutation. Refer to API Data Mapping documentation for possible values. |
|
firstName
string (15)
required
|
First name of the cardholder. |
|
lastName
string (26)
required
|
Last name of the cardholder. |
|
gender
string (3)
required
|
Gender of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
birthDate
date
required
|
Date of birth in ISO 8601 format |
|
birthPlace
string (15)
|
Cardholder’s place of birth. |
|
birthName
string (20)
|
Cardholder’s birth name. |
|
shortName
string (26)
required
|
Cardholder’s short name. |
|
mobile1
string (15)
|
Primary mobile phone number. |
|
mobile2
string (15)
|
Secondary mobile phone number. |
|
fathersName
string (20)
|
Name of cardholder’s father. |
|
language
string (3)
required
|
Cardholder’s language. Refer to API Data Mapping documentation for possible values. |
|
nationality
string (3)
required
|
Nationality of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
residenceStatus
string (3)
required
|
Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident. Refer to API Data Mapping documentation for possible values. |
|
residenceStatusDate
date
|
The date in ISO 8601 format relating to the client’s current residence state. |
|
residenceType
string (3)
required
|
Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown. Refer to API Data Mapping documentation for possible values. |
|
maritalStatus
string (3)
|
Cardholder’s marital status. Refer to API Data Mapping documentation for possible values. |
|
maritalStatusDate
date
|
Date in ISO 8601 format of last change in marital status. |
|
passportNumber
string (15)
|
The cardholder’s national passport number. |
|
drivingLicenseNumber
string (15)
|
The cardholder’s national driving license number. |
|
employerName
string (35)
|
Cardholder’s employment company or individual. |
|
employmentDate
date
|
Applicant’s date of employment in ISO 8601 format. |
|
employmentPosition
string (3)
required
|
Cardholder’s current employment position. Refer to API Data Mapping documentation for possible values. |
|
employmentStatus
string (3)
required
|
Cardholder’s current employment status. Refer to API Data Mapping documentation for possible values. |
|
employmentExtraInfo
string (3)
|
May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly). |
|
incomeAmount
number (18)
|
Income amount of applicant. |
|
incomeRange
string (3)
required
|
Income range of applicant. Refer to API Data Mapping documentation for possible values. |
|
processingRegion
string (3)
|
Defines the processing region of the cardholder. Used for transaction processing. Refer to API Data Mapping documentation for possible values. |
|
mastercardABU
string
|
Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status. Refer to API Data Mapping documentation for possible values. Sample values:
|
|
recordDate
date
|
The record creation date. |
|
Relationships |
issAddresses object
Name | Description | |
---|---|---|
addressCategory
string (3)
required
|
The address category identifier for the returned client address resource are the following but not limited to:
A client must have at least one standard (001). Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed. |
|
expiryDate
date
|
The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future. |
|
addressLine1
string (35)
required
|
Address line typically used for building information but not limited to house name, number, floor, unit and block number. |
|
addressLine2
string (35)
|
Address line typically used for street information such as street number and name. |
|
addressLine3
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine4
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine5
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
contactName
string (35)
|
Main contact name for the address. |
|
city
string (35)
required
|
Client’s city. |
|
state
string (3)
|
3 digit identifier for the client’s state/region. Refer to API Data Mapping documentation for possible values. |
|
country
string (3)
required
|
The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries. Refer to API Data Mapping documentation for possible values. |
|
postCode
string (20)
required
|
Client’s postcode. |
|
poBox
string (10)
|
P.O. Box details. |
|
telephone1
string (15)
|
Primary address fixed line number, for example, a client’s home or business telephone number. |
|
telephone2
string (15)
|
Secondary address fixed line number for example a secondary business telephone number. |
|
faxWork
string (15)
|
Office fax number. |
|
addressLanguage
string (3)
|
3-digit identifier for the client language associated with the address. Refer to API Data Mapping documentation for possible values. |
|
deliveryMethod
string (3)
|
3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided. Refer to API Data Mapping documentation for possible values. |
|
emailAddress
string (60)
|
Client’s e-mail address. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
cardholder
|
Relationship to the cardholder linked to the address. |
|
commercialClient
|
Relationship to the commercial client linked to the address. |
issContracts object
Name | Description | |
---|---|---|
contractCategory
string (3)
|
The contract category determines the type of hierarchy.
|
|
serviceContractId
string (3)
|
Indicates the service contract ID linked to the client contract. This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known. Refer to API Data Mapping documentation for possible values. |
|
parentClientNumber
string (8)
|
Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy. |
|
status
string (3)
|
Indicates the status of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientLevel
string (3)
required
|
Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:
|
|
effectiveDate
date
|
The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding. |
|
settlementMethod
string (3)
required
|
Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client. Refer to API Data Mapping documentation for possible values. |
|
postingMethod
string (3)
required
|
The tariff under which the client falls when posting to the clients account. Refer to API Data Mapping documentation for possible values. |
|
clientTariff
string (3)
required
|
Indicates the client tariff package assigned. Required only when onboarding a new client. |
|
chargeTierLevel
string (3)
|
Enables setting up of the same fee with different value high and value low triggers. Refer to API Data Mapping documentation for possible values. |
|
clientScheme
string (3)
|
Indicates the rebate tariff applicable for the contract. |
|
contractReference
string (8)
|
Cardholder contract document reference. |
|
bankReference
string (8)
|
External additional reference number of the cardholder with the bank. |
|
institutionAccountOfficer
string (3)
|
Officer in charge of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientBranch
string (3)
|
Contract application branch details. Related to the institutionAccountOfficer. Refer to API Data Mapping documentation for possible values. |
|
tierGroup
string (3)
|
An identifier used to group a set of rates that need to be applied during tiered pricing generation. Refer to API Data Mapping documentation for possible values. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
contractDefinition
|
An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId. |
|
cardholder
|
Relationship to the client resource if a private cardholder contract. |
|
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
parentContracts
|
If defining a cardholder that is part of a hierarchy below the GROUP level, the parent cardholder contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to rather a direct relationship to contractDefinition. |
issSettlementPackages object
Name | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accountCurrency
string (3)
|
The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
settlementCategory
string (3)
|
Settlement information category descriptor such as Payable or Receivable. Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
bankClearingNumber
string (8)
|
Information regarding the account’s bank details. |
|||||||||||||||||||||||||||
receiverCountryCode
string (3)
|
The country where the bank account information is located. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
payableDetails
object
|
|
|||||||||||||||||||||||||||
receivableDetails
object
|
|
|||||||||||||||||||||||||||
contingencyLiabilityAccount
string (11)
|
The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation. |
|||||||||||||||||||||||||||
correspondingBankAccount
string (16)
|
The NOSTRA/VOSTRO bank account of the affiliate institution. |
|||||||||||||||||||||||||||
correspondingBankNumber
string (35)
|
The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled. |
|||||||||||||||||||||||||||
recordDate
date
|
The record creation date in ISO8601 format. |
|||||||||||||||||||||||||||
Relationships | ||||||||||||||||||||||||||||
cardholder
|
Cardholder who owns the settlement information. |
|||||||||||||||||||||||||||
commercialClient
|
Commercial client who owns the settlement information. |
issAccounts object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
clientAccountName
string (35)
|
Cardholder account alias. |
|||||||
accountTypeId
string (3)
|
Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
accountNumberRbs
string (28)
|
External RBS account number reference. |
|||||||
statementGeneration
string (3)
|
Indicates the statement generation rule applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
statementType
string (3)
|
The type of statement applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
availabilityAmount
object
|
This is the calculated available amount for the account based on the account limit setup.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
accountDefinition
|
An optional relationship to the service definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes. |
|||||||
contracts
required |
Link to the cardholder contract defined during contract creation. |
|||||||
settlementPackage
|
Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined. |
|||||||
accountFeeDefinitions
|
Account fees applicable for the cardholder account based on the client contract tariff assigned. Contract based account fees as well as individual client specific account fees overriding contract based fees are available. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
accountLimits
|
Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
globalClientLimits
|
Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
balanceCycles
|
Cycle balances related to the account, includes past cycles and the current cycle. |
|||||||
cycleChangeInstructions
|
Billing cycle instructions linked to the account. |
limits object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
limitNumber
string (11)
|
BankWORKS 11-digit number identifying the limit. |
|||||||
limitLevel
string (3)
required
|
The limit level identifies the account level to which this limit pertains. Refer to API Data Mapping documentation for possible values. |
|||||||
effectiveDate
date-time
|
The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed. |
|||||||
expiryDate
date
required
|
The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate. |
|||||||
clientLimit
object
required
|
The amount of credit the limit provides.
|
|||||||
limitOverrideAmount
number
|
A calculated attribute that identifies the amount that the limit can be overriden. |
|||||||
limitOverridePercent
string (11)
|
A percentage, exceeding the limit, within which authorization approval is allowed. |
|||||||
cashLimitPercent
number
|
A percentage in which authorization approval for Cash transactions is allowed. |
|||||||
retailBalance
object
|
Retail balance amount.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
contracts
required |
Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
limitDefinition
required |
The limits definition for which this resource is created from. |
|||||||
parentLimits
|
Parent limit related to this resource. |
cards object
Name | Description | |
---|---|---|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
serviceId
string (3)
|
Indicates the card Service ID the card is based on. This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known. Refer to API Data Mapping documentation for possible values. |
|
Relationships | ||
cardServiceDefinitions
required |
Relationship to the card service definition resource. |
|
contracts
required |
Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|
poiSetting
|
The card information linked to the card POI (point of interaction) setting. |
Response
HTTP 201 (Created)
Response body will contain the result of the JSON PATCH operation for the following resources: cardholders issAddresses issContracts issSettlementPackages issAccounts limits cards
Single Request Billing
This will onboard a standalone cardholder under a billing level account via a single request for all the resources required.
This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.
The following resources are supported:
Resource | Description |
---|---|
cardholder (required) | This is the main resource to which everything is related to. This must be provided at the top-level. |
addresses (required) | The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource. |
contracts (required) | The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource. |
cards | The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
services | Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
settlementPackages (required) | The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource. This is required for billing cardholders. |
accounts (required) | Accounts can be defined at two different levels: 1. billing level - can be passed as an array and part of the respective settlementPackage resource 2. non-billing level - can be passed as an array and part of the contract resource |
accountLimits | Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource. |
For further details on the resources to be provided in the request, please refer to the individual requests in the cardholder onboarding via JSON Patch use case above.
In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.
In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.
Request
POST
{{gatewayHost}}/wsm/jsonapi/cardholderApplications
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
This request body contains of a numer of JSON Patch operations to perform bulk actions on the cardholders, issAddresses, issContracts, issSettlementPackages, issAccounts, limits and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.
cardholders object
Name | Description | |
---|---|---|
clientNumber
string (8)
|
8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined. |
|
rbsClientNumber
string (20)
|
External cardholder reference number. |
|
status
string (3)
|
Indicates the current status of the cardholder in BankWORKS. Refer to API Data Mapping documentation for possible values. |
|
idNumber
string (15)
required
|
The national ID card number. |
|
title
string (3)
required
|
Cardholder’s salutation. Refer to API Data Mapping documentation for possible values. |
|
firstName
string (15)
required
|
First name of the cardholder. |
|
lastName
string (26)
required
|
Last name of the cardholder. |
|
gender
string (3)
required
|
Gender of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
birthDate
date
required
|
Date of birth in ISO 8601 format |
|
birthPlace
string (15)
|
Cardholder’s place of birth. |
|
birthName
string (20)
|
Cardholder’s birth name. |
|
shortName
string (26)
required
|
Cardholder’s short name. |
|
mobile1
string (15)
|
Primary mobile phone number. |
|
mobile2
string (15)
|
Secondary mobile phone number. |
|
fathersName
string (20)
|
Name of cardholder’s father. |
|
language
string (3)
required
|
Cardholder’s language. Refer to API Data Mapping documentation for possible values. |
|
nationality
string (3)
required
|
Nationality of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
residenceStatus
string (3)
required
|
Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident. Refer to API Data Mapping documentation for possible values. |
|
residenceStatusDate
date
|
The date in ISO 8601 format relating to the client’s current residence state. |
|
residenceType
string (3)
required
|
Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown. Refer to API Data Mapping documentation for possible values. |
|
maritalStatus
string (3)
|
Cardholder’s marital status. Refer to API Data Mapping documentation for possible values. |
|
maritalStatusDate
date
|
Date in ISO 8601 format of last change in marital status. |
|
passportNumber
string (15)
|
The cardholder’s national passport number. |
|
drivingLicenseNumber
string (15)
|
The cardholder’s national driving license number. |
|
employerName
string (35)
|
Cardholder’s employment company or individual. |
|
employmentDate
date
|
Applicant’s date of employment in ISO 8601 format. |
|
employmentPosition
string (3)
required
|
Cardholder’s current employment position. Refer to API Data Mapping documentation for possible values. |
|
employmentStatus
string (3)
required
|
Cardholder’s current employment status. Refer to API Data Mapping documentation for possible values. |
|
employmentExtraInfo
string (3)
|
May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly). |
|
incomeAmount
number (18)
|
Income amount of applicant. |
|
incomeRange
string (3)
required
|
Income range of applicant. Refer to API Data Mapping documentation for possible values. |
|
processingRegion
string (3)
|
Defines the processing region of the cardholder. Used for transaction processing. Refer to API Data Mapping documentation for possible values. |
|
mastercardABU
string
|
Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status. Refer to API Data Mapping documentation for possible values. Sample values:
|
|
recordDate
date
|
The record creation date. |
|
Relationships |
issAddresses object
Name | Description | |
---|---|---|
addressCategory
string (3)
required
|
The address category identifier for the returned client address resource are the following but not limited to:
A client must have at least one standard (001). Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed. |
|
expiryDate
date
|
The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future. |
|
addressLine1
string (35)
required
|
Address line typically used for building information but not limited to house name, number, floor, unit and block number. |
|
addressLine2
string (35)
|
Address line typically used for street information such as street number and name. |
|
addressLine3
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine4
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine5
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
contactName
string (35)
|
Main contact name for the address. |
|
city
string (35)
required
|
Client’s city. |
|
state
string (3)
|
3 digit identifier for the client’s state/region. Refer to API Data Mapping documentation for possible values. |
|
country
string (3)
required
|
The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries. Refer to API Data Mapping documentation for possible values. |
|
postCode
string (20)
required
|
Client’s postcode. |
|
poBox
string (10)
|
P.O. Box details. |
|
telephone1
string (15)
|
Primary address fixed line number, for example, a client’s home or business telephone number. |
|
telephone2
string (15)
|
Secondary address fixed line number for example a secondary business telephone number. |
|
faxWork
string (15)
|
Office fax number. |
|
addressLanguage
string (3)
|
3-digit identifier for the client language associated with the address. Refer to API Data Mapping documentation for possible values. |
|
deliveryMethod
string (3)
|
3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided. Refer to API Data Mapping documentation for possible values. |
|
emailAddress
string (60)
|
Client’s e-mail address. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|
commercialClient
|
Relationship to the commercial client linked to the address. |
issContracts object
Name | Description | |
---|---|---|
contractCategory
string (3)
|
The contract category determines the type of hierarchy.
|
|
serviceContractId
string (3)
|
Indicates the service contract ID linked to the client contract. This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known. Refer to API Data Mapping documentation for possible values. |
|
parentClientNumber
string (8)
|
Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy. |
|
status
string (3)
|
Indicates the status of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientLevel
string (3)
required
|
Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:
|
|
effectiveDate
date
|
The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding. |
|
settlementMethod
string (3)
required
|
Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client. Refer to API Data Mapping documentation for possible values. |
|
postingMethod
string (3)
required
|
The tariff under which the client falls when posting to the clients account. Refer to API Data Mapping documentation for possible values. |
|
clientTariff
string (3)
required
|
Indicates the client tariff package assigned. Required only when onboarding a new client. |
|
chargeTierLevel
string (3)
|
Enables setting up of the same fee with different value high and value low triggers. Refer to API Data Mapping documentation for possible values. |
|
clientScheme
string (3)
|
Indicates the rebate tariff applicable for the contract. |
|
contractReference
string (8)
|
Cardholder contract document reference. |
|
bankReference
string (8)
|
External additional reference number of the cardholder with the bank. |
|
institutionAccountOfficer
string (3)
|
Officer in charge of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientBranch
string (3)
|
Contract application branch details. Related to the institutionAccountOfficer. Refer to API Data Mapping documentation for possible values. |
|
tierGroup
string (3)
|
An identifier used to group a set of rates that need to be applied during tiered pricing generation. Refer to API Data Mapping documentation for possible values. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
contractDefinition
|
An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId. |
|
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
parentContracts
|
If defining a cardholder that is part of a hierarchy below the GROUP level, the parent cardholder contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to rather a direct relationship to contractDefinition. |
issSettlementPackages object
Name | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accountCurrency
string (3)
|
The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
settlementCategory
string (3)
|
Settlement information category descriptor such as Payable or Receivable. Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
bankClearingNumber
string (8)
|
Information regarding the account’s bank details. |
|||||||||||||||||||||||||||
receiverCountryCode
string (3)
|
The country where the bank account information is located. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
payableDetails
object
|
|
|||||||||||||||||||||||||||
receivableDetails
object
|
|
|||||||||||||||||||||||||||
contingencyLiabilityAccount
string (11)
|
The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation. |
|||||||||||||||||||||||||||
correspondingBankAccount
string (16)
|
The NOSTRA/VOSTRO bank account of the affiliate institution. |
|||||||||||||||||||||||||||
correspondingBankNumber
string (35)
|
The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled. |
|||||||||||||||||||||||||||
recordDate
date
|
The record creation date in ISO8601 format. |
|||||||||||||||||||||||||||
Relationships | ||||||||||||||||||||||||||||
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|||||||||||||||||||||||||||
commercialClient
|
Commercial client who owns the settlement information. |
issAccounts object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
clientAccountName
string (35)
|
Cardholder account alias. |
|||||||
accountTypeId
string (3)
|
Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
accountNumberRbs
string (28)
|
External RBS account number reference. |
|||||||
statementGeneration
string (3)
|
Indicates the statement generation rule applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
statementType
string (3)
|
The type of statement applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
availabilityAmount
object
|
This is the calculated available amount for the account based on the account limit setup.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
accountDefinition
|
An optional relationship to the account definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes. |
|||||||
commercialClient
|
Relationship to the client resource if a commercial client. |
|||||||
contracts
required |
Link to the cardholder contract defined during contract creation. |
|||||||
settlementPackage
|
Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined. |
|||||||
accountLimits
|
Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
globalClientLimits
|
Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
balanceCycles
|
Cycle balances related to the account, includes past cycles and the current cycle. |
|||||||
cycleChangeInstructions
|
Billing cycle instructions linked to the account. |
limits object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
limitNumber
string (11)
|
BankWORKS 11-digit number identifying the limit. |
|||||||
limitLevel
string (3)
required
|
The limit level identifies the account level to which this limit pertains. Refer to API Data Mapping documentation for possible values. |
|||||||
effectiveDate
date-time
|
The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed. |
|||||||
expiryDate
date
required
|
The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate. |
|||||||
clientLimit
object
required
|
The amount of credit the limit provides.
|
|||||||
limitOverrideAmount
number
|
A calculated attribute that identifies the amount that the limit can be overriden. |
|||||||
limitOverridePercent
string (11)
|
A percentage, exceeding the limit, within which authorization approval is allowed. |
|||||||
cashLimitPercent
number
|
A percentage in which authorization approval for Cash transactions is allowed. |
|||||||
retailBalance
object
|
Retail balance amount.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
contracts
required |
Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
limitDefinition
required |
The limits definition for which this resource is created from. |
|||||||
parentLimits
|
Parent limit related to this resource. |
cards object
Name | Description | |
---|---|---|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
serviceId
string (3)
|
Indicates the card Service ID the card is based on. This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known. Refer to API Data Mapping documentation for possible values. |
|
Relationships | ||
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
cardServiceDefinitions
|
An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId. |
|
contracts
required |
Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|
poiSetting
|
The card information linked to the card POI (point of interaction) setting. |
Response
Single Request Billing : HTTP 201 (Created)
Singe Card : HTTP 201 (Created)
Multiple Cards : HTTP 201 (Created)
Emboss line mismatch : HTTP 400 (Bad Request)
Response body will contain the result of the JSON PATCH operation for the following resources: cardholders issAddresses issContracts issSettlementPackages issAccounts limits cards
Single Request Billing Simplified
This will onboard a standalone cardholder under a billing level account via a single request for all the resources required.
The simplified use case is similar to the regular use case but uses attribute alternatives to a number of relationships. This approach may simplify smaller integrations as the resource IDs of the relationships do not need to be known.
This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.
The following resources are supported:
Resource | Description |
---|---|
cardholder (required) | This is the main resource to which everything is related to. This must be provided at the top-level. |
addresses (required) | The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource. |
contracts (required) | The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource. |
cards | The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
services | Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
settlementPackages (required) | The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource. This is required for billing cardholders. |
accounts (required) | Accounts can be defined at two different levels: 1. billing level - can be passed as an array and part of the respective settlementPackage resource 2. non-billing level - can be passed as an array and part of the contract resource |
accountLimits | Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource. |
For further details on the resources to be provided in the request, please refer to the individual requests in the cardholder onboarding via JSON Patch use case above.
In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.
In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.
Request
POST
{{gatewayHost}}/wsm/jsonapi/cardholderApplications
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
This request body contains of a numer of JSON Patch operations to perform bulk actions on the cardholders, issAddresses, issContracts, issSettlementPackages, issAccounts, limits and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.
cardholders object
Name | Description | |
---|---|---|
clientNumber
string (8)
|
8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined. |
|
rbsClientNumber
string (20)
|
External cardholder reference number. |
|
status
string (3)
|
Indicates the current status of the cardholder in BankWORKS. Refer to API Data Mapping documentation for possible values. |
|
idNumber
string (15)
required
|
The national ID card number. |
|
title
string (3)
required
|
Cardholder’s salutation. Refer to API Data Mapping documentation for possible values. |
|
firstName
string (15)
required
|
First name of the cardholder. |
|
lastName
string (26)
required
|
Last name of the cardholder. |
|
gender
string (3)
required
|
Gender of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
birthDate
date
required
|
Date of birth in ISO 8601 format |
|
birthPlace
string (15)
|
Cardholder’s place of birth. |
|
birthName
string (20)
|
Cardholder’s birth name. |
|
shortName
string (26)
required
|
Cardholder’s short name. |
|
mobile1
string (15)
|
Primary mobile phone number. |
|
mobile2
string (15)
|
Secondary mobile phone number. |
|
fathersName
string (20)
|
Name of cardholder’s father. |
|
language
string (3)
required
|
Cardholder’s language. Refer to API Data Mapping documentation for possible values. |
|
nationality
string (3)
required
|
Nationality of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
residenceStatus
string (3)
required
|
Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident. Refer to API Data Mapping documentation for possible values. |
|
residenceStatusDate
date
|
The date in ISO 8601 format relating to the client’s current residence state. |
|
residenceType
string (3)
required
|
Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown. Refer to API Data Mapping documentation for possible values. |
|
maritalStatus
string (3)
|
Cardholder’s marital status. Refer to API Data Mapping documentation for possible values. |
|
maritalStatusDate
date
|
Date in ISO 8601 format of last change in marital status. |
|
passportNumber
string (15)
|
The cardholder’s national passport number. |
|
drivingLicenseNumber
string (15)
|
The cardholder’s national driving license number. |
|
employerName
string (35)
|
Cardholder’s employment company or individual. |
|
employmentDate
date
|
Applicant’s date of employment in ISO 8601 format. |
|
employmentPosition
string (3)
required
|
Cardholder’s current employment position. Refer to API Data Mapping documentation for possible values. |
|
employmentStatus
string (3)
required
|
Cardholder’s current employment status. Refer to API Data Mapping documentation for possible values. |
|
employmentExtraInfo
string (3)
|
May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly). |
|
incomeAmount
number (18)
|
Income amount of applicant. |
|
incomeRange
string (3)
required
|
Income range of applicant. Refer to API Data Mapping documentation for possible values. |
|
processingRegion
string (3)
|
Defines the processing region of the cardholder. Used for transaction processing. Refer to API Data Mapping documentation for possible values. |
|
mastercardABU
string
|
Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status. Refer to API Data Mapping documentation for possible values. Sample values:
|
|
recordDate
date
|
The record creation date. |
|
Relationships |
issAddresses object
Name | Description | |
---|---|---|
addressCategory
string (3)
required
|
The address category identifier for the returned client address resource are the following but not limited to:
A client must have at least one standard (001). Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed. |
|
expiryDate
date
|
The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future. |
|
addressLine1
string (35)
required
|
Address line typically used for building information but not limited to house name, number, floor, unit and block number. |
|
addressLine2
string (35)
|
Address line typically used for street information such as street number and name. |
|
addressLine3
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine4
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine5
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
contactName
string (35)
|
Main contact name for the address. |
|
city
string (35)
required
|
Client’s city. |
|
state
string (3)
|
3 digit identifier for the client’s state/region. Refer to API Data Mapping documentation for possible values. |
|
country
string (3)
required
|
The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries. Refer to API Data Mapping documentation for possible values. |
|
postCode
string (20)
required
|
Client’s postcode. |
|
poBox
string (10)
|
P.O. Box details. |
|
telephone1
string (15)
|
Primary address fixed line number, for example, a client’s home or business telephone number. |
|
telephone2
string (15)
|
Secondary address fixed line number for example a secondary business telephone number. |
|
faxWork
string (15)
|
Office fax number. |
|
addressLanguage
string (3)
|
3-digit identifier for the client language associated with the address. Refer to API Data Mapping documentation for possible values. |
|
deliveryMethod
string (3)
|
3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided. Refer to API Data Mapping documentation for possible values. |
|
emailAddress
string (60)
|
Client’s e-mail address. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|
commercialClient
|
Relationship to the commercial client linked to the address. |
issContracts object
Name | Description | |
---|---|---|
contractCategory
string (3)
|
The contract category determines the type of hierarchy.
|
|
serviceContractId
string (3)
|
Indicates the service contract ID linked to the client contract. This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known. Refer to API Data Mapping documentation for possible values. |
|
parentClientNumber
string (8)
|
Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy. |
|
status
string (3)
|
Indicates the status of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientLevel
string (3)
required
|
Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:
|
|
effectiveDate
date
|
The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding. |
|
settlementMethod
string (3)
required
|
Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client. Refer to API Data Mapping documentation for possible values. |
|
postingMethod
string (3)
required
|
The tariff under which the client falls when posting to the clients account. Refer to API Data Mapping documentation for possible values. |
|
clientTariff
string (3)
required
|
Indicates the client tariff package assigned. Required only when onboarding a new client. |
|
chargeTierLevel
string (3)
|
Enables setting up of the same fee with different value high and value low triggers. Refer to API Data Mapping documentation for possible values. |
|
clientScheme
string (3)
|
Indicates the rebate tariff applicable for the contract. |
|
contractReference
string (8)
|
Cardholder contract document reference. |
|
bankReference
string (8)
|
External additional reference number of the cardholder with the bank. |
|
institutionAccountOfficer
string (3)
|
Officer in charge of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientBranch
string (3)
|
Contract application branch details. Related to the institutionAccountOfficer. Refer to API Data Mapping documentation for possible values. |
|
tierGroup
string (3)
|
An identifier used to group a set of rates that need to be applied during tiered pricing generation. Refer to API Data Mapping documentation for possible values. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
contractDefinition
|
An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId. |
|
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
parentContracts
|
If defining a cardholder that is part of a hierarchy below the GROUP level, the parent cardholder contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to rather a direct relationship to contractDefinition. |
issSettlementPackages object
Name | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accountCurrency
string (3)
|
The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
settlementCategory
string (3)
|
Settlement information category descriptor such as Payable or Receivable. Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
bankClearingNumber
string (8)
|
Information regarding the account’s bank details. |
|||||||||||||||||||||||||||
receiverCountryCode
string (3)
|
The country where the bank account information is located. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
payableDetails
object
|
|
|||||||||||||||||||||||||||
receivableDetails
object
|
|
|||||||||||||||||||||||||||
contingencyLiabilityAccount
string (11)
|
The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation. |
|||||||||||||||||||||||||||
correspondingBankAccount
string (16)
|
The NOSTRA/VOSTRO bank account of the affiliate institution. |
|||||||||||||||||||||||||||
correspondingBankNumber
string (35)
|
The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled. |
|||||||||||||||||||||||||||
recordDate
date
|
The record creation date in ISO8601 format. |
|||||||||||||||||||||||||||
Relationships | ||||||||||||||||||||||||||||
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|||||||||||||||||||||||||||
commercialClient
|
Commercial client who owns the settlement information. |
issAccounts object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
clientAccountName
string (35)
|
Cardholder account alias. |
|||||||
accountTypeId
string (3)
|
Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
accountNumberRbs
string (28)
|
External RBS account number reference. |
|||||||
statementGeneration
string (3)
|
Indicates the statement generation rule applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
statementType
string (3)
|
The type of statement applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
availabilityAmount
object
|
This is the calculated available amount for the account based on the account limit setup.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
accountDefinition
|
An optional relationship to the account definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes. |
|||||||
commercialClient
|
Relationship to the client resource if a commercial client. |
|||||||
contracts
required |
Link to the cardholder contract defined during contract creation. |
|||||||
settlementPackage
|
Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined. |
|||||||
accountLimits
|
Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
globalClientLimits
|
Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
balanceCycles
|
Cycle balances related to the account, includes past cycles and the current cycle. |
|||||||
cycleChangeInstructions
|
Billing cycle instructions linked to the account. |
limits object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
limitNumber
string (11)
|
BankWORKS 11-digit number identifying the limit. |
|||||||
limitLevel
string (3)
required
|
The limit level identifies the account level to which this limit pertains. Refer to API Data Mapping documentation for possible values. |
|||||||
effectiveDate
date-time
|
The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed. |
|||||||
expiryDate
date
required
|
The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate. |
|||||||
clientLimit
object
required
|
The amount of credit the limit provides.
|
|||||||
limitOverrideAmount
number
|
A calculated attribute that identifies the amount that the limit can be overriden. |
|||||||
limitOverridePercent
string (11)
|
A percentage, exceeding the limit, within which authorization approval is allowed. |
|||||||
cashLimitPercent
number
|
A percentage in which authorization approval for Cash transactions is allowed. |
|||||||
retailBalance
object
|
Retail balance amount.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
contracts
required |
Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
limitDefinition
required |
The limits definition for which this resource is created from. |
|||||||
parentLimits
|
Parent limit related to this resource. |
cards object
Name | Description | |
---|---|---|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
serviceId
string (3)
|
Indicates the card Service ID the card is based on. This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known. Refer to API Data Mapping documentation for possible values. |
|
Relationships | ||
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
cardServiceDefinitions
|
An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId. |
|
contracts
required |
Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|
poiSetting
|
The card information linked to the card POI (point of interaction) setting. |
Response
HTTP 201 (Created)
Response body will contain the result of the JSON PATCH operation for the following resources: cardholders issAddresses issContracts issSettlementPackages issAccounts limits cards
Single Request Non-Billing
This will onboard a standalone cardholder under non-billing level account via a single request for all the resources required.
This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.
The following resources are supported:
Resource | Description |
---|---|
cardholder (required) | This is the main resource to which everything is related to. This must be provided at the top-level. |
addresses (required) | The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource. |
contracts (required) | The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource. |
cards | The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
services | Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
settlementPackages | The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource. |
accounts (required) | Accounts can be defined at two different levels: 1. billing level - can be passed as an array and part of the respective settlementPackage resource 2. non-billing level - can be passed as an array and part of the contract resource |
accountLimits | Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource. |
For further details on the resources to be provided in the request, please refer to the individual requests in the cardholder onboarding via JSON Patch use case above.
In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.
In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.
Request
POST
{{gatewayHost}}/wsm/jsonapi/cardholderApplications
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
This request body contains of a numer of JSON Patch operations to perform bulk actions on the cardholders, issAddresses, issContracts, issSettlementPackages, issAccounts, limits and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.
cardholders object
Name | Description | |
---|---|---|
clientNumber
string (8)
|
8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined. |
|
rbsClientNumber
string (20)
|
External cardholder reference number. |
|
status
string (3)
|
Indicates the current status of the cardholder in BankWORKS. Refer to API Data Mapping documentation for possible values. |
|
idNumber
string (15)
required
|
The national ID card number. |
|
title
string (3)
required
|
Cardholder’s salutation. Refer to API Data Mapping documentation for possible values. |
|
firstName
string (15)
required
|
First name of the cardholder. |
|
lastName
string (26)
required
|
Last name of the cardholder. |
|
gender
string (3)
required
|
Gender of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
birthDate
date
required
|
Date of birth in ISO 8601 format |
|
birthPlace
string (15)
|
Cardholder’s place of birth. |
|
birthName
string (20)
|
Cardholder’s birth name. |
|
shortName
string (26)
required
|
Cardholder’s short name. |
|
mobile1
string (15)
|
Primary mobile phone number. |
|
mobile2
string (15)
|
Secondary mobile phone number. |
|
fathersName
string (20)
|
Name of cardholder’s father. |
|
language
string (3)
required
|
Cardholder’s language. Refer to API Data Mapping documentation for possible values. |
|
nationality
string (3)
required
|
Nationality of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
residenceStatus
string (3)
required
|
Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident. Refer to API Data Mapping documentation for possible values. |
|
residenceStatusDate
date
|
The date in ISO 8601 format relating to the client’s current residence state. |
|
residenceType
string (3)
required
|
Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown. Refer to API Data Mapping documentation for possible values. |
|
maritalStatus
string (3)
|
Cardholder’s marital status. Refer to API Data Mapping documentation for possible values. |
|
maritalStatusDate
date
|
Date in ISO 8601 format of last change in marital status. |
|
passportNumber
string (15)
|
The cardholder’s national passport number. |
|
drivingLicenseNumber
string (15)
|
The cardholder’s national driving license number. |
|
employerName
string (35)
|
Cardholder’s employment company or individual. |
|
employmentDate
date
|
Applicant’s date of employment in ISO 8601 format. |
|
employmentPosition
string (3)
required
|
Cardholder’s current employment position. Refer to API Data Mapping documentation for possible values. |
|
employmentStatus
string (3)
required
|
Cardholder’s current employment status. Refer to API Data Mapping documentation for possible values. |
|
employmentExtraInfo
string (3)
|
May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly). |
|
incomeAmount
number (18)
|
Income amount of applicant. |
|
incomeRange
string (3)
required
|
Income range of applicant. Refer to API Data Mapping documentation for possible values. |
|
processingRegion
string (3)
|
Defines the processing region of the cardholder. Used for transaction processing. Refer to API Data Mapping documentation for possible values. |
|
mastercardABU
string
|
Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status. Refer to API Data Mapping documentation for possible values. Sample values:
|
|
recordDate
date
|
The record creation date. |
|
Relationships |
issAddresses object
Name | Description | |
---|---|---|
addressCategory
string (3)
required
|
The address category identifier for the returned client address resource are the following but not limited to:
A client must have at least one standard (001). Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed. |
|
expiryDate
date
|
The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future. |
|
addressLine1
string (35)
required
|
Address line typically used for building information but not limited to house name, number, floor, unit and block number. |
|
addressLine2
string (35)
|
Address line typically used for street information such as street number and name. |
|
addressLine3
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine4
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine5
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
contactName
string (35)
|
Main contact name for the address. |
|
city
string (35)
required
|
Client’s city. |
|
state
string (3)
|
3 digit identifier for the client’s state/region. Refer to API Data Mapping documentation for possible values. |
|
country
string (3)
required
|
The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries. Refer to API Data Mapping documentation for possible values. |
|
postCode
string (20)
required
|
Client’s postcode. |
|
poBox
string (10)
|
P.O. Box details. |
|
telephone1
string (15)
|
Primary address fixed line number, for example, a client’s home or business telephone number. |
|
telephone2
string (15)
|
Secondary address fixed line number for example a secondary business telephone number. |
|
faxWork
string (15)
|
Office fax number. |
|
addressLanguage
string (3)
|
3-digit identifier for the client language associated with the address. Refer to API Data Mapping documentation for possible values. |
|
deliveryMethod
string (3)
|
3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided. Refer to API Data Mapping documentation for possible values. |
|
emailAddress
string (60)
|
Client’s e-mail address. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|
commercialClient
|
Relationship to the commercial client linked to the address. |
issContracts object
Name | Description | |
---|---|---|
contractCategory
string (3)
|
The contract category determines the type of hierarchy.
|
|
serviceContractId
string (3)
|
Indicates the service contract ID linked to the client contract. This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known. Refer to API Data Mapping documentation for possible values. |
|
parentClientNumber
string (8)
|
Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy. |
|
status
string (3)
|
Indicates the status of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientLevel
string (3)
required
|
Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:
|
|
effectiveDate
date
|
The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding. |
|
settlementMethod
string (3)
required
|
Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client. Refer to API Data Mapping documentation for possible values. |
|
postingMethod
string (3)
required
|
The tariff under which the client falls when posting to the clients account. Refer to API Data Mapping documentation for possible values. |
|
clientTariff
string (3)
required
|
Indicates the client tariff package assigned. Required only when onboarding a new client. |
|
chargeTierLevel
string (3)
|
Enables setting up of the same fee with different value high and value low triggers. Refer to API Data Mapping documentation for possible values. |
|
clientScheme
string (3)
|
Indicates the rebate tariff applicable for the contract. |
|
contractReference
string (8)
|
Cardholder contract document reference. |
|
bankReference
string (8)
|
External additional reference number of the cardholder with the bank. |
|
institutionAccountOfficer
string (3)
|
Officer in charge of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientBranch
string (3)
|
Contract application branch details. Related to the institutionAccountOfficer. Refer to API Data Mapping documentation for possible values. |
|
tierGroup
string (3)
|
An identifier used to group a set of rates that need to be applied during tiered pricing generation. Refer to API Data Mapping documentation for possible values. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
contractDefinition
|
An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId. |
|
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
parentContracts
|
If defining a cardholder that is part of a hierarchy below the GROUP level, the parent cardholder contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to rather a direct relationship to contractDefinition. |
issSettlementPackages object
Name | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accountCurrency
string (3)
|
The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
settlementCategory
string (3)
|
Settlement information category descriptor such as Payable or Receivable. Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
bankClearingNumber
string (8)
|
Information regarding the account’s bank details. |
|||||||||||||||||||||||||||
receiverCountryCode
string (3)
|
The country where the bank account information is located. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
payableDetails
object
|
|
|||||||||||||||||||||||||||
receivableDetails
object
|
|
|||||||||||||||||||||||||||
contingencyLiabilityAccount
string (11)
|
The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation. |
|||||||||||||||||||||||||||
correspondingBankAccount
string (16)
|
The NOSTRA/VOSTRO bank account of the affiliate institution. |
|||||||||||||||||||||||||||
correspondingBankNumber
string (35)
|
The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled. |
|||||||||||||||||||||||||||
recordDate
date
|
The record creation date in ISO8601 format. |
|||||||||||||||||||||||||||
Relationships | ||||||||||||||||||||||||||||
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|||||||||||||||||||||||||||
commercialClient
|
Commercial client who owns the settlement information. |
issAccounts object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
clientAccountName
string (35)
|
Cardholder account alias. |
|||||||
accountTypeId
string (3)
|
Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
accountNumberRbs
string (28)
|
External RBS account number reference. |
|||||||
statementGeneration
string (3)
|
Indicates the statement generation rule applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
statementType
string (3)
|
The type of statement applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
availabilityAmount
object
|
This is the calculated available amount for the account based on the account limit setup.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
accountDefinition
|
An optional relationship to the service definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes. |
|||||||
commercialClient
|
Relationship to the client resource if a commercial client. |
|||||||
contracts
required |
Link to the cardholder contract defined during contract creation. |
|||||||
settlementPackage
|
Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined. |
|||||||
accountLimits
|
Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
globalClientLimits
|
Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
balanceCycles
|
Cycle balances related to the account, includes past cycles and the current cycle. |
|||||||
cycleChangeInstructions
|
Billing cycle instructions linked to the account. |
limits object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
limitNumber
string (11)
|
BankWORKS 11-digit number identifying the limit. |
|||||||
limitLevel
string (3)
required
|
The limit level identifies the account level to which this limit pertains. Refer to API Data Mapping documentation for possible values. |
|||||||
effectiveDate
date-time
|
The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed. |
|||||||
expiryDate
date
required
|
The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate. |
|||||||
clientLimit
object
required
|
The amount of credit the limit provides.
|
|||||||
limitOverrideAmount
number
|
A calculated attribute that identifies the amount that the limit can be overriden. |
|||||||
limitOverridePercent
string (11)
|
A percentage, exceeding the limit, within which authorization approval is allowed. |
|||||||
cashLimitPercent
number
|
A percentage in which authorization approval for Cash transactions is allowed. |
|||||||
retailBalance
object
|
Retail balance amount.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
contracts
required |
Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
limitDefinition
required |
The limits definition for which this resource is created from. |
|||||||
parentLimits
|
Parent limit related to this resource. |
cards object
Name | Description | |
---|---|---|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
serviceId
string (3)
|
Indicates the card Service ID the card is based on. This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known. Refer to API Data Mapping documentation for possible values. |
|
Relationships | ||
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
cardServiceDefinitions
|
An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId. |
|
contracts
required |
Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|
poiSetting
|
The card information linked to the card POI (point of interaction) setting. |
Response
HTTP 201 (Created)
Response body will contain the result of the JSON PATCH operation for the following resources: cardholders issAddresses issContracts issSettlementPackages issAccounts limits cards
Single Request Non-Billing Simplified
This will onboard a standalone cardholder under non-billing level account via a single request for all the resources required.
The simplified use case is similar to the regular use case but uses attribute alternatives to a number of relationships. This approach may simplify smaller integrations as the resource IDs of the relationships do not need to be known.
This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.
The following resources are supported:
Resource | Description |
---|---|
cardholder (required) | This is the main resource to which everything is related to. This must be provided at the top-level. |
addresses (required) | The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource. |
contracts (required) | The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource. |
cards | The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
services | Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
settlementPackages | The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource. |
accounts (required) | Accounts can be defined at two different levels: 1. billing level - can be passed as an array and part of the respective settlementPackage resource 2. non-billing level - can be passed as an array and part of the contract resource |
accountLimits | Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource. |
For further details on the resources to be provided in the request, please refer to the individual requests in the cardholder onboarding via JSON Patch use case above.
In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.
In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.
Request
POST
{{gatewayHost}}/wsm/jsonapi/cardholderApplications
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
This request body contains of a numer of JSON Patch operations to perform bulk actions on the cardholders, issAddresses, issContracts, issSettlementPackages, issAccounts, limits and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.
cardholders object
Name | Description | |
---|---|---|
clientNumber
string (8)
|
8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined. |
|
rbsClientNumber
string (20)
|
External cardholder reference number. |
|
status
string (3)
|
Indicates the current status of the cardholder in BankWORKS. Refer to API Data Mapping documentation for possible values. |
|
idNumber
string (15)
required
|
The national ID card number. |
|
title
string (3)
required
|
Cardholder’s salutation. Refer to API Data Mapping documentation for possible values. |
|
firstName
string (15)
required
|
First name of the cardholder. |
|
lastName
string (26)
required
|
Last name of the cardholder. |
|
gender
string (3)
required
|
Gender of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
birthDate
date
required
|
Date of birth in ISO 8601 format |
|
birthPlace
string (15)
|
Cardholder’s place of birth. |
|
birthName
string (20)
|
Cardholder’s birth name. |
|
shortName
string (26)
required
|
Cardholder’s short name. |
|
mobile1
string (15)
|
Primary mobile phone number. |
|
mobile2
string (15)
|
Secondary mobile phone number. |
|
fathersName
string (20)
|
Name of cardholder’s father. |
|
language
string (3)
required
|
Cardholder’s language. Refer to API Data Mapping documentation for possible values. |
|
nationality
string (3)
required
|
Nationality of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
residenceStatus
string (3)
required
|
Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident. Refer to API Data Mapping documentation for possible values. |
|
residenceStatusDate
date
|
The date in ISO 8601 format relating to the client’s current residence state. |
|
residenceType
string (3)
required
|
Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown. Refer to API Data Mapping documentation for possible values. |
|
maritalStatus
string (3)
|
Cardholder’s marital status. Refer to API Data Mapping documentation for possible values. |
|
maritalStatusDate
date
|
Date in ISO 8601 format of last change in marital status. |
|
passportNumber
string (15)
|
The cardholder’s national passport number. |
|
drivingLicenseNumber
string (15)
|
The cardholder’s national driving license number. |
|
employerName
string (35)
|
Cardholder’s employment company or individual. |
|
employmentDate
date
|
Applicant’s date of employment in ISO 8601 format. |
|
employmentPosition
string (3)
required
|
Cardholder’s current employment position. Refer to API Data Mapping documentation for possible values. |
|
employmentStatus
string (3)
required
|
Cardholder’s current employment status. Refer to API Data Mapping documentation for possible values. |
|
employmentExtraInfo
string (3)
|
May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly). |
|
incomeAmount
number (18)
|
Income amount of applicant. |
|
incomeRange
string (3)
required
|
Income range of applicant. Refer to API Data Mapping documentation for possible values. |
|
processingRegion
string (3)
|
Defines the processing region of the cardholder. Used for transaction processing. Refer to API Data Mapping documentation for possible values. |
|
mastercardABU
string
|
Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status. Refer to API Data Mapping documentation for possible values. Sample values:
|
|
recordDate
date
|
The record creation date. |
|
Relationships |
issAddresses object
Name | Description | |
---|---|---|
addressCategory
string (3)
required
|
The address category identifier for the returned client address resource are the following but not limited to:
A client must have at least one standard (001). Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed. |
|
expiryDate
date
|
The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future. |
|
addressLine1
string (35)
required
|
Address line typically used for building information but not limited to house name, number, floor, unit and block number. |
|
addressLine2
string (35)
|
Address line typically used for street information such as street number and name. |
|
addressLine3
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine4
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine5
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
contactName
string (35)
|
Main contact name for the address. |
|
city
string (35)
required
|
Client’s city. |
|
state
string (3)
|
3 digit identifier for the client’s state/region. Refer to API Data Mapping documentation for possible values. |
|
country
string (3)
required
|
The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries. Refer to API Data Mapping documentation for possible values. |
|
postCode
string (20)
required
|
Client’s postcode. |
|
poBox
string (10)
|
P.O. Box details. |
|
telephone1
string (15)
|
Primary address fixed line number, for example, a client’s home or business telephone number. |
|
telephone2
string (15)
|
Secondary address fixed line number for example a secondary business telephone number. |
|
faxWork
string (15)
|
Office fax number. |
|
addressLanguage
string (3)
|
3-digit identifier for the client language associated with the address. Refer to API Data Mapping documentation for possible values. |
|
deliveryMethod
string (3)
|
3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided. Refer to API Data Mapping documentation for possible values. |
|
emailAddress
string (60)
|
Client’s e-mail address. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|
commercialClient
|
Relationship to the commercial client linked to the address. |
issContracts object
Name | Description | |
---|---|---|
contractCategory
string (3)
|
The contract category determines the type of hierarchy.
|
|
serviceContractId
string (3)
|
Indicates the service contract ID linked to the client contract. This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known. Refer to API Data Mapping documentation for possible values. |
|
parentClientNumber
string (8)
|
Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy. |
|
status
string (3)
|
Indicates the status of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientLevel
string (3)
required
|
Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:
|
|
effectiveDate
date
|
The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding. |
|
settlementMethod
string (3)
required
|
Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client. Refer to API Data Mapping documentation for possible values. |
|
postingMethod
string (3)
required
|
The tariff under which the client falls when posting to the clients account. Refer to API Data Mapping documentation for possible values. |
|
clientTariff
string (3)
required
|
Indicates the client tariff package assigned. Required only when onboarding a new client. |
|
chargeTierLevel
string (3)
|
Enables setting up of the same fee with different value high and value low triggers. Refer to API Data Mapping documentation for possible values. |
|
clientScheme
string (3)
|
Indicates the rebate tariff applicable for the contract. |
|
contractReference
string (8)
|
Cardholder contract document reference. |
|
bankReference
string (8)
|
External additional reference number of the cardholder with the bank. |
|
institutionAccountOfficer
string (3)
|
Officer in charge of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientBranch
string (3)
|
Contract application branch details. Related to the institutionAccountOfficer. Refer to API Data Mapping documentation for possible values. |
|
tierGroup
string (3)
|
An identifier used to group a set of rates that need to be applied during tiered pricing generation. Refer to API Data Mapping documentation for possible values. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
contractDefinition
|
An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId. |
|
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
parentContracts
|
If defining a cardholder that is part of a hierarchy below the GROUP level, the parent cardholder contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to rather a direct relationship to contractDefinition. |
issSettlementPackages object
Name | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accountCurrency
string (3)
|
The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
settlementCategory
string (3)
|
Settlement information category descriptor such as Payable or Receivable. Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
bankClearingNumber
string (8)
|
Information regarding the account’s bank details. |
|||||||||||||||||||||||||||
receiverCountryCode
string (3)
|
The country where the bank account information is located. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
payableDetails
object
|
|
|||||||||||||||||||||||||||
receivableDetails
object
|
|
|||||||||||||||||||||||||||
contingencyLiabilityAccount
string (11)
|
The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation. |
|||||||||||||||||||||||||||
correspondingBankAccount
string (16)
|
The NOSTRA/VOSTRO bank account of the affiliate institution. |
|||||||||||||||||||||||||||
correspondingBankNumber
string (35)
|
The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled. |
|||||||||||||||||||||||||||
recordDate
date
|
The record creation date in ISO8601 format. |
|||||||||||||||||||||||||||
Relationships | ||||||||||||||||||||||||||||
cardholder
required |
Link to the cardholder resource ID previously defined in the cardholder resource creation stage. |
|||||||||||||||||||||||||||
commercialClient
|
Commercial client who owns the settlement information. |
issAccounts object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
clientAccountName
string (35)
|
Cardholder account alias. |
|||||||
accountTypeId
string (3)
|
Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
accountNumberRbs
string (28)
|
External RBS account number reference. |
|||||||
statementGeneration
string (3)
|
Indicates the statement generation rule applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
statementType
string (3)
|
The type of statement applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
availabilityAmount
object
|
This is the calculated available amount for the account based on the account limit setup.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
accountDefinition
|
An optional relationship to the service definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes. |
|||||||
commercialClient
|
Relationship to the client resource if a commercial client. |
|||||||
contracts
required |
Link to the cardholder contract defined during contract creation. |
|||||||
settlementPackage
|
Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined. |
|||||||
accountLimits
|
Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
globalClientLimits
|
Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
balanceCycles
|
Cycle balances related to the account, includes past cycles and the current cycle. |
|||||||
cycleChangeInstructions
|
Billing cycle instructions linked to the account. |
limits object
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
limitNumber
string (11)
|
BankWORKS 11-digit number identifying the limit. |
|||||||
limitLevel
string (3)
required
|
The limit level identifies the account level to which this limit pertains. Refer to API Data Mapping documentation for possible values. |
|||||||
effectiveDate
date-time
|
The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed. |
|||||||
expiryDate
date
required
|
The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate. |
|||||||
clientLimit
object
required
|
The amount of credit the limit provides.
|
|||||||
limitOverrideAmount
number
|
A calculated attribute that identifies the amount that the limit can be overriden. |
|||||||
limitOverridePercent
string (11)
|
A percentage, exceeding the limit, within which authorization approval is allowed. |
|||||||
cashLimitPercent
number
|
A percentage in which authorization approval for Cash transactions is allowed. |
|||||||
retailBalance
object
|
Retail balance amount.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
contracts
required |
Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
limitDefinition
required |
The limits definition for which this resource is created from. |
|||||||
parentLimits
|
Parent limit related to this resource. |
cards object
Name | Description | |
---|---|---|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
serviceId
string (3)
|
Indicates the card Service ID the card is based on. This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known. Refer to API Data Mapping documentation for possible values. |
|
Relationships | ||
commercialClient
|
Relationship to the client resource if a commercial contract. |
|
cardServiceDefinitions
|
An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId. |
|
contracts
required |
Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|
poiSetting
|
The card information linked to the card POI (point of interaction) setting. |
Response
HTTP 201 (Created)
Response body will contain the result of the JSON PATCH operation for the following resources: cardholders issAddresses issContracts issSettlementPackages issAccounts limits cards
Miscellaneous Batch Input
This resource represents Miscellaneous transactions i.e. adjustments manually entered in BankWorks. This is composed of miscellaenousBatches (batch) and its indivividual transactions (miscellaneousBatchSlips). Requests are sequentially placed from creation of batch to individual slips and down to Approving the miscellaneous batch and slips for processing. Delete, Get, and Patch requests (except for item 3) are optional in case some changes are needed.
1. Add New Batch
Creation of miscellaneous batch for the related transaction slips entry.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type miscellaneousBatches with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
numberOriginalSlip
string (11)
|
Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip. |
|||||||
totalBatchAmount
object
|
If it is 0, the totalBatchAmount can be calculated by calculating the Sum of transactionAmountGross values provided in the slips. This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch. In order to calculate this amount the following need to be considered: -Transaction amount of the individual slips -Transaction type of each slip. The transaction type determines the respective DR/CR indicator. To determine if a transaction is a debit or credit AT DESTINATION, the BWT_BATCH_TRANSACTIONS entry will need to be checked with the equivalent in BWT_BATCH_TRANSACTIONS in order to retrieve the DESTINATION_SIGN. The first character of the DESTINATION_SIGN field indicates whether the transaction will be a C (Credit) or D (Debit) at destination. -Finally once the amount is converted to the destination sign. The REVERSAL_FLAG value must be considered. A credit (plus) to the merchant account that is reversed (REVERSAL_FLAG = 001) results in a debit to the merchant account (minus) and vice versa. Alternatively, if provided, the totalBatchAmount Value must match with the Sum of the slip amounts provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’. Total Batch Amount currency, indicates the currency of the batch. Any transactions linked to the batch must match with this batch currency.
|
|||||||
numberOfSlips
number
|
If not provided, the number of slips can be calculated on the number of individual transaction slips provided in the slips list.This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch. Alternatively, if provided, the numberOfSlips value should match with the count of slips provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’ |
|||||||
Relationships |
Response
HTTP 202 (Accepted)
Response body will contain the created JSON:API resource of type miscellaneousBatches .
1.1 Get Batches
Returns a batches and related transactions (miscellaneousBatchSlips).
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/?include=transactions,transactions.issAccount
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Parameters
include | transactions,transactions.issAccount |
---|
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type miscellaneousBatches with transactions,transactions.issAccountas included resources.
1.2 Update or Cancelled Batch
This to update other batch attributes or cancellation of batch for unprocessed transactions.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/{{miscellaneousBatchId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type miscellaneousBatches with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
numberOriginalSlip
string (11)
|
Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip. |
|||||||
processingStatus
string (3)
|
The processing status indicates the current state of the batch. A batch initially has an Entered (007) status. The batch can be set to Cancelled (017). However, the batch or transactions related to this batch can still be modified or add a new transactions. Then the batch can be set to Approved (008) for processing. Once a batch of transactions is successfully processed, the processingStatus will indicate a value of Loaded (005). |
|||||||
totalBatchAmount
object
|
If it is 0, the totalBatchAmount can be calculated by calculating the Sum of transactionAmountGross values provided in the slips. This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch. In order to calculate this amount the following need to be considered: -Transaction amount of the individual slips -Transaction type of each slip. The transaction type determines the respective DR/CR indicator. To determine if a transaction is a debit or credit AT DESTINATION, the BWT_BATCH_TRANSACTIONS entry will need to be checked with the equivalent in BWT_BATCH_TRANSACTIONS in order to retrieve the DESTINATION_SIGN. The first character of the DESTINATION_SIGN field indicates whether the transaction will be a C (Credit) or D (Debit) at destination. -Finally once the amount is converted to the destination sign. The REVERSAL_FLAG value must be considered. A credit (plus) to the merchant account that is reversed (REVERSAL_FLAG = 001) results in a debit to the merchant account (minus) and vice versa. Alternatively, if provided, the totalBatchAmount Value must match with the Sum of the slip amounts provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’. Total Batch Amount currency, indicates the currency of the batch. Any transactions linked to the batch must match with this batch currency.
|
|||||||
numberOfSlips
number
|
If not provided, the number of slips can be calculated on the number of individual transaction slips provided in the slips list.This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch. Alternatively, if provided, the numberOfSlips value should match with the count of slips provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’ |
|||||||
Relationships |
Response
HTTP 202 (Accepted)
Response body will contain the updated JSON:API resource of type miscellaneousBatches .
1.3 Delete Batch
Deletion of batch for unprocessed transactions.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/{{miscellaneousBatchId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Response
HTTP 500 (Internal Server Error)
Response body will contain the deleted JSON:API resource of type miscellaneousBatches .
2. Add New Batch Slip via Account
Creation of individual transaction slips that will compose the related batch.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type miscellaneousBatchSlips with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
numberOriginalSlip
string (11)
|
Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip. |
|||||||
transactionType
string (3)
required
|
Type of transaction i.e. Miscellaneous Debit (950), Miscellaneous Credit (951), etc. |
|||||||
transactionCategory
string (3)
required
|
This value is used to identify what category the transaction belongs to, e.g Charges & Fees, Adjustments, etc. |
|||||||
transactionDate
date-only
|
Date of the transaction. Must be less than or equal to the current posting date. |
|||||||
valueDate
date-only
|
The date from when action can be taken upon a transaction. |
|||||||
reversalFlag
string (3)
|
Indicator used to identify if the transaction is reversed or not. Defaulted to 000 (No). |
|||||||
cardAlias
string
|
A numeric combination used to mask card number. This attribute is used only to retrieve the alias of card number and cannot be used for post or patch. |
|||||||
cardNumber
string
|
Card number used for the individual transaction. This should only be used for adding or modifying a transaction. Upon resource retrieval, cardAlias is being displayed instead of the clear card number. |
|||||||
transactionAmountGross
object
required
|
The amount of the individual transaction. Must be greater than 0 and the currency value must match with the batch currency!
|
|||||||
narrative
string (30)
|
Free text reference. If not provided default to the transactionType TEXTUAL description. |
|||||||
Relationships | ||||||||
batch
required |
A transaction must always be linked to a batch. Note, transaction can only be linked to a batch if changes are allowed, i.e processing status either Entered (007) or Error (003). |
|||||||
issAccount
required |
A transaction must either be linked to this account or via cardNumber. |
Response
HTTP 202 (Accepted)
Response body will contain the created JSON:API resource of type miscellaneousBatchSlips .
2. Add New Batch Slip via Card number
Creation of individual transaction slips that will compose the related batch.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type miscellaneousBatchSlips with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
numberOriginalSlip
string (11)
|
Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip. |
|||||||
transactionType
string (3)
required
|
Type of transaction i.e. Miscellaneous Debit (950), Miscellaneous Credit (951), etc. |
|||||||
transactionCategory
string (3)
required
|
This value is used to identify what category the transaction belongs to, e.g Charges & Fees, Adjustments, etc. |
|||||||
transactionDate
date-only
|
Date of the transaction. Must be less than or equal to the current posting date. |
|||||||
valueDate
date-only
|
The date from when action can be taken upon a transaction. |
|||||||
reversalFlag
string (3)
|
Indicator used to identify if the transaction is reversed or not. Defaulted to 000 (No). |
|||||||
cardAlias
string
|
A numeric combination used to mask card number. This attribute is used only to retrieve the alias of card number and cannot be used for post or patch. |
|||||||
cardNumber
string
|
Card number used for the individual transaction. This should only be used for adding or modifying a transaction. Upon resource retrieval, cardAlias is being displayed instead of the clear card number. |
|||||||
transactionAmountGross
object
required
|
The amount of the individual transaction. Must be greater than 0 and the currency value must match with the batch currency!
|
|||||||
narrative
string (30)
|
Free text reference. If not provided default to the transactionType TEXTUAL description. |
|||||||
Relationships | ||||||||
batch
required |
A transaction must always be linked to a batch. Note, transaction can only be linked to a batch if changes are allowed, i.e processing status either Entered (007) or Error (003). |
|||||||
issAccount
required |
A transaction must either be linked to this account or via cardNumber. |
Response
HTTP 202 (Accepted)
Response body will contain the created JSON:API resource of type miscellaneousBatchSlips .
2.1 Get Batch Slips
Retrieval of a specified individual batch slip including the batch (/miscellaneousBatches) and related account (/issAccounts).
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips?include=batch,issAccount&filter[batch.transactionSlip]=22700000117
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Parameters
include | batch,issAccount |
---|---|
filter[batch.transactionSlip] | 22700000117 |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type miscellaneousBatchSlips with batch,issAccountas included resources.
2.2 Update Batch Slip
Amendment of any batch slips entered which status is Entered (007), In Error (003) or Cancelled (017) only.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips/{{miscellaneousBatchSlipId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type miscellaneousBatchSlips with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
numberOriginalSlip
string (11)
|
Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip. |
|||||||
transactionType
string (3)
|
Type of transaction i.e. Miscellaneous Debit (950), Miscellaneous Credit (951), etc. |
|||||||
transactionCategory
string (3)
|
This value is used to identify what category the transaction belongs to, e.g Charges & Fees, Adjustments, etc. |
|||||||
transactionDate
date-only
|
Date of the transaction. Must be less than or equal to the current posting date. |
|||||||
valueDate
date-only
|
The date from when action can be taken upon a transaction. |
|||||||
reversalFlag
string (3)
|
Indicator used to identify if the transaction is reversed or not. Defaulted to 000 (No). |
|||||||
cardAlias
string
|
A numeric combination used to mask card number. This attribute is used only to retrieve the alias of card number and cannot be used for post or patch. |
|||||||
cardNumber
string
|
Card number used for the individual transaction. This should only be used for adding or modifying a transaction. Upon resource retrieval, cardAlias is being displayed instead of the clear card number. |
|||||||
transactionAmountGross
object
|
The amount of the individual transaction. Must be greater than 0 and the currency value must match with the batch currency!
|
|||||||
narrative
string (30)
|
Free text reference. If not provided default to the transactionType TEXTUAL description. |
|||||||
Relationships | ||||||||
issAccount
|
A transaction must either be linked to this account or via cardNumber. |
Response
HTTP 202 (Accepted)
Response body will contain the updated JSON:API resource of type miscellaneousBatchSlips .
2.3 Delete Batch Slip
Deletion of batch slips according to the qualified status.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips/{{miscellaneousBatchSlipId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Response
HTTP 500 (Internal Server Error)
Response body will contain the deleted JSON:API resource of type miscellaneousBatchSlips .
3. Approve Batch
Approving the batch by setting the processing status to Approved (008) to be sent to processing.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/{{miscellaneousBatchId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type with the following attributes:
Name | Description |
---|
Response
HTTP 202 (Accepted)
Response body will contain the updated JSON:API resource of type miscBatches .
Client Cards and Instructions
This collection contains sample use cases on card instructions ie. activation pin changes, and other card status changes.
Pre-produced Card activation flow
The card activation flow described here is applicable for pre-produced card activation such as gift cards which are available off the shelf. A tracking number used to identify the card would be required in order to identify the cardholder for further personilisation.
1. Activate using tracking number
Activate card by creating an activate card instruction and providing the trackingNumber value of the card. Following successful activation the cardAlias value will be returned as part of the response.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type cardInstructions with the following attributes:
Name | Description | |
---|---|---|
cardInstruction
string
required
|
Numeric value of the card instruction. Refer to BankWorks (API) Data Mapping documentation for possible values. |
|
description
string (20)
|
Textual description of the card instruction. |
|
cardAlias
string
|
Card alias used instead of the card number. |
|
trackingNumber
string
required
|
Unique number to identify the pre-generated cards. |
|
pinBlock
string
|
Encrypted PIN block. |
|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type cardInstructions .
2. Get cardholder account
Following successful activation of a card. The cardAlias value will be returned. This must be used to identify and perform actions on a card following card activation as the trackingNumber can only be used once. This step will return the account related to the card.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias={{cardAlias}}/accounts
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cards .
3. Update account RBS reference
Update a cardholder’s BankWORKS sub-account with the external RBS reference value (accountNumberRbs). The sub-account in question would be the BankWORKS sub-account related to the card (card - cardholderAccounts relationship).
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/{{accountId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type issAccounts with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
accountNumber
string (11)
|
BankWORKS 11-digit internal account number. Unique per institution. |
|||||||
clientAccountName
string (35)
|
Cardholder account alias. |
|||||||
accountTypeId
string (3)
|
Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
accountCurrency
string (3)
|
Indicates the currency of the account. The currency is represented in 3 letter SWIFT format such as EUR, USD etc. When defining new accounts, this attribute along with the accountTypeId can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
status
string (3)
|
The current status of the account such as one of the following:
Refer to API Data Mapping documentation for possible values. |
|||||||
accountNumberRbs
string (28)
|
External RBS account number reference. |
|||||||
billingCycle
string (3)
|
Indicates the billing cycle applicable for the account. Refer to API Data Mapping documentation for possible values. |
|||||||
billingLevel
string (3)
|
Indicates if the cardholder account holds settlement responsibilities for the related sub-hierarchy.
|
|||||||
statementGeneration
string (3)
|
Indicates the statement generation rule applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
statementType
string (3)
|
The type of statement applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
lastAccrualDateCredit
date
|
Last credit interest accrual date in ISO 8601 format. |
|||||||
lastAccrualDateDebit
date
|
Last debit interest accrual date in ISO 8601 format. |
|||||||
availabilityAmount
object
|
This is the calculated available amount for the account based on the account limit setup.
|
|||||||
lastFeeDate
date
|
Last account fee generation date in ISO 8601 format. |
|||||||
lastStatementDate
date
|
Last statement generation date in ISO 8601 format. |
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
accountDefinition
|
Relationship to the account definition resource. |
|||||||
cardholder
|
Relationship to the client resource if a private cardholder client. |
|||||||
commercialClient
|
Relationship to the client resource if a commercial client. |
|||||||
contracts
|
Client contract resources linked to this account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
settlementPackage
|
Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined. |
|||||||
accountFeeDefinitions
|
Account fees applicable for the cardholder account based on the client contract tariff assigned. Contract based account fees as well as individual client specific account fees overriding contract based fees are available. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
accountLimits
|
Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
globalClientLimits
|
Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
balanceCycles
|
Cycle balances related to the account, includes past cycles and the current cycle. |
|||||||
cycleChangeInstructions
|
Billing cycle instructions linked to the account. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type issAccounts .
Offline Pin Changes
Self-Select Pin Change
This is to give an instruction to bankWORKS to set a “010 - new PIN or update the offline PIN” of a card identified by the card alias.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type cardInstructions with the following attributes:
Name | Description | |
---|---|---|
cardInstruction
string
required
|
Numeric value of the card instruction. Refer to BankWorks (API) Data Mapping documentation for possible values. |
|
description
string (20)
|
Textual description of the card instruction. |
|
cardAlias
string
required
|
Card alias used instead of the card number. |
|
trackingNumber
string
|
Unique number to identify the pre-generated cards. |
|
pinBlock
string
required
|
Encrypted PIN block. |
|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
Response
Response body will contain the created JSON:API resource of type cardInstructions .
Card Status Changes
Set to Temporary Suspend
This is to give an instruction to bankWORKS to set to “003 - Temporary Suspend” the latest card status record of the card of the specified card alias.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type cardInstructions with the following attributes:
Name | Description | |
---|---|---|
cardInstruction
string
required
|
Numeric value of the card instruction. Refer to BankWorks (API) Data Mapping documentation for possible values. |
|
description
string (20)
|
Textual description of the card instruction. |
|
cardAlias
string
required
|
Card alias used instead of the card number. |
|
trackingNumber
string
|
Unique number to identify the pre-generated cards. |
|
pinBlock
string
|
Encrypted PIN block. |
|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type cardInstructions .
Set to Permanent Block
This is to give an instruction to bankWORKS to set to “004 - Permanent Block” the latest card status record of the card of the specified card alias.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type cardInstructions with the following attributes:
Name | Description | |
---|---|---|
cardInstruction
string
required
|
Numeric value of the card instruction. Refer to BankWorks (API) Data Mapping documentation for possible values. |
|
description
string (20)
|
Textual description of the card instruction. |
|
cardAlias
string
required
|
Card alias used instead of the card number. |
|
trackingNumber
string
|
Unique number to identify the pre-generated cards. |
|
pinBlock
string
|
Encrypted PIN block. |
|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
Response
Response body will contain the created JSON:API resource of type cardInstructions .
Set to Pickup Lost
This is to give an instruction to bankWORKS to set to “019 - Pickup Lost” the latest card status record of the card of the specified card alias.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type cardInstructions with the following attributes:
Name | Description | |
---|---|---|
cardInstruction
string
required
|
Numeric value of the card instruction. Refer to BankWorks (API) Data Mapping documentation for possible values. |
|
description
string (20)
|
Textual description of the card instruction. |
|
cardAlias
string
required
|
Card alias used instead of the card number. |
|
trackingNumber
string
|
Unique number to identify the pre-generated cards. |
|
pinBlock
string
|
Encrypted PIN block. |
|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type cardInstructions .
Set to Pickup Stolen
This is to give an instruction to bankWORKS to set to “020 - Pickup Stolen” the latest card status record of the card of the specified card alias.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type cardInstructions with the following attributes:
Name | Description | |
---|---|---|
cardInstruction
string
required
|
Numeric value of the card instruction. Refer to BankWorks (API) Data Mapping documentation for possible values. |
|
description
string (20)
|
Textual description of the card instruction. |
|
cardAlias
string
required
|
Card alias used instead of the card number. |
|
trackingNumber
string
|
Unique number to identify the pre-generated cards. |
|
pinBlock
string
|
Encrypted PIN block. |
|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
Response
HTTP 0 ()
Response body will contain the created JSON:API resource of type cardInstructions .
Manual Renewal
This is to give an instruction to bankWORKS to set to “008 - Manual Renewal” the latest card status record of the card of the specified card alias.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type cardInstructions with the following attributes:
Name | Description | |
---|---|---|
cardInstruction
string
required
|
Numeric value of the card instruction. Refer to BankWorks (API) Data Mapping documentation for possible values. |
|
description
string (20)
|
Textual description of the card instruction. |
|
cardAlias
string
required
|
Card alias used instead of the card number. |
|
trackingNumber
string
|
Unique number to identify the pre-generated cards. |
|
pinBlock
string
|
Encrypted PIN block. |
|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type cardInstructions .
Request for Replacement
This is to give an instruction to bankWORKS to do for a “009 - Replacement” for the latest card status record of the specified card alias.
bankWORKS will generate a new card number and new expiry date if the current expiry date is within the threshold.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type cardInstructions with the following attributes:
Name | Description | |
---|---|---|
cardInstruction
string
required
|
Numeric value of the card instruction. Refer to BankWorks (API) Data Mapping documentation for possible values. |
|
description
string (20)
|
Textual description of the card instruction. |
|
cardAlias
string
required
|
Card alias used instead of the card number. |
|
trackingNumber
string
|
Unique number to identify the pre-generated cards. |
|
pinBlock
string
|
Encrypted PIN block. |
|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
Response
HTTP 0 ()
Response body will contain the created JSON:API resource of type cardInstructions .
Request for Re-issue & Keep Active
This is to give an instruction to bankWORKS to do for a “016 - Card Reissue” for the latest card status record of the specified card alias.
bankWORKS will keep the existing card number, however it will generate a new expiry date if the current expiry date is within the threshold.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type cardInstructions with the following attributes:
Name | Description | |
---|---|---|
cardInstruction
string
required
|
Numeric value of the card instruction. Refer to BankWorks (API) Data Mapping documentation for possible values. |
|
description
string (20)
|
Textual description of the card instruction. |
|
cardAlias
string
required
|
Card alias used instead of the card number. |
|
trackingNumber
string
|
Unique number to identify the pre-generated cards. |
|
pinBlock
string
|
Encrypted PIN block. |
|
embossLine1
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
|
embossLine2
string (26)
|
Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. |
Response
HTTP 0 ()
Response body will contain the created JSON:API resource of type cardInstructions .
Get Cardholder's Cards
Request example to retrieve all cards belonging to a particular cardholder identified by the client number value.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client/cards
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
Get Client Card with related Accounts, Contract, and Installment Instructions : HTTP 200 (OK)
Get Cardholder's Cards : HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cards .
Get Cardholder Transactions
An example use case for getting the cardholder transactions associated with a specific card alias.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias=0009000021300006690410501/transactions?filter[cardholderTransactions][recordDate][GE]=2024-07-01&filter[cardholderTransactions][recordDate][LE]=2024-07-31
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[cardholderTransactions][recordDate][GE] | 2024-07-01 |
---|---|
filter[cardholderTransactions][recordDate][LE] | 2024-07-31 |
Response
HTTP 200 (OK)
Response body will contain the result of the JSON PATCH operation for the following resources: merchants addresses
Retrieve Sensitive Card Details
A request example showing how sensitive card properties, namely the exposed card number, CVV and card expiry date can be retrieved. Clients intending to use this resource MUST be PCI compliant. Card secure details can be retrieved one request at a time.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardDetailInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type cardDetailInstructions with the following attributes:
Name | Description | |
---|---|---|
cardAlias
string
required
|
Card alias used instead of the card number to retrieve data. |
|
cardDetailType
string
required
|
The attribute needed to be retrieved. Can be one of
|
Response
Retrieve Card Number : HTTP 201 (Created)
Retrieve Card CVV : HTTP 201 (Created)
Retrieve Card Expiry Date : HTTP 201 (Created)
Response body will contain the created JSON:API resource of type cardDetailInstructions .
Create an additional card service
This will create an additional card for an existing cardholder. The request requires an existing cardholder service contract and the card service definition for the card service to be added.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cards
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type cards with the following attributes:
Name | Description | |
---|---|---|
cardStatus
string (3)
|
Indicates the current card status. (For example: 000 (Inactive), 001 (Active), 004 (Permanent Block). Refer to API Data Mapping documentation for possible values. |
|
plasticType
string (3)
|
Identifies the type of plastic to be generated by the embosser. In the case of virtual card only, plastic type of 500 needs to be provided. Refer to API Data Mapping documentation for possible values. |
|
serviceId
string (3)
|
Indicates the card Service ID the card is based on. This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known. Refer to API Data Mapping documentation for possible values. |
|
Relationships | ||
cardServiceDefinitions
|
An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId. |
|
contracts
required |
Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
Response
Create an additional card service : HTTP 201 (Created)
Create an additional card service - short card alias : HTTP 201 (Created)
Response body will contain the created JSON:API resource of type cards .
Cards and Security Parameters
This section will serve as a guide on the use cases related to client cards. It involves retrieval of client cards, card service definitions, and card security parameters resources (please see individual use cases on Card Accumulator, Card Accumulator Definitions, and Velocity Parameters).
Card Accumulator
This section consists of use cases related to retrieving, adding, updating, and deleting Card Accumulator records. Please refer to individual use case for more information.
Get All Card Accumulators
This will retrieve all card accumulator records. Card, and card accumulator definitions are included in this request to check the related records.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulators
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
Response body will contain the requested JSON:API resource of type cardAccumulators .
Get Card Accumulator of a Card
This request will retrieve only one record using the resource ID provided in the URL request.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias=0000000007200000067848101/cardAccumulators
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardAccumulators .
Add Card Accumulator
This request will create a card accumulator threshold provided the card accumulator definition is passed via relationships.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulators
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type cardAccumulators with the following attributes:
Name | Description | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
accumulatorCurrency
string (3)
|
Currency reference for card accumulator checks.BWT_CURRENCY, Taken from cardAccumulatorDefinitions passed during POST. |
|||||||||||
effectiveDate
date
|
The date in ISO 8601 format when the card accumulator record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, this will be defaulted to posting date. |
|||||||||||
expiryDate
date
|
The card accumulator expiry date in ISO 8601 format. This is defaulted to 9999-12-31 if not provided. |
|||||||||||
dailyLimit
object
|
Daily limit attributes.
|
|||||||||||
windowLimit
object
|
Window limit attributes.
|
|||||||||||
usage
object
|
Card accumulator usage information
|
|||||||||||
lastAmendmentDate
date
|
Date in ISO 8601 format when the accumulator record was last modified. |
|||||||||||
minTransactionLimit
object
|
The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||||
maxTransactionLimit
object
|
The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||||
recordDate
date
|
Creation date of the card accumulator record. |
|||||||||||
Relationships | ||||||||||||
card
|
The card affected by the accumulator rule. |
|||||||||||
cardAccumulatorDefinitions
required |
The accumulator definition or business rule on which this accumulator record is based. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type cardAccumulators .
Modify Card Accumulator
Only future effective records are allowed to be modified. Please check effectiveDate attribute passed in URL request as part of the resource ID.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulators/{{cardAccumulatorId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type cardAccumulators with the following attributes:
Name | Description | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
accumulatorCurrency
string (3)
|
Currency reference for card accumulator checks.BWT_CURRENCY, Taken from cardAccumulatorDefinitions passed during POST. |
|||||||||||
effectiveDate
date
|
The date in ISO 8601 format when the card accumulator record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, this will be defaulted to posting date. |
|||||||||||
expiryDate
date
|
The card accumulator expiry date in ISO 8601 format. This is defaulted to 9999-12-31 if not provided. |
|||||||||||
dailyLimit
object
|
Daily limit attributes.
|
|||||||||||
windowLimit
object
|
Window limit attributes.
|
|||||||||||
usage
object
|
Card accumulator usage information
|
|||||||||||
lastAmendmentDate
date
|
Date in ISO 8601 format when the accumulator record was last modified. |
|||||||||||
minTransactionLimit
object
|
The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||||
maxTransactionLimit
object
|
The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||||
recordDate
date
|
Creation date of the card accumulator record. |
|||||||||||
Relationships | ||||||||||||
card
|
The card affected by the accumulator rule. |
|||||||||||
cardAccumulatorDefinitions
|
The accumulator definition or business rule on which this accumulator record is based. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type cardAccumulators .
Delete Card Accumulator
Only future effective records can be deleted. Please check effectiveDate attribute from resource ID combination.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulators/{{cardAccumulatorId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
Response body will contain the deleted JSON:API resource of type cardAccumulators .
Card Accumulator Definitions
This section consists of use cases related to retrieving, adding, updating, and deleting Card Accumulator Definitions records. Please refer to individual use case for more information.
Get All Card Accumulator Definitions
This will retrieve all card accumulator definition records.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulatorDefinitions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
include | cardAccumulators,cardServiceDefinitions |
---|
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardAccumulatorDefinitions with cardAccumulators,cardServiceDefinitionsas included resources.
Get One Card Accumulator Definition
This will retrieve one card accumulation definition record provided via resource ID from the URL. Relationships to card accumulators, card service definitions, velocity parameters, and contract definitions were also included.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulatorDefinitions/{{cardAccumulatorDefinitionId}}?include=cardAccumulators,cardServiceDefinitions,velocityParameters,contractDefinition
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
include | cardAccumulators,cardServiceDefinitions,velocityParameters,contractDefinition |
---|
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardAccumulatorDefinitions with cardAccumulators,cardServiceDefinitions,velocityParameters,contractDefinitionas included resources.
Add Card Accumulator Definitions
This will create a card accumulator definition to be used as a blueprint to create card accumulator for the cardholder. Required attributes and relationships must be provided.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulatorDefinitions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type cardAccumulatorDefinitions with the following attributes:
Name | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
parameterType
string (3)
|
Parameter type for this definition. Example: 001 (eComm + MoTo), 003 (ATM), 005 (Ctls-woPIN). Refer to API Data Mapping documentation for possible values. |
|||||||||
clientTariff
string (3)
|
The tariff assigned for the specific card type. Refer to API Data Mapping documentation for possible values. |
|||||||||
transactionType
string (3)
|
The transaction type for card limits and usages. Example: 005 (Purchase), 006 (Refund (Credit)), 009 (ATM cash Withdrawal) Refer to API Data Mapping documentation for possible values. |
|||||||||
effectiveDate
date
|
The date in ISO 8601 format when the card accumulator definition record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, this will be defaulted to posting date. |
|||||||||
dailyLimit
object
required
|
Daily limit attributes.
|
|||||||||
windowLimit
object
required
|
Window limit attributes.
|
|||||||||
minTransactionLimit
object
required
|
The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||
maxTransactionLimit
object
required
|
The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||
maxPinTries
number
required
|
The maximum limit allowed for PIN entry. |
|||||||||
processInstruction
string (3)
|
Can be (003) Express or (100) Standard Application. Defaulted to standard if not provided. Refer to API Data Mapping documentation for possible values. |
|||||||||
recordDate
date
|
The date in ISO 8601 format when the card accumulator definition record was created. |
|||||||||
Relationships | ||||||||||
cardAccumulators
|
The accumulator record for a specific card to which this definition is linked to. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||||
cardServiceDefinitions
required |
Card service definition related to this card parameter definition. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||||
contractDefinition
|
The service contract under which the card accumulator rule is grouped. |
|||||||||
velocityParameters
|
Related velocity parameters for which this setup is created. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type cardAccumulatorDefinitions .
Modify Card Accumulator Definition
Modification is only allowed for future effective records. Effective date can be found in resource ID combination passed in the URL for checking.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulatorDefinitions/{{cardAccumulatorDefinitionId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type cardAccumulatorDefinitions with the following attributes:
Name | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
parameterType
string (3)
|
Parameter type for this definition. Example: 001 (eComm + MoTo), 003 (ATM), 005 (Ctls-woPIN). Refer to API Data Mapping documentation for possible values. |
|||||||||
clientTariff
string (3)
|
The tariff assigned for the specific card type. Refer to API Data Mapping documentation for possible values. |
|||||||||
transactionType
string (3)
|
The transaction type for card limits and usages. Example: 005 (Purchase), 006 (Refund (Credit)), 009 (ATM cash Withdrawal) Refer to API Data Mapping documentation for possible values. |
|||||||||
effectiveDate
date
|
The date in ISO 8601 format when the card accumulator definition record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, this will be defaulted to posting date. |
|||||||||
dailyLimit
object
|
Daily limit attributes.
|
|||||||||
windowLimit
object
|
Window limit attributes.
|
|||||||||
minTransactionLimit
object
|
The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||
maxTransactionLimit
object
|
The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||
maxPinTries
number
|
The maximum limit allowed for PIN entry. |
|||||||||
processInstruction
string (3)
|
Can be (003) Express or (100) Standard Application. Defaulted to standard if not provided. Refer to API Data Mapping documentation for possible values. |
|||||||||
recordDate
date
|
The date in ISO 8601 format when the card accumulator definition record was created. |
|||||||||
Relationships | ||||||||||
cardAccumulators
|
The accumulator record for a specific card to which this definition is linked to. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||||
cardServiceDefinitions
|
Card service definition related to this card parameter definition. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||||
contractDefinition
|
The service contract under which the card accumulator rule is grouped. |
|||||||||
velocityParameters
|
Related velocity parameters for which this setup is created. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type cardAccumulatorDefinitions .
Delete Card Accumulator Definitions
Deletion is not allowed for future effective records. Effective date can be checked from the resource ID combination provided in the URL request.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulatorDefinitions/{{cardAccumulatorDefinitionId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
HTTP 201 (Created)
Response body will contain the deleted JSON:API resource of type cardAccumulatorDefinitions .
Card Service Definitions
This section consists of use cases related to retrieving, adding, updating, and deleting Card Service Definitions records. Please refer to individual use case for more information.
Get Multiple Card Service Definitions
Retrieve multiple card service definitions via filtered attributes.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardServiceDefinitions?sort=-effectiveDate&filter[serviceContractId]=050&filter[serviceId]=009&include=cards,cardAccumulatorDefinitions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
sort | -effectiveDate |
---|---|
filter[serviceContractId] | 050 |
filter[serviceId] | 009 |
include | cards,cardAccumulatorDefinitions |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardServiceDefinitions with cards,cardAccumulatorDefinitionsas included resources.
Get One Card Service Definition
Retrieve one card service definition via resource id combination provided in the sample URL.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardServiceDefinitions/serviceId=009&serviceContractId=003&cardBrand=068&cardOrganization=003&serviceType=001&effectiveDate=2020-07-01?include=cards,cardAccumulatorDefinitions,contractDefinition,velocityParameters
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
sort | -effectiveDate |
---|---|
filter[serviceContractId] | 050 |
filter[serviceId] | 009 |
include | cards,cardAccumulatorDefinitions,contractDefinition,velocityParameters |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardServiceDefinitions with cards,cardAccumulatorDefinitions,contractDefinition,velocityParametersas included resources.
Velocity Parameters
This section consists of use cases related to retrieving, adding, updating, and deleting Velocity Parameters records. Please refer to individual use case for more information.
Get All Velocity Parameters
This request will retrieve all velocity parameters.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/velocityParameters?include=cardServiceDefinitions,contractDefinition&sort=-effectiveDate
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
include | cardServiceDefinitions,contractDefinition |
---|---|
sort | -effectiveDate |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type velocityParameters with cardServiceDefinitions,contractDefinitionas included resources.
Add Velocity Parameter
This request will create a velocity parameter provided the required attributes and relationship is passed.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/velocityParameters
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type velocityParameters with the following attributes:
Name | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
velocityLevel
string (3)
|
Identifies the velocity profile level for the velocity rule. Refer to API Data Mapping documentation for possible values. |
|||||||||
countryGroup
string (3)
|
Identifies the country group ID of countries where card activity is blocked by the velocity parameter. Refer to API Data Mapping documentation for possible values. |
|||||||||
mccGroup
string (3)
|
Identifies the merchant category group blocked by the velocity parameter. Refer to API Data Mapping documentation for possible values. |
|||||||||
effectiveDate
date
|
The date in ISO 8601 format on which the velocity parameter becomes effective. If left empty, the current system date is assumed. |
|||||||||
expiryDate
date
|
The date in ISO 8601 format on which the velocity parameter is no longer effective. If left empty, the date 9999-12-31 is assumed. |
|||||||||
transactionType
string (3)
|
The transaction type to which the velocity parameter applies, eg. Purchase transaction. Transaction type may be set to ‘All’ in order to apply the accumulator rule to all transaction types available. Refer to API Data Mapping documentation for possible values. |
|||||||||
dailyLimit
object
required
|
Daily limit attributes.
|
|||||||||
windowLimit
object
required
|
Window limit attributes.
|
|||||||||
maxTransactionLimit
object
required
|
The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||
minTransactionLimit
object
required
|
The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||
maxTransLimitNotPresent
object
required
|
The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||
areaOfEvent
string (3)
|
Refer to API Data Mapping documentation for possible values. |
|||||||||
negativeResponse
string
required
|
Response code that will be retuned by the CommServer if the authorisation is declined. |
|||||||||
recordDateTime
date-time
|
Date when the accumulator check will be expired. Default to 31-12-9999 unless provided. |
|||||||||
Relationships | ||||||||||
cardServiceDefinitions
required |
Card service definitions related to this velocity parameters. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||||
contractDefinition
|
The contract definition linked to this velocity parameter. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type velocityParameters .
Modify Velocity Parameter
Only future effective records is allowed to be modified. Effective date can be checked by retrieving the resource via GET request or can be found in the resource id combination as well.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/velocityParameters/{{velocityParameterId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type velocityParameters with the following attributes:
Name | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
velocityLevel
string (3)
|
Identifies the velocity profile level for the velocity rule. Refer to API Data Mapping documentation for possible values. |
|||||||||
countryGroup
string (3)
|
Identifies the country group ID of countries where card activity is blocked by the velocity parameter. Refer to API Data Mapping documentation for possible values. |
|||||||||
mccGroup
string (3)
|
Identifies the merchant category group blocked by the velocity parameter. Refer to API Data Mapping documentation for possible values. |
|||||||||
effectiveDate
date
|
The date in ISO 8601 format on which the velocity parameter becomes effective. If left empty, the current system date is assumed. |
|||||||||
expiryDate
date
|
The date in ISO 8601 format on which the velocity parameter is no longer effective. If left empty, the date 9999-12-31 is assumed. |
|||||||||
transactionType
string (3)
|
The transaction type to which the velocity parameter applies, eg. Purchase transaction. Transaction type may be set to ‘All’ in order to apply the accumulator rule to all transaction types available. Refer to API Data Mapping documentation for possible values. |
|||||||||
dailyLimit
object
|
Daily limit attributes.
|
|||||||||
windowLimit
object
|
Window limit attributes.
|
|||||||||
maxTransactionLimit
object
|
The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||
minTransactionLimit
object
|
The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||
maxTransLimitNotPresent
object
|
The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.
|
|||||||||
areaOfEvent
string (3)
|
Refer to API Data Mapping documentation for possible values. |
|||||||||
negativeResponse
string
|
Response code that will be retuned by the CommServer if the authorisation is declined. |
|||||||||
recordDateTime
date-time
|
Date when the accumulator check will be expired. Default to 31-12-9999 unless provided. |
|||||||||
Relationships | ||||||||||
cardServiceDefinitions
|
Card service definitions related to this velocity parameters. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||||
contractDefinition
|
The contract definition linked to this velocity parameter. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type velocityParameters .
Delete Velocity Parameter
This will delete one record via resource ID provided. Only future effective records can be deleted.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/velocityParameters/{{velocityParameterId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
Response body will contain the deleted JSON:API resource of type velocityParameters .
Card POI Settings
The section provides use cases for controlling the card’s point of interaction settings. These settings are intended to provide cardholder controls on their cards. An example of a card setting is the disabling of eCommerce transactions on a card.
Retrieve Card POI Setting
This request will retrieve the card resource including its POI setting (if present). If there is no POI setting returned, then it must be initialized via POST request on /cardPoiSettings.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias=0000015197400153966401601/poiSetting
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardPoiSettings .
Retrieve Client Card via Service ID with POI setting
This request will retrieve the card resource ID including its POI setting (if present). If there is no POI setting returned, then it must be initialized via POST request on /cardPoiSettings.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/clientNumber=00151974/cards?filter[cardServiceDefinitions.serviceId]=850&fields=id&include=poiSetting
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[cardServiceDefinitions.serviceId] | 850 |
---|---|
fields | id |
include | poiSetting |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardPoiSettings with poiSettingas included resources.
Initiate Card POI setting
This request will initialize e-Commerce setting for the given card resource ID and should only be requested once per card in case there is no POI setting present. A setting (e.g. disableEcommerce) is optional and system it will default it to 000 (enabled) upon initialization.
For succeeding requests to enable/disable POI setting i.e. eCommerce, PATCH request on /cardPoiSettings should be used.
Card resource ID can be retrieved via the first GET request call of this section.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/cardPoiSettings
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type cardPoiSettings with the following attributes:
Name | Description | |
---|---|---|
disableEcommerce
string (3)
|
A flag indicating if card’s eCommerce transactions are blocked. Valid values:
|
|
disableContactless
string (3)
|
A flag indicating if card’s contactless transactions are blocked. Valid values:
|
|
disableSwipe
string (3)
|
A flag indicating if card’s swipe transactions are blocked. Valid values:
|
|
disableAtm
string (3)
|
A flag indicating if ATM withdrawals are blocked. Valid values:
|
|
suspendCardActivities
string (3)
|
A flag indicating if all card’s activities are blocked. Valid values:
|
|
allowedCountries
List
|
An array of countries provided in the ISO 3-letter format (ex: [“USA”,“MLT”,“ITA”]). If null or 999 value, all countries available will be allowed. If 000, all countries are blocked, meaning all transactions will be declined. The list of countries provided must be valid values. Please note: This feature does not override any existing Issuer Institution limitations such as velocity parameters. |
|
allowedMccGroups
List
|
An array of MCC groups provided in the BW index field format (ex: [“002”,“005”,“006”]). If null or 999 value, all available MCC groups will be allowed (see /mccGroupRangeDefinitions, the values provided must map with the isoBussClassGroup setup available, refer to Retrieve MCC Group Ranges use case). If 000, all MCC groups are blocked, meaning all transactions will be declined. The list of mcc group provided must be valid values. Please note: This feature does not override any existing Issuer Institution MCC restrictions. |
|
Relationships | ||
card
required |
The card resource for which this POI setting will be applied to. |
Response
Initiate Card POI setting - Successful : HTTP 201 (Created)
Initiate Card POI setting - Failure : HTTP 400 (Bad Request)
Response body will contain the created JSON:API resource of type cardPoiSettings .
Update Card POI Settings
This request will modify the POI setting e.g. enable/disable e-Commerce of a specified card via given card resource ID.
Card resource ID can be retrieved via the first GET request call of this section.
One or more flags must be submitted when sending a PATCH request.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/cardPoiSettings/cardAlias=0000015197400153966401601
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type cardPoiSettings with the following attributes:
Name | Description | |
---|---|---|
disableEcommerce
string (3)
|
A flag indicating if card’s eCommerce transactions are blocked. Valid values:
|
|
disableContactless
string (3)
|
A flag indicating if card’s contactless transactions are blocked. Valid values:
|
|
disableSwipe
string (3)
|
A flag indicating if card’s swipe transactions are blocked. Valid values:
|
|
disableAtm
string (3)
|
A flag indicating if ATM withdrawals are blocked. Valid values:
|
|
suspendCardActivities
string (3)
|
A flag indicating if all card’s activities are blocked. Valid values:
|
|
allowedCountries
List
|
An array of countries provided in the ISO 3-letter format (ex: [“USA”,“MLT”,“ITA”]). If null or 999 value, all countries available will be allowed. If 000, all countries are blocked, meaning all transactions will be declined. The list of countries provided must be valid values. Please note: This feature does not override any existing Issuer Institution limitations such as velocity parameters. |
|
allowedMccGroups
List
|
An array of MCC groups provided in the BW index field format (ex: [“002”,“005”,“006”]). If null or 999 value, all available MCC groups will be allowed (see /mccGroupRangeDefinitions, the values provided must map with the isoBussClassGroup setup available, refer to Retrieve MCC Group Ranges use case). If 000, all MCC groups are blocked, meaning all transactions will be declined. The list of mcc group provided must be valid values. Please note: This feature does not override any existing Issuer Institution MCC restrictions. |
|
Relationships |
Response
Update Card POI Settings - Successful : HTTP 200 (OK)
Update Card POI Settings - Failure : HTTP 400 (Bad Request)
Response body will contain the updated JSON:API resource of type cardPoiSettings .
MCC Group Ranges Definitions
Retrieve MCC Group Ranges
This request will retrieve the available MCC group ranges used by the online switch during the authorization process.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/mccGroupRangeDefinitions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardPoiSettings .
One Card with related Security Params
This request will retrieve one card record including the related card service definitions, card accumulators.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias=0009014547700110265870401?include=cardServiceDefinitions,cardAccumulators
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
include | cardServiceDefinitions,cardAccumulators |
---|
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cards with cardServiceDefinitions,cardAccumulatorsas included resources.
Cardholder Client Details
This collection contains sample use cases on cardholder details maintenance ie. updates on settlement information, addresses, and main details of the cardholder.
Settlement Information
Client settlement information would be required to settle accounts with the client. A client in BankWORKS may have up to 99 settlement packages defined.
Delete Settlement Package
Delete a client settlement information.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages/{{settlementPackagesId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
HTTP 204 (No Content)
Client Settlement Packages
Return the a particular client’s settlementPackages. This would apply to any client type that may have settlementPackages.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/{{settlementPackagesId}}/settlementPackages
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
HTTP 0 ()
Response body will contain the requested JSON:API resource of type issSettlementPackages .
Modify Settlement Package
This sample request can be used to modify settlement information of the client.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages/{{settlementPackagesId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issSettlementPackages with the following attributes:
Name | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accountCurrency
string (3)
|
The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
settlementCategory
string (3)
|
Settlement information category descriptor such as Payable or Receivable. Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
bankClearingNumber
string (8)
|
Information regarding the account’s bank details. |
|||||||||||||||||||||||||||
receiverCountryCode
string (3)
|
The country where the bank account information is located. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
payableDetails
object
|
|
|||||||||||||||||||||||||||
receivableDetails
object
|
|
|||||||||||||||||||||||||||
contingencyLiabilityAccount
string (11)
|
The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation. |
|||||||||||||||||||||||||||
correspondingBankAccount
string (16)
|
The NOSTRA/VOSTRO bank account of the affiliate institution. |
|||||||||||||||||||||||||||
correspondingBankNumber
string (35)
|
The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled. |
|||||||||||||||||||||||||||
Relationships | ||||||||||||||||||||||||||||
commercialClient
|
Commercial client who owns the settlement information. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type issSettlementPackages .
Create Settlement Package
Creating a new settlement package linked to an existing client. An individual client may have up to 99 different settlement packages defined. Only cardholders residing at billing point would require settlementPackages to be set up.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issSettlementPackages with the following attributes:
Name | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accountCurrency
string (3)
required
|
The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
settlementCategory
string (3)
|
Settlement information category descriptor such as Payable or Receivable. Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
bankClearingNumber
string (8)
|
Information regarding the account’s bank details. |
|||||||||||||||||||||||||||
receiverCountryCode
string (3)
|
The country where the bank account information is located. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
payableDetails
object
|
|
|||||||||||||||||||||||||||
receivableDetails
object
|
|
|||||||||||||||||||||||||||
contingencyLiabilityAccount
string (11)
|
The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation. |
|||||||||||||||||||||||||||
correspondingBankAccount
string (16)
|
The NOSTRA/VOSTRO bank account of the affiliate institution. |
|||||||||||||||||||||||||||
correspondingBankNumber
string (35)
|
The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled. |
|||||||||||||||||||||||||||
recordDate
date
|
The record creation date in ISO8601 format. |
|||||||||||||||||||||||||||
Relationships | ||||||||||||||||||||||||||||
cardholder
|
Cardholder who owns the settlement information. |
|||||||||||||||||||||||||||
commercialClient
|
Commercial client who owns the settlement information. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type issSettlementPackages .
Addresses
1. Get cardholder addresses
This call will retrieve the cardholder addresses. A cardholder may have one effective address per category. The effective date needs to be considered to identify what address currently applies.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client/addresses
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardholders .
2. Update cardholder address
Note that it is only possible to amend address records that are future effective. If you wish to amend a current effective address record, a new address resource must be created with the desired changes.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/clientNumber=00000002&addressCategory=022&effectiveDate=2020-05-01
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type issAddresses with the following attributes:
Name | Description | |
---|---|---|
expiryDate
date
|
The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future. |
|
addressLine1
string (35)
|
Address line typically used for building information but not limited to house name, number, floor, unit and block number. |
|
addressLine2
string (35)
|
Address line typically used for street information such as street number and name. |
|
addressLine3
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine4
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine5
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
contactName
string (35)
|
Main contact name for the address. |
|
city
string (35)
|
Client’s city. |
|
state
string (3)
|
3 digit identifier for the client’s state/region. Refer to API Data Mapping documentation for possible values. |
|
country
string (3)
|
The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries. Refer to API Data Mapping documentation for possible values. |
|
postCode
string (20)
|
Client’s postcode. |
|
poBox
string (10)
|
P.O. Box details. |
|
telephone1
string (15)
|
Primary address fixed line number, for example, a client’s home or business telephone number. |
|
telephone2
string (15)
|
Secondary address fixed line number for example a secondary business telephone number. |
|
faxWork
string (15)
|
Office fax number. |
|
addressLanguage
string (3)
|
3-digit identifier for the client language associated with the address. Refer to API Data Mapping documentation for possible values. |
|
deliveryMethod
string (3)
|
3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided. Refer to API Data Mapping documentation for possible values. |
|
emailAddress
string (60)
|
Client’s e-mail address. |
|
Relationships | ||
commercialClient
|
Relationship to the commercial client linked to the address. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type issAddresses .
2. Create cardholder address
Creation of a future effective address resource linked to cardholder.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type issAddresses with the following attributes:
Name | Description | |
---|---|---|
addressCategory
string (3)
required
|
The address category identifier for the returned client address resource are the following but not limited to:
A client must have at least one standard (001). Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed. |
|
expiryDate
date
|
The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future. |
|
addressLine1
string (35)
required
|
Address line typically used for building information but not limited to house name, number, floor, unit and block number. |
|
addressLine2
string (35)
|
Address line typically used for street information such as street number and name. |
|
addressLine3
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine4
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine5
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
contactName
string (35)
|
Main contact name for the address. |
|
city
string (35)
required
|
Client’s city. |
|
state
string (3)
|
3 digit identifier for the client’s state/region. Refer to API Data Mapping documentation for possible values. |
|
country
string (3)
required
|
The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries. Refer to API Data Mapping documentation for possible values. |
|
postCode
string (20)
required
|
Client’s postcode. |
|
poBox
string (10)
|
P.O. Box details. |
|
telephone1
string (15)
|
Primary address fixed line number, for example, a client’s home or business telephone number. |
|
telephone2
string (15)
|
Secondary address fixed line number for example a secondary business telephone number. |
|
faxWork
string (15)
|
Office fax number. |
|
addressLanguage
string (3)
|
3-digit identifier for the client language associated with the address. Refer to API Data Mapping documentation for possible values. |
|
deliveryMethod
string (3)
|
3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided. Refer to API Data Mapping documentation for possible values. |
|
emailAddress
string (60)
|
Client’s e-mail address. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
cardholder
|
Relationship to the cardholder linked to the address. |
|
commercialClient
|
Relationship to the commercial client linked to the address. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type issAddresses .
3. Delete cardholder address
Deletion is only possible for future effective address resources.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/clientNumber=00000002&addressCategory=022&effectiveDate=2020-05-01
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Response
Response body will contain the deleted JSON:API resource of type issAddresses .
Get Cardholder (by Card Alias)
Request example to return a cardholder identified through a card owned by the cardholder using the cardAlias value.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias={{cardAlias}}/cardholder
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cards .
Get Cardholder (by id Number)
An example request that will return the cardholder related information based on the National Identity Card details. It is possible to filter by any other available attribute as well.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders?filter[idNumber]=64564
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Parameters
filter[idNumber] | 64564 |
---|
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type cardholders .
Update Cardholder Details
Request example showing modification a variety of cardholder attributes. Please refer to the attributes listing for more information on what is amendable.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type cardholders with the following attributes:
Name | Description | |
---|---|---|
rbsClientNumber
string (20)
|
External cardholder reference number. |
|
status
string (3)
|
Indicates the current status of the cardholder in BankWORKS. Refer to API Data Mapping documentation for possible values. |
|
idNumber
string (15)
|
The national ID card number. |
|
title
string (3)
|
Cardholder’s salutation. Refer to API Data Mapping documentation for possible values. |
|
firstName
string (15)
|
First name of the cardholder. |
|
lastName
string (26)
|
Last name of the cardholder. |
|
gender
string (3)
|
Gender of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
birthDate
date
|
Date of birth in ISO 8601 format |
|
birthPlace
string (15)
|
Cardholder’s place of birth. |
|
birthName
string (20)
|
Cardholder’s birth name. |
|
shortName
string (26)
|
Cardholder’s short name. |
|
mobile1
string (15)
|
Primary mobile phone number. |
|
mobile2
string (15)
|
Secondary mobile phone number. |
|
fathersName
string (20)
|
Name of cardholder’s father. |
|
language
string (3)
|
Cardholder’s language. Refer to API Data Mapping documentation for possible values. |
|
nationality
string (3)
|
Nationality of the cardholder. Refer to API Data Mapping documentation for possible values. |
|
residenceStatus
string (3)
|
Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident. Refer to API Data Mapping documentation for possible values. |
|
residenceStatusDate
date
|
The date in ISO 8601 format relating to the client’s current residence state. |
|
residenceType
string (3)
|
Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown. Refer to API Data Mapping documentation for possible values. |
|
maritalStatus
string (3)
|
Cardholder’s marital status. Refer to API Data Mapping documentation for possible values. |
|
maritalStatusDate
date
|
Date in ISO 8601 format of last change in marital status. |
|
passportNumber
string (15)
|
The cardholder’s national passport number. |
|
drivingLicenseNumber
string (15)
|
The cardholder’s national driving license number. |
|
employerName
string (35)
|
Cardholder’s employment company or individual. |
|
employmentDate
date
|
Applicant’s date of employment in ISO 8601 format. |
|
employmentPosition
string (3)
|
Cardholder’s current employment position. Refer to API Data Mapping documentation for possible values. |
|
employmentStatus
string (3)
|
Cardholder’s current employment status. Refer to API Data Mapping documentation for possible values. |
|
employmentExtraInfo
string (3)
|
May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly). |
|
incomeAmount
number (18)
|
Income amount of applicant. |
|
incomeRange
string (3)
|
Income range of applicant. Refer to API Data Mapping documentation for possible values. |
|
processingRegion
string (3)
|
Defines the processing region of the cardholder. Used for transaction processing. Refer to API Data Mapping documentation for possible values. |
|
mastercardABU
string
|
Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status. Refer to API Data Mapping documentation for possible values. Sample values:
|
|
Relationships |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type cardholders .
Commercial Client Details
This collection contains sample use cases on commercial client details maintenance ie. updates on settlement package and addresses of the commercial client.
Commercial Settlement Packages
Get Commercial Settlement Packages
An example use case for getting the commercial settlement packages.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/commercialClients/{{commercialClientId}}/settlementPackages
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
HTTP 200 (OK)
Modify Commercial Settlement Package
This sample request can be used to modify settlement package of the commercial client.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages/clientNumber=90000299&settlementNumber=01
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issSettlementPackages with the following attributes:
Name | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accountCurrency
string (3)
|
The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
settlementCategory
string (3)
|
Settlement information category descriptor such as Payable or Receivable. Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
bankClearingNumber
string (8)
|
Information regarding the account’s bank details. |
|||||||||||||||||||||||||||
receiverCountryCode
string (3)
|
The country where the bank account information is located. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
payableDetails
object
|
|
|||||||||||||||||||||||||||
receivableDetails
object
|
|
|||||||||||||||||||||||||||
contingencyLiabilityAccount
string (11)
|
The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation. |
|||||||||||||||||||||||||||
correspondingBankAccount
string (16)
|
The NOSTRA/VOSTRO bank account of the affiliate institution. |
|||||||||||||||||||||||||||
correspondingBankNumber
string (35)
|
The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled. |
|||||||||||||||||||||||||||
Relationships | ||||||||||||||||||||||||||||
commercialClient
|
Commercial client who owns the settlement information. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type issSettlementPackages .
Create Commercial Settlement Package
Creating a new settlement package linked to an existing client. An individual client may have up to 99 different settlement packages defined. Only cardholders residing at billing point would require settlementPackages to be set up.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issSettlementPackages with the following attributes:
Name | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accountCurrency
string (3)
required
|
The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
settlementCategory
string (3)
|
Settlement information category descriptor such as Payable or Receivable. Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
bankClearingNumber
string (8)
|
Information regarding the account’s bank details. |
|||||||||||||||||||||||||||
receiverCountryCode
string (3)
|
The country where the bank account information is located. In cases where value consists of 3 digits:
Refer to API Data Mapping documentation for possible values. |
|||||||||||||||||||||||||||
payableDetails
object
|
|
|||||||||||||||||||||||||||
receivableDetails
object
|
|
|||||||||||||||||||||||||||
contingencyLiabilityAccount
string (11)
|
The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation. |
|||||||||||||||||||||||||||
correspondingBankAccount
string (16)
|
The NOSTRA/VOSTRO bank account of the affiliate institution. |
|||||||||||||||||||||||||||
correspondingBankNumber
string (35)
|
The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled. |
|||||||||||||||||||||||||||
recordDate
date
|
The record creation date in ISO8601 format. |
|||||||||||||||||||||||||||
Relationships | ||||||||||||||||||||||||||||
cardholder
|
Cardholder who owns the settlement information. |
|||||||||||||||||||||||||||
commercialClient
|
Commercial client who owns the settlement information. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type issSettlementPackages .
Delete Commercial Settlement Package
Delete a commercial settlement package.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages/{{settlementPackagesId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
Commercial Addresses
Get Commercial Addresses
An example use case for getting the commercial client addresses.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/commercialClients/{{commercialClientId}}/addresses?sort=addressCategory,-effectiveDate
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
sort | addressCategory,-effectiveDate |
---|
Response
HTTP 200 (OK)
Update Commercial Address
Note that it is only possible to amend address records that are future effective. If you wish to amend a current effective address record, a new address resource must be created with the desired changes.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/clientNumber=90000299&addressCategory=001&effectiveDate=2024-11-30
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type issAddresses with the following attributes:
Name | Description | |
---|---|---|
expiryDate
date
|
The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future. |
|
addressLine1
string (35)
|
Address line typically used for building information but not limited to house name, number, floor, unit and block number. |
|
addressLine2
string (35)
|
Address line typically used for street information such as street number and name. |
|
addressLine3
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine4
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine5
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
contactName
string (35)
|
Main contact name for the address. |
|
city
string (35)
|
Client’s city. |
|
state
string (3)
|
3 digit identifier for the client’s state/region. Refer to API Data Mapping documentation for possible values. |
|
country
string (3)
|
The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries. Refer to API Data Mapping documentation for possible values. |
|
postCode
string (20)
|
Client’s postcode. |
|
poBox
string (10)
|
P.O. Box details. |
|
telephone1
string (15)
|
Primary address fixed line number, for example, a client’s home or business telephone number. |
|
telephone2
string (15)
|
Secondary address fixed line number for example a secondary business telephone number. |
|
faxWork
string (15)
|
Office fax number. |
|
addressLanguage
string (3)
|
3-digit identifier for the client language associated with the address. Refer to API Data Mapping documentation for possible values. |
|
deliveryMethod
string (3)
|
3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided. Refer to API Data Mapping documentation for possible values. |
|
emailAddress
string (60)
|
Client’s e-mail address. |
|
Relationships | ||
commercialClient
|
Relationship to the commercial client linked to the address. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type issAddresses .
Create Commercial Address
Creation of a future effective address resource linked to commercial client.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type issAddresses with the following attributes:
Name | Description | |
---|---|---|
addressCategory
string (3)
required
|
The address category identifier for the returned client address resource are the following but not limited to:
A client must have at least one standard (001). Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed. |
|
expiryDate
date
|
The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future. |
|
addressLine1
string (35)
required
|
Address line typically used for building information but not limited to house name, number, floor, unit and block number. |
|
addressLine2
string (35)
|
Address line typically used for street information such as street number and name. |
|
addressLine3
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine4
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
addressLine5
string (35)
|
Extra address properties that might be required and are not catered for by the attributes available. |
|
contactName
string (35)
|
Main contact name for the address. |
|
city
string (35)
required
|
Client’s city. |
|
state
string (3)
|
3 digit identifier for the client’s state/region. Refer to API Data Mapping documentation for possible values. |
|
country
string (3)
required
|
The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries. Refer to API Data Mapping documentation for possible values. |
|
postCode
string (20)
required
|
Client’s postcode. |
|
poBox
string (10)
|
P.O. Box details. |
|
telephone1
string (15)
|
Primary address fixed line number, for example, a client’s home or business telephone number. |
|
telephone2
string (15)
|
Secondary address fixed line number for example a secondary business telephone number. |
|
faxWork
string (15)
|
Office fax number. |
|
addressLanguage
string (3)
|
3-digit identifier for the client language associated with the address. Refer to API Data Mapping documentation for possible values. |
|
deliveryMethod
string (3)
|
3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided. Refer to API Data Mapping documentation for possible values. |
|
emailAddress
string (60)
|
Client’s e-mail address. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
cardholder
|
Relationship to the cardholder linked to the address. |
|
commercialClient
|
Relationship to the commercial client linked to the address. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type issAddresses .
Delete Commercial Address
Deletion is only possible for future effective address resources.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/clientNumber=00000002&addressCategory=022&effectiveDate=2020-05-01
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Response
Response body will contain the deleted JSON:API resource of type issAddresses .
Get Commercial Client (by VAT number)
An example use case for getting the commercial client filtered by VAT number.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/commercialClients/?filter[vatRegistrationNumber]=2515199984
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[vatRegistrationNumber] | 2515199984 |
---|
Response
HTTP 200 (OK)
Get Commercial Client Contracts
An example use case to retrieve the commercial client contracts. The request sorts by effectiveDate in descending order. This may include future dated contract modifications. Additional filtering on the effectiveDate may be employed if necessary.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/commercialClients/{{commercialClientId}}/contracts?sort=-effectiveDate
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
sort | -effectiveDate |
---|
Response
HTTP 200 (OK)
Get Commercial Member Clients
Example request to retrieve a list of cardholders by the parent client number. This can be used for instance in two level hierarchies to retrieve the list of member clients.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders?filter[contracts.parentClientNumber]=00111121&fields[cardholders]=clientNumber,status,title,firstName,lastName&sort=clientNumber
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[contracts.parentClientNumber] | 00111121 |
---|---|
fields[cardholders] | clientNumber,status,title,firstName,lastName |
sort | clientNumber |
Response
HTTP 200 (OK)
Cardholder Transactions
This collection includes sample use cases for cardholder transactions by card or account.
Get Card Transactions
An example use case for getting the cardholder transactions associated with a specific card alias.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias=0009000021300006690410501/transactions?filter[cardholderTransactions][recordDate][GE]=2024-07-01&filter[cardholderTransactions][recordDate][LE]=2024-07-31
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[cardholderTransactions][recordDate][GE] | 2024-07-01 |
---|---|
filter[cardholderTransactions][recordDate][LE] | 2024-07-31 |
Response
Get Card Transactions - Null data : HTTP 200 (OK)
Get Card Transactions - Successful : HTTP 200 (OK)
Response body will contain the result of the JSON PATCH operation for the following resources: merchants addresses
Get Account Transactions
An example use case for getting the cardholder transactions associated with a specific account.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/accountNumber=90000213001/transactions?filter[cardholderTransactions][recordDate][GE]=2024-07-01&filter[cardholderTransactions][recordDate][LE]=2024-07-31
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[cardholderTransactions][recordDate][GE] | 2024-07-01 |
---|---|
filter[cardholderTransactions][recordDate][LE] | 2024-07-31 |
Response
Get Account Transactions - Null data : HTTP 200 (OK)
Get Account Transactions - Successful : HTTP 200 (OK)
Response body will contain the result of the JSON PATCH operation for the following resources: merchants addresses
Client Contracts
In BankWORKS, a client contract represents a service contract assignment to a cardholder or other clients that can be assigned service contracts, such as brokers. This results in the contract being assigned a groupNumber indicating the hierarchy group. Each contract modification has an effectiveDate property indicating when that record becomes effective from a processing point of view.
Delete Contract
Delete a client contract. Deletion is only supported for future effective contracts, having an effective date greater than the current posting date.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/issContracts/clientNumber=10050000&groupNumber=00000001&effectiveDate=2020-04-01&clientLevel=001
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
HTTP 204 (No Content)
Client Contracts
A request to retrieve client contracts. In this request example, additional filtering has been applied to filter by effectiveDate to be less or equal than the current date. The result is also being sorted by groupNumber and effectiveDate in descending order. This will result in the latest and current effetive contract being returned first, followed by a list of historical versions of the contract organised by reverse chronoligical order.
There can be cases where the future effective contract amendments would also be desired. In this case the filtering criteria can be amended as necessary. It is also possible to filter further using other attributes and also relationship based filtering if desired.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client/contracts?filter[effectiveDate][LE]=2020-04-01&sort=groupNumber,-effectiveDate
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[effectiveDate][LE] | 2020-04-01 |
---|---|
sort | groupNumber,-effectiveDate |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type issContracts .
Modify Contract Record
New contract records can be defined in order to ‘modify’ an existing client contract. Client contracts have an effectiveDate property which indicates the applicable contract setup for a given day (by retrieving the current effective contract). BankWORKS allows direct modification of client contracts only in specific scenarios, this covered in a separate PATCH request below.
The POST request can be sent whenever a client contract is effective in the past and needs to be modified by creating either: - a new contract record to be effective immediately (effectiveDate set to the current posting date). This can be done in cases the current effective contract is a past entry. - a new contract record to be future effective. This modifications to be set in the future which will be effective on a particular date
Note: Should the current effective contract record have an effectiveDate value that is equal to the current posting date, a PATCH request needs to be sent.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/issContracts/clientNumber=10050000&groupNumber=00000001&effectiveDate=2020-04-01&clientLevel=001
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issContracts with the following attributes:
Name | Description | |
---|---|---|
contractCategory
string (3)
|
The contract category determines the type of hierarchy.
|
|
serviceContractId
string (3)
|
Indicates the service contract ID linked to the client contract. This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known. Refer to API Data Mapping documentation for possible values. |
|
parentClientNumber
string (8)
|
Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy. |
|
status
string (3)
|
Indicates the status of the client contract. Refer to API Data Mapping documentation for possible values. |
|
settlementMethod
string (3)
|
Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client. Refer to API Data Mapping documentation for possible values. |
|
postingMethod
string (3)
|
The tariff under which the client falls when posting to the clients account. Refer to API Data Mapping documentation for possible values. |
|
clientTariff
string (3)
|
Indicates the client tariff package assigned. Required only when onboarding a new client. |
|
chargeTierLevel
string (3)
|
Enables setting up of the same fee with different value high and value low triggers. Refer to API Data Mapping documentation for possible values. |
|
clientScheme
string (3)
|
Indicates the rebate tariff applicable for the contract. |
|
contractReference
string (8)
|
Cardholder contract document reference. |
|
bankReference
string (8)
|
External additional reference number of the cardholder with the bank. |
|
institutionAccountOfficer
string (3)
|
Officer in charge of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientBranch
string (3)
|
Contract application branch details. Related to the institutionAccountOfficer. Refer to API Data Mapping documentation for possible values. |
|
tierGroup
string (3)
|
An identifier used to group a set of rates that need to be applied during tiered pricing generation. Refer to API Data Mapping documentation for possible values. |
|
Relationships | ||
contractDefinition
|
Relationship to the service contract definition resource. |
|
cardholder
|
Relationship to the client resource if a private cardholder contract. |
|
commercialClient
|
Relationship to the client resource if a commercial contract. |
Response
HTTP 0 ()
Response body will contain the updated JSON:API resource of type issContracts .
Create Contract Record
New contract records can be defined in order to ‘modify’ an existing client contract. Client contracts have an effectiveDate property which indicates the applicable contract setup for a given day (by retrieving the current effective contract). BankWORKS allows direct modification of client contracts only in specific scenarios, this covered in a separate PATCH request below.
The POST request can be sent whenever a client contract is effective in the past and needs to be modified by creating either:
- a new contract record to be effective immediately (effectiveDate set to the current posting date). This can be done in cases the current effective contract is a past entry.
- a new contract record to be future effective. This modifications to be set in the future which will be effective on a particular date
Note: Should the current effective contract record have an effectiveDate value that is equal to the current posting date, a PATCH request needs to be sent.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/issContracts
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issContracts with the following attributes:
Name | Description | |
---|---|---|
contractCategory
string (3)
|
The contract category determines the type of hierarchy.
|
|
serviceContractId
string (3)
|
Indicates the service contract ID linked to the client contract. This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known. Refer to API Data Mapping documentation for possible values. |
|
parentClientNumber
string (8)
|
Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy. |
|
status
string (3)
|
Indicates the status of the client contract. Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding. |
|
settlementMethod
string (3)
|
Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client. Refer to API Data Mapping documentation for possible values. |
|
postingMethod
string (3)
|
The tariff under which the client falls when posting to the clients account. Refer to API Data Mapping documentation for possible values. |
|
clientTariff
string (3)
|
Indicates the client tariff package assigned. Required only when onboarding a new client. |
|
chargeTierLevel
string (3)
|
Enables setting up of the same fee with different value high and value low triggers. Refer to API Data Mapping documentation for possible values. |
|
clientScheme
string (3)
|
Indicates the rebate tariff applicable for the contract. |
|
contractReference
string (8)
|
Cardholder contract document reference. |
|
bankReference
string (8)
|
External additional reference number of the cardholder with the bank. |
|
institutionAccountOfficer
string (3)
|
Officer in charge of the client contract. Refer to API Data Mapping documentation for possible values. |
|
clientBranch
string (3)
|
Contract application branch details. Related to the institutionAccountOfficer. Refer to API Data Mapping documentation for possible values. |
|
tierGroup
string (3)
|
An identifier used to group a set of rates that need to be applied during tiered pricing generation. Refer to API Data Mapping documentation for possible values. |
|
Relationships | ||
contractDefinition
|
An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId. |
|
cardholder
|
Relationship to the client resource if a private cardholder contract. |
|
commercialClient
|
Relationship to the client resource if a commercial contract. |
Response
Response body will contain the created JSON:API resource of type issContracts .
Onboard an Additional Contract
This will onboard an additional contract to an existing BankWorks cardholder specifying a valid client number in the request and the related attributes for the new contract.
If the client number entered does not exist in BankWorks, it will automatically onboard a new client provided the required attributes are present.
This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.
The following resources are supported:
Resource | Description |
---|---|
cardholder (required) | This is the main resource to which everything is related to. This must be provided at the top-level. The attribute clientNumber is required which represents an valid and existing BankWorks client number to which an additional contract is to be added. |
addresses (required) | The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource. |
contracts (required) | The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource. |
cards | The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
services | Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource. |
settlementPackages | The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource. |
accounts (required) | Accounts can be defined at two different levels: 1. billing level - can be passed as an array and part of the respective settlementPackage resource 2. non-billing level - can be passed as an array and part of the contract resource |
accountLimits | Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource. |
For further details on the resources to be provided in the request, please refer to the individual requests in the cardholder onboarding via JSON Patch use case above.
In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.
In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.
Request
POST
{{gatewayHost}}/wsm/jsonapi/cardholderApplications
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
Response
New contract - standalone cardholder : HTTP 201 (Created)
New contract - supplementary cardholder : HTTP 201 (Created)
Client Accounts
Client indicates any BankWORKS client-sub accounts such as, cardholder account, installments account, bonus account, etc. A client account is part of the client contract and must be based on an account definition.
This section covers a number of use cases including, client account retrieval, cycle change instructions and balance cycle records retrieval, and creation of account balance transfers and the related source and destination accounts involved. Refer to the individual use cases for more details.
Client Limits
This section contains use cases in order to perform various requests for limits including retrieval, creation, modification, and deletion of a record. Please see individual requests for more information.
In BankWORKS there are 2 levels of limits:
- Global Client Limit: A limit that is shared by all billing accounts of a client. Essentially, a client limit that works on top of the more granular account level.
- Account Limit: A limit associated with the account. BankWORKS supports 3 types of account level limits:
- Shared Limit: Single limit shared across all accounts in a cardholder hierarchy.
- Allocated Limits: Each account in a cardholder hierarchy would have an allocated limit per account.
- Group Shared (Joined Shared) Limits: Similar to shared limits, but works across various contract groups.
Get Account Limits
Retrieve the account limit associated with a particular account. Given that the limits have an effective date property it is important to note which resource applies by checking the effective date. In this example, the results are sorted by the limitNumber which identifies the limit as well as the effectiveDate in descending order to ensure that the latest limit update is shown on top. The effective date can be in the future.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/{{accountId}}/accountLimits?sort=limitNumber,-effectiveDate
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
sort | limitNumber,-effectiveDate |
---|
Response
HTTP 0 ()
Response body will contain the requested JSON:API resource of type limits .
Get Global Account Limits
Retrieve the global limit associated with a particular account, if availabe. Given that the limits have an effective date property it is important to note which resource applies by checking the effective date. In this example, the results are sorted by the limitNumber which identifies the limit as well as the effectiveDate in descending order to ensure that the latest limit update is shown on top. The effective date can be in the future.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/{{accountId}}/globalClientLimits?sort=limitNumber,-effectiveDate
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
sort | limitNumber,-effectiveDate |
---|
Response
HTTP 0 ()
Response body will contain the requested JSON:API resource of type limits .
Create New Account Limit
Define a new limit. POST can also be used to superseed an existing limit amount by creating a future effective limit record.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/limits
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type limits with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
limitNumber
string (11)
|
BankWORKS 11-digit number identifying the limit. |
|||||||
limitLevel
string (3)
required
|
The limit level identifies the account level to which this limit pertains. Refer to API Data Mapping documentation for possible values. |
|||||||
effectiveDate
date-time
|
The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed. |
|||||||
expiryDate
date
required
|
The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate. |
|||||||
clientLimit
object
|
The amount of credit the limit provides.
|
|||||||
limitOverrideAmount
number
|
A calculated attribute that identifies the amount that the limit can be overriden. |
|||||||
limitOverridePercent
string (11)
|
A percentage, exceeding the limit, within which authorization approval is allowed. |
|||||||
cashLimitPercent
number
|
A percentage in which authorization approval for Cash transactions is allowed. |
|||||||
retailBalance
object
|
Retail balance amount.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
accounts
|
BankWorks client account related to this resource. |
|||||||
contracts
required |
Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
limitDefinition
required |
The limits definition for which this resource is created from. |
|||||||
parentLimits
|
Parent limit related to this resource. |
Response
HTTP 0 ()
Response body will contain the created JSON:API resource of type limits .
Update Future Effective Limit
Only future effective limits are allowed to be modified.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/limits/limitNumber=90145584001&effectiveDate=2022-10-01T00:00
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Request Body
A JSON:API resource of type limits with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
limitNumber
string (11)
|
BankWORKS 11-digit number identifying the limit. |
|||||||
limitLevel
string (3)
|
The limit level identifies the account level to which this limit pertains. Refer to API Data Mapping documentation for possible values. |
|||||||
effectiveDate
date-time
|
The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed. |
|||||||
expiryDate
date
|
The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate. |
|||||||
clientLimit
object
|
The amount of credit the limit provides.
|
|||||||
limitOverrideAmount
number
|
A calculated attribute that identifies the amount that the limit can be overriden. |
|||||||
limitOverridePercent
string (11)
|
A percentage, exceeding the limit, within which authorization approval is allowed. |
|||||||
cashLimitPercent
number
|
A percentage in which authorization approval for Cash transactions is allowed. |
|||||||
retailBalance
object
|
Retail balance amount.
|
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
accounts
|
BankWorks client account related to this resource. |
|||||||
contracts
|
Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
limitDefinition
|
The limits definition for which this resource is created from. |
|||||||
parentLimits
|
Parent limit related to this resource. |
Response
HTTP 0 ()
Response body will contain the updated JSON:API resource of type limits .
Delete Future Effective Limit
Only future effective limits are allowed to be deleted.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/limits/limitNumber=90057376002&effectiveDate=2018-07-07T00:00
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Response
HTTP 204 (No Content)
Response body will contain the deleted JSON:API resource of type limits .
Get ParentLimits
This request will return the parent limit of the specified limit record.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/limits/limitNumber=90145613001&effectiveDate=2022-02-23T16:56:23/parentLimits
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Response
HTTP 0 ()
Response body will contain the requested JSON:API resource of type limits .
Cardholder Accounts
This request will retrieve all accounts related to the specified cardholder client number from the filter. This will also include the account definition related to this cardholder account limited to a few attributes that define the account type and currency.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client/accounts
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type issAccounts .
Cardholder Account Transactions
An example use case for getting the cardholder transactions associated with a specific account.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/accountNumber=90000213001/transactions?filter[cardholderTransactions][recordDate][GE]=2024-07-01&filter[cardholderTransactions][recordDate][LE]=2024-07-31
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[cardholderTransactions][recordDate][GE] | 2024-07-01 |
---|---|
filter[cardholderTransactions][recordDate][LE] | 2024-07-31 |
Response
HTTP 200 (OK)
Response body will contain the result of the JSON PATCH operation for the following resources: merchants addresses
Amend Cardholder Account
Example of account modification request. Refer to the attribute list for more information on the amendable attributes.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/{{accountId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type issAccounts with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
clientAccountName
string (35)
|
Cardholder account alias. |
|||||||
accountTypeId
string (3)
|
Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
status
string (3)
|
The current status of the account such as one of the following:
Refer to API Data Mapping documentation for possible values. |
|||||||
accountNumberRbs
string (28)
|
External RBS account number reference. |
|||||||
statementGeneration
string (3)
|
Indicates the statement generation rule applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
statementType
string (3)
|
The type of statement applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
availabilityAmount
object
|
This is the calculated available amount for the account based on the account limit setup.
|
|||||||
Relationships | ||||||||
accountDefinition
|
Relationship to the account definition resource. |
|||||||
commercialClient
|
Relationship to the client resource if a commercial client. |
|||||||
settlementPackage
|
Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined. |
|||||||
accountLimits
|
Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
globalClientLimits
|
Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
balanceCycles
|
Cycle balances related to the account, includes past cycles and the current cycle. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type issAccounts .
Get Current Account Cycle Book Balance
This will retrieve all balance cycle records related to the cardholder account. A filter was added in order to retrieve Current (004) processing status. Closed balance cycle records are indicated by processingStatus: 015.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/{{accountId}}/balanceCycles?filter[processingStatus]=004
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Parameters
filter[processingStatus] | 004 |
---|
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type balanceCycles .
Add Client Account
This request will add an account to an existing cardholder.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issAccounts with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
accountNumber
string (11)
|
BankWORKS 11-digit internal account number. Unique per institution. |
|||||||
clientAccountName
string (35)
|
Cardholder account alias. |
|||||||
accountTypeId
string (3)
|
Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
accountCurrency
string (3)
|
Indicates the currency of the account. The currency is represented in 3 letter SWIFT format such as EUR, USD etc. When defining new accounts, this attribute along with the accountTypeId can be supplied as an alternative to the accountDefinitions relationship. Refer to API Data Mapping documentation for possible values. |
|||||||
status
string (3)
|
The current status of the account such as one of the following:
Refer to API Data Mapping documentation for possible values. |
|||||||
accountNumberRbs
string (28)
|
External RBS account number reference. |
|||||||
billingCycle
string (3)
|
Indicates the billing cycle applicable for the account. Refer to API Data Mapping documentation for possible values. |
|||||||
billingLevel
string (3)
|
Indicates if the cardholder account holds settlement responsibilities for the related sub-hierarchy.
|
|||||||
statementGeneration
string (3)
|
Indicates the statement generation rule applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
statementType
string (3)
|
The type of statement applicable for this account. Refer to API Data Mapping documentation for possible values. |
|||||||
lastAccrualDateCredit
date
|
Last credit interest accrual date in ISO 8601 format. |
|||||||
lastAccrualDateDebit
date
|
Last debit interest accrual date in ISO 8601 format. |
|||||||
availabilityAmount
object
|
This is the calculated available amount for the account based on the account limit setup.
|
|||||||
lastFeeDate
date
|
Last account fee generation date in ISO 8601 format. |
|||||||
lastStatementDate
date
|
Last statement generation date in ISO 8601 format. |
|||||||
recordDate
date
|
The record creation date. |
|||||||
Relationships | ||||||||
accountDefinition
|
An optional relationship to the service definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes. |
|||||||
cardholder
|
Relationship to the client resource if a private cardholder client. |
|||||||
commercialClient
|
Relationship to the client resource if a commercial client. |
|||||||
contracts
required |
Client contract resources linked to this account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
settlementPackage
|
Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined. |
|||||||
accountFeeDefinitions
|
Account fees applicable for the cardholder account based on the client contract tariff assigned. Contract based account fees as well as individual client specific account fees overriding contract based fees are available. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
accountLimits
|
Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
globalClientLimits
|
Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data. |
|||||||
balanceCycles
|
Cycle balances related to the account, includes past cycles and the current cycle. |
|||||||
cycleChangeInstructions
|
Billing cycle instructions linked to the account. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type issAccounts .
Client Services
The services section covers the client service assignments. A BankWORKS client can be assigned any service as long as the service is part of the service contract (determined by the available client contract).
Delete Service
Delete a client service record. Deletion is only supported for future effective services.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/issServices/{{serviceId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
HTTP 204 (No Content)
Client Services
Retrieval of client services regardless of the serviceCategory value. In this example, filtering is being applied to the group (implying a single service contract). Also, additional filtering has been applied to filter by effectiveDate to be less or equal than the current date. The result is also being sorted by groupNumber and effectiveDate in descending order. This will result in the latest and current effetive service being returned first, followed by a list of historical versions of the client serivce organised in reverse chronoligical order.
There can be cases where the future effective client services would also be desired. In this case the filtering criteria can be amended as necessary.
Note: It is also possible to filter further using other attributes and also relationship based filtering if desired such as the serviceCategory.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/issServices?filter[clientNumber]={{serviceCardholderId}}&filter[groupNumber]={{serviceGroupId}}&filter[effectiveDate][LE]=2020-04-01&sort=groupNumber,serviceCategory,-effectiveDate
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[clientNumber] | {{serviceCardholderId}} |
---|---|
filter[groupNumber] | {{serviceGroupId}} |
filter[effectiveDate][LE] | 2020-04-01 |
sort | groupNumber,serviceCategory,-effectiveDate |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type issServices .
Create Service Record
New client service records can be defined in order to ‘modify’ an existing client service (service definition already assigned to cardholder contract) or else applying for a service entirely (new service definition). Client services have an effectiveDate property which indicates when the particular record is effective. BankWORKS allows direct modification of client contracts only in specific scenarios, this covered in a separate PATCH request below.
The POST request can be sent whenever a client service is effective in the past and needs to be modified by creating either:
- a new service record to be effective immediately (effectiveDate set to the current posting date). This can be done in case the current effective service is a past entry.
- a new service record to be future effective.
Note: Should the current effective service record have an effectiveDate value that is equal to the current posting date, a PATCH request needs to be sent.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/issServices
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issServices with the following attributes:
Name | Description | |
---|---|---|
status
string (3)
|
Indicates the current status of the client service. Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date in ISO 8601 format when the client service becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding. |
|
clientTariff
string (3)
|
Indicates the applicable transaction charge rules. Defaults to “000” if not provided. Applicable only to card based issuing services. For miscellaneous service tariff, refer to the contracts resource. Refer to API Data Mapping documentation for possible values. |
|
airMilesNumber
string
|
Airline loyalty program number. |
|
serviceNumber
string
|
||
recordDate
date
|
The record creation date in ISO8601 format. |
|
Relationships | ||
serviceDefinitions
required |
An optional relationship to the service definition resource. Mandatory If a value is not passed in serviceId. |
|
contracts
required |
Link to the client contract the service will be linked to. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type issServices .
Modify Service Record
Modification of a client service is allowed when the record is future dated or when the record to be modified is effective on the same posting date as the modification. In this request example, the status of service is being set to inactive.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/issServices/{{serviceId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issServices with the following attributes:
Name | Description | |
---|---|---|
status
string (3)
|
Indicates the current status of the client service. Refer to API Data Mapping documentation for possible values. |
|
clientTariff
string (3)
|
Indicates the applicable transaction charge rules. Defaults to “000” if not provided. Applicable only to card based issuing services. For miscellaneous service tariff, refer to the contracts resource. Refer to API Data Mapping documentation for possible values. |
|
airMilesNumber
string
|
Airline loyalty program number. |
|
serviceNumber
string
|
||
recordDate
date
|
The record creation date in ISO8601 format. |
|
Relationships |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type issServices .
Account Balance Transfer
Use cases in this section will be used to create, update, and delete sundry account balance transfers. This also includes retrieval of related source and destination accounts involved in the transaction.
Get Approved Balance Transfer Instructions
This request example returns all Approved (status 008) account balance instructions and includes the source and destination account resources. The account resources retruned are being limited to the accountNumber attribute only. It is possible to apply filtering as desired, which can include filtering on source or destination account.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/issAccountBalanceTransfers?filter[status][EQ]=008&include=sourceAccount,destinationAccount&fields[issAccounts]=accountNumber
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Parameters
filter[status][EQ] | 008 |
---|---|
include | sourceAccount,destinationAccount |
fields[issAccounts] | accountNumber |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type issAccountBalanceTransfers with sourceAccount,destinationAccountas included resources.
Create Account Balance Transfer
This request will create an account balance transfer. Source and destination accounts should be provided in the relationships.
Balance transfer instructions are not processed immediately. Refer to the status value to identify the processing status of the instruction.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/issAccountBalanceTransfers
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type issAccountBalanceTransfers with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
transferType
string (3)
required
|
Defines the type of transfer being effected. Examples may include: 403 (Redemption Cash), 404 (Redemption Air Miles), 416 (Redemption Qualifying Miles), 950 (Misc. DR transaction), 951 (Misc. CR transaction). Refer to API Data Mapping documentation for possible values. |
|||||||
transferAmount
object
required
|
The amount being transferred in the currency of the source account.
|
|||||||
transactionNarrative
string (100)
|
A free-text transaction description, up to 100 characters. |
|||||||
Relationships | ||||||||
sourceAccount
required |
Relationship linking the instruction to the source account. |
|||||||
destinationAccount
required |
Relationship linking the instruction to the destination account. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type issAccountBalanceTransfers .
Update Account Balance Transfer
Modification of an unprocessed instruction. Updates are not allowed for Completed (002) status.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/issAccountBalanceTransfers/transactionSlip=22700014799&sundryType=038&transferType=951
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type issAccountBalanceTransfers with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
transferType
string (3)
|
Defines the type of transfer being effected. Examples may include: 403 (Redemption Cash), 404 (Redemption Air Miles), 416 (Redemption Qualifying Miles), 950 (Misc. DR transaction), 951 (Misc. CR transaction). Refer to API Data Mapping documentation for possible values. |
|||||||
transferAmount
object
|
The amount being transferred in the currency of the source account.
|
|||||||
transactionNarrative
string (100)
|
A free-text transaction description, up to 100 characters. |
|||||||
Relationships | ||||||||
sourceAccount
|
Relationship linking the instruction to the source account. |
|||||||
destinationAccount
|
Relationship linking the instruction to the destination account. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type issAccountBalanceTransfers .
Delete Account Balance Transfer
Deletion of an unprocessed instruction. Deletion is not allowed for transfers which has been Completed (002).
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/issAccountBalanceTransfers/transactionSlip=22700014799&sundryType=038&transferType=951
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Response
HTTP 204 (No Content)
Response body will contain the deleted JSON:API resource of type issAccountBalanceTransfers .
Billing Cycle Changes
This section includes sample use cases to be used in retrieving, creating, updating (correcting or canceling), and deleting a billing cycle change instruction. Billing cycle definitions use case is there to retrieve all available billing cycle setup in BankWorks. Filters can be added in order to choose one billing cycle definition which the client account can switch to during the instruction creation.
All Billing Cycle Definitions
This request retrieves all billing cycle definitions.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleDefinitions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type billingCycleDefinitions .
Billing Cycle Instructions with Account
This request will retrieve the billing instruction/s for a specified account and will also return the account details.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleInstructions?include=issAccount,billingCycleDefinition
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Parameters
filter[issAccount.accountNumber] | 90116209002 |
---|---|
include | issAccount,billingCycleDefinition |
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type billingCycleInstructions with issAccount,billingCycleDefinitionas included resources.
Add a Billing Cycle Instruction
This request will create a billing cycle instruction. Required relationships must be provided. A relationship to billing cycle definition will serve as the new billing cycle the account will switch to.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type billingCycleInstructions with the following attributes:
Name | Description | |
---|---|---|
newBillingCycle
string (3)
|
Indicates the new billing cycle to be used following instruction execution. Refer to API Data Mapping documentation for possible values. |
|
newCycleStart
date
|
Indicates the next cycle starting date. |
|
newCycleEnd
date
|
Indicates the end date of the first billing cycle generated based on the newly selected billing cycle. |
|
originalBillingCycle
string (3)
|
Indicates the current billing cycle applied to the account. Once the instruction is successfully executed, the billing cycle will be updated to the newBillingCycle value. Refer to API Data Mapping documentation for possible values. |
|
originalCycleEnd
date
|
A date indicating the closure of the current active cycle. As part of the end of cycle processing, the billing cycle change instruction will be processed and the account billing cycle updated. |
|
status
string (3)
|
Indicates the current processing status of the instruction. Pending instructions have a status of (101 - Entered) and once processed will show a status of (102- Completed). One can also cancel an instruction provided the current status is not yet completed. Refer to API Data Mapping documentation for possible values. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
issAccount
|
An account for which the billing instruction applies to. |
|
billingCycleDefinition
required |
Billing cycle definition of the new billing cycle linked to this instruction. |
Response
Add a Billing Cycle Instruction : HTTP 202 (Accepted)
Only User-defined billing cycle allowed : HTTP 403 (Forbidden)
Response body will contain the created JSON:API resource of type billingCycleInstructions .
Correct a New Billing Cycle Instruction
This request will correct the new billing cycle from an existing instruction in case a mistake was made.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleInstructions/{{billingCycleInstructionId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type billingCycleInstructions with the following attributes:
Name | Description | |
---|---|---|
newBillingCycle
string (3)
|
Indicates the new billing cycle to be used following instruction execution. Refer to API Data Mapping documentation for possible values. |
|
newCycleStart
date
|
Indicates the next cycle starting date. |
|
newCycleEnd
date
|
Indicates the end date of the first billing cycle generated based on the newly selected billing cycle. |
|
originalBillingCycle
string (3)
|
Indicates the current billing cycle applied to the account. Once the instruction is successfully executed, the billing cycle will be updated to the newBillingCycle value. Refer to API Data Mapping documentation for possible values. |
|
originalCycleEnd
date
|
A date indicating the closure of the current active cycle. As part of the end of cycle processing, the billing cycle change instruction will be processed and the account billing cycle updated. |
|
status
string (3)
|
Indicates the current processing status of the instruction. Pending instructions have a status of (101 - Entered) and once processed will show a status of (102- Completed). One can also cancel an instruction provided the current status is not yet completed. Refer to API Data Mapping documentation for possible values. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
issAccount
|
An account for which the billing instruction applies to. |
|
billingCycleDefinition
required |
Billing cycle definition of the new billing cycle linked to this instruction. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type billingCycleInstructions .
Cancel Billing Cycle Instruction
This request will cancel the instruction (status 103) provided the current status is not yet Completed (102).
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleInstructions/{{billingCycleInstructionId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type billingCycleInstructions with the following attributes:
Name | Description | |
---|---|---|
newBillingCycle
string (3)
|
Indicates the new billing cycle to be used following instruction execution. Refer to API Data Mapping documentation for possible values. |
|
newCycleStart
date
|
Indicates the next cycle starting date. |
|
newCycleEnd
date
|
Indicates the end date of the first billing cycle generated based on the newly selected billing cycle. |
|
originalBillingCycle
string (3)
|
Indicates the current billing cycle applied to the account. Once the instruction is successfully executed, the billing cycle will be updated to the newBillingCycle value. Refer to API Data Mapping documentation for possible values. |
|
originalCycleEnd
date
|
A date indicating the closure of the current active cycle. As part of the end of cycle processing, the billing cycle change instruction will be processed and the account billing cycle updated. |
|
status
string (3)
required
|
Indicates the current processing status of the instruction. Pending instructions have a status of (101 - Entered) and once processed will show a status of (102- Completed). One can also cancel an instruction provided the current status is not yet completed. Refer to API Data Mapping documentation for possible values. |
|
recordDate
date
|
The record creation date. |
|
Relationships | ||
issAccount
|
An account for which the billing instruction applies to. |
|
billingCycleDefinition
|
Billing cycle definition of the new billing cycle linked to this instruction. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type billingCycleInstructions .
Delete Billing Cycle Instruction
Deletion is only allowed for Completed (102) instructions.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleInstructions/{{billingCycleInstructionId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Response
Response body will contain the deleted JSON:API resource of type billingCycleInstructions .
Installment Instructions
This section contains use cases in order to perform various requests for installment instructions including retrieval, creation, modification, and deletion of a record. Please see individual requests for more information.
All Installment Instructions
This request will retrieve all installment instructions.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/installmentInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
Response body will contain the requested JSON:API resource of type installmentInstructions .
One Instruction with relationships
This will retrieve one instruction record based on the resource id passed in the URL request.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/installmentInstructions/installmentSlip=14016403497?include=card,contracts.cardholder,sourceAccount,destinationAccount
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
include | card,contracts.cardholder,sourceAccount,destinationAccount |
---|
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type installmentInstructions with card,contracts.cardholder,sourceAccount,destinationAccountas included resources.
Add Installment Instruction
This will create an installment instruction provided no pending instruction was created or was not converted yet to installments for the given transactionSlip. A cardholder’s contract must be qualified ie. it has an Installments account and create-on-demand enabled for the instruction to be created. Minimum number of installments is 2.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/installmentInstructions
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type installmentInstructions with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
transactionSlip
string (11)
required
|
Slip reference of the original transaction to be converted to installments. Example: 00300011314 |
|||||||
transactionInformation
object
|
Information on the original transaction to be converted to installments.
|
|||||||
installmentAmount
object
|
Regular installment amount to be paid after initial payment or first installment. This can be provided on POST/PATCH request or automatically calculated.
|
|||||||
firstInstallmentAmount
object
|
Initial payment for the installment.
|
|||||||
lastInstallment
object
|
Calculated amount last installment payment dependent on initial and regular payments.
|
|||||||
loanAmount
object
|
Calculated amount for the transaction to be converted to installments with interest rate if applicable.
|
|||||||
interestPercent
number
|
Interest percentage of loan amount. |
|||||||
numberOfInstallments
string (3)
|
Number of installments including the first and last installment. Refer to API Data Mapping documentation for possible values. |
|||||||
status
string (3)
|
3-digit reference of the instruction status. One of 008 (Approved), 007 (Entered), 002 (Completed) Refer to API Data Mapping documentation for possible values. |
|||||||
merchantId
string (20)
|
Merchant number reference for which the transaction originated. This will be automatically populated for On-Us merchants. For non-OnUs merchant, ID will need to be provided on request. |
|||||||
merchantName
string
|
Descriptive name of the merchant for which the transaction occurred. |
|||||||
notes
string
|
Free-text note for the installment instruction. |
|||||||
recordDate
date
|
Date for when the instruction was created. |
|||||||
Relationships | ||||||||
card
|
Including this will provide card details for the installment instruction. |
|||||||
sourceAccount
|
This is the source account of the original transaction for which this instruction is created. |
|||||||
destinationAccount
|
This is the installment account for which the installment amounts will be transferred to. |
|||||||
contracts
|
The contract related to the instruction. |
Response
HTTP 201 (Created)
Response body will contain the created JSON:API resource of type installmentInstructions .
Modify a Pending Instruction
If current processing status is Completed (002), modification is not allowed.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/installmentInstructions/{{installmentInstructionId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type installmentInstructions with the following attributes:
Name | Description | |||||||
---|---|---|---|---|---|---|---|---|
transactionSlip
string (11)
|
Slip reference of the original transaction to be converted to installments. Example: 00300011314 |
|||||||
transactionInformation
object
|
Information on the original transaction to be converted to installments.
|
|||||||
installmentAmount
object
|
Regular installment amount to be paid after initial payment or first installment. This can be provided on POST/PATCH request or automatically calculated.
|
|||||||
firstInstallmentAmount
object
|
Initial payment for the installment.
|
|||||||
lastInstallment
object
|
Calculated amount last installment payment dependent on initial and regular payments.
|
|||||||
loanAmount
object
|
Calculated amount for the transaction to be converted to installments with interest rate if applicable.
|
|||||||
interestPercent
number
|
Interest percentage of loan amount. |
|||||||
numberOfInstallments
string (3)
|
Number of installments including the first and last installment. Refer to API Data Mapping documentation for possible values. |
|||||||
status
string (3)
|
3-digit reference of the instruction status. One of 008 (Approved), 007 (Entered), 002 (Completed) Refer to API Data Mapping documentation for possible values. |
|||||||
merchantId
string (20)
|
Merchant number reference for which the transaction originated. This will be automatically populated for On-Us merchants. For non-OnUs merchant, ID will need to be provided on request. |
|||||||
merchantName
string
|
Descriptive name of the merchant for which the transaction occurred. |
|||||||
notes
string
|
Free-text note for the installment instruction. |
|||||||
recordDate
date
|
Date for when the instruction was created. |
|||||||
Relationships | ||||||||
card
|
Including this will provide card details for the installment instruction. |
|||||||
sourceAccount
|
This is the source account of the original transaction for which this instruction is created. |
|||||||
destinationAccount
|
This is the installment account for which the installment amounts will be transferred to. |
|||||||
contracts
|
The contract related to the instruction. |
Response
HTTP 200 (OK)
Response body will contain the updated JSON:API resource of type installmentInstructions .
Delete an Instruction
Deletion is not allowed if current processing status of the instruction is already Completed (002).
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/installmentInstructions/{{installmentInstructionId}}
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Response
Response body will contain the deleted JSON:API resource of type installmentInstructions .
FX Rates
This section contains sample use cases for Currency Rates and Currency Rates Spreads which are used to maintain the BankWORKS FX rates and respective spread amounts.
Currency Rates
This section covers use cases for currency conversion rates API.
Get Currency Rates of a Specific Currency
This sample request retrieves a currency rate of a specified currency.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/currencyRates?filter[currency]=USD
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Parameters
filter[currency] | USD |
---|
Response
HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type currencyRates .
Add Currency Rates
This sample request will add a new record for currency rate conversion.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/currencyRates
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type currencyRates with the following attributes:
Name | Description | |
---|---|---|
currency
string (3)
required
|
The currency SWIFT code to which the rate information applies. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies. Refer to API Data Mapping documentation for possible values. |
|
baseCurrency
string (3)
|
Defines the currency in SWIFT code format to which all rates of the same category are expressed. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies. Refer to API Data Mapping documentation for possible values. |
|
fxRateCategory
string (3)
|
Description of FX rate provider. Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
|
The date and time in ISO 8601 format when the currency rate becomes effective, in conjunction with effectiveTime. If the effective date is not specified, then the current date + 1 at 00:00:00 is assumed. |
|
groupIdNo
string (11)
|
When a currency rate is effected through an API call the value of this field is all zeroes. When currency rates are uploaded through a batch file, the file number is inserted in this field. This enables the user to query all the currency rates pertaining to a particular file load. |
|
calculationBase
string (3)
|
Defines if the rate will be used as loaded, multiplied or divided. Refer to API Data Mapping documentation for possible values. |
|
rateFormula
string (3)
|
Defines how the middle rate is being expressed, Standard, Inverted. Refer to API Data Mapping documentation for possible values. |
|
middleRate
number
|
FX middle rate. Maximum allowed length (including decimal point) is 16. |
|
purchaseRate
number
|
FX buy rate. Maximum allowed length (including decimal point) is 16. |
|
salesRate
number
|
FX sell rate. Maximum allowed length (including decimal point) is 16. |
Response
HTTP 0 ()
Response body will contain the created JSON:API resource of type currencyRates .
Modify Currency Rates
This sample request will modify a currency rate conversion.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/currencyRates/currency=EUR&effectiveDate=2023-09-01T00:00&fxRateCategory=001
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type currencyRates with the following attributes:
Name | Description | |
---|---|---|
baseCurrency
string (3)
|
Defines the currency in SWIFT code format to which all rates of the same category are expressed. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies. Refer to API Data Mapping documentation for possible values. |
|
groupIdNo
string (11)
|
When a currency rate is effected through an API call the value of this field is all zeroes. When currency rates are uploaded through a batch file, the file number is inserted in this field. This enables the user to query all the currency rates pertaining to a particular file load. |
|
calculationBase
string (3)
|
Defines if the rate will be used as loaded, multiplied or divided. Refer to API Data Mapping documentation for possible values. |
|
rateFormula
string (3)
|
Defines how the middle rate is being expressed, Standard, Inverted. Refer to API Data Mapping documentation for possible values. |
|
middleRate
number
|
FX middle rate. Maximum allowed length (including decimal point) is 16. |
|
purchaseRate
number
|
FX buy rate. Maximum allowed length (including decimal point) is 16. |
|
salesRate
number
|
FX sell rate. Maximum allowed length (including decimal point) is 16. |
Response
HTTP 0 ()
Response body will contain the updated JSON:API resource of type currencyRates .
Delete Currency Rates
This sample request will delete a currency conversion entry.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/currencyRates/currency=EUR&effectiveDate=2023-09-01T00:00&fxRateCategory=001
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Response
HTTP 204 (No Content)
Response body will contain the deleted JSON:API resource of type currencyRates .
Currency Rate Spreads
This section covers the use cases for grouping of currency rates by FX categories.
Get Currency Rates Spread of a specified Currency
This request will return a curerncy rate spread for a specified currency.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/currencyRateSpreads?filter[currency]=USD
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Parameters
filter[currency] | USD |
---|
Response
HTTP 0 ()
Response body will contain the requested JSON:API resource of type currencyRateSpreads .
Add Currency Rates Spread
This request will add a record for currency rate spreads.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/currencyRateSpreads
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type currencyRateSpreads with the following attributes:
Name | Description | |
---|---|---|
currency
string (3)
required
|
The currency in SWIFT code format to which the rate information applies. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies. Refer to API Data Mapping documentation for possible values. |
|
baseCurrency
string (3)
|
Defines the currency in SWIFT code format to which all rates of the same category are expressed. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies. Refer to API Data Mapping documentation for possible values. |
|
fxRateCategory
string (3)
required
|
Description of FX rate provider eg. Own, VISA etc. Refer to API Data Mapping documentation for possible values. |
|
effectiveDate
date
required
|
The date in ISO 8601 format when the currency rate becomes effective. If an effective date is not provided, the current system date is assumed. |
|
percentFxSpread
string (3)
|
Defines whether percentage FX spread is applied for the particular FX rate category. Refer to API Data Mapping documentation for possible values. |
|
purchaseSpread
number
|
Value used to calculate purchase rate if spread is applied. Maximum allowed length (including decimal point) is 16. |
|
salesSpread
number
|
Value used to calculate sales rate if spread applied. Maximum allowed length (including decimal point) is 16. |
|
percentSalesSpread
number
|
Percentage used to calculate sales rate if spread applied. Field open only if percentage FX spread flag set to Yes - 001. Maximum allowed length (including decimal point) is 9. |
|
percentPurchaseSpread
number
|
Percentage used to calculate purchase rate if spread is applied. Only applicable if percentFXSpread flag is Yes - 001. Maximum allowed length (including decimal point) is 9. |
|
fluctuationThreshold
number
|
Tolerated fluctuation between the FX rate being input and the latest effective FX rate. maximum: 999999999 |
|
recordDate
date
|
The record creation date. |
Response
HTTP 0 ()
Response body will contain the created JSON:API resource of type currencyRateSpreads .
Modify Currency Rates Spreads
This request will modify a specific record of currency rate spreads.
Request
PATCH
https://wsmdemo.rs2.com/wsm/jsonapi/currencyRateSpreads/currency=EUR&effectiveDate=2022-04-01&fxRateCategory=001
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Request Body
A JSON:API resource of type currencyRateSpreads with the following attributes:
Name | Description | |
---|---|---|
baseCurrency
string (3)
|
Defines the currency in SWIFT code format to which all rates of the same category are expressed. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies. Refer to API Data Mapping documentation for possible values. |
|
percentFxSpread
string (3)
|
Defines whether percentage FX spread is applied for the particular FX rate category. Refer to API Data Mapping documentation for possible values. |
|
purchaseSpread
number
|
Value used to calculate purchase rate if spread is applied. Maximum allowed length (including decimal point) is 16. |
|
salesSpread
number
|
Value used to calculate sales rate if spread applied. Maximum allowed length (including decimal point) is 16. |
|
percentSalesSpread
number
|
Percentage used to calculate sales rate if spread applied. Field open only if percentage FX spread flag set to Yes - 001. Maximum allowed length (including decimal point) is 9. |
|
percentPurchaseSpread
number
|
Percentage used to calculate purchase rate if spread is applied. Only applicable if percentFXSpread flag is Yes - 001. Maximum allowed length (including decimal point) is 9. |
|
fluctuationThreshold
number
|
Tolerated fluctuation between the FX rate being input and the latest effective FX rate. maximum: 999999999 |
Response
HTTP 0 ()
Response body will contain the updated JSON:API resource of type currencyRateSpreads .
Delete Currency Rates Spreads
This request will delete a currency rate spread record.
Request
DELETE
https://wsmdemo.rs2.com/wsm/jsonapi/currencyRateSpreads/currency=EUR&effectiveDate=2022-04-01&fxRateCategory=001
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-compact | true |
Response
HTTP 204 (No Content)
Response body will contain the deleted JSON:API resource of type currencyRateSpreads .
Authorisations
This section contains a list of online authorization use cases that can be handled using the /authorisations API.
Get Auth. to Reverse
This request returns an authorisation identified by the retrievalReference value. Other filtering criteria such as transactionDate or other attributes may be used if desired. The attributes returned are a portion of those available as specified in the request URL.
Request
GET
https://wsmdemo.rs2.com/wsm/jsonapi/authorisations?filter[retrievalReference]=987932704509&fields=transactionStatus,transactionDate,amount,responseCode,authorisationCode,stan,retrievalReference,transmissionDate,messageTypeId
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Content-Type | application/vnd.api+json |
Accept | application/vnd.api+json |
Crnk-Compact | true |
Request Parameters
filter[retrievalReference] | 987932704509 |
---|---|
fields | transactionStatus,transactionDate,amount,responseCode,authorisationCode,stan,retrievalReference,transmissionDate,messageTypeId |
Response
Get Auth. to Reverse - Internal FT : HTTP 200 (OK)
Get Auth. to Reverse - External FT : HTTP 200 (OK)
Response body will contain the requested JSON:API resource of type authorisations .
Authorization Reversal
A reversal authorization can be sent to cancel (void)an authorisation that has not been cleared.
This request creates a new authorization to cancel out the original authorization by providing it in the originalAuth relationship field. Full amount reversals are supported. The reason for reversal must be provided. Refer to /authorisations resource documentation for a list of possible values.
Request
POST
https://wsmdemo.rs2.com/wsm/jsonapi/authorisations
Request Headers
Authorization | Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c |
---|---|
Accept | application/vnd.api+json |
Content-Type | application/vnd.api+json |
Crnk-Compact | true |
Request Body
A JSON:API resource of type authorisations with the following attributes:
Name | Description | |
---|---|---|
messageTypeId
string (4)
required
|
‘0420’ must be provided to indicate a reversal advice. |
|
transmissionDate
string
|
The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format. |
|
reasonCode
string (2)
required
|
2-digit ISO code value to indicate the reason code for reversal advice.
|
|
stan
string (6)
|
The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation. |
|
Relationships | ||
originalAuth
required |
Links an authorization to another authorization for specific scenarios such as reversal, where the reversal must cancel out an existing authorization. Refer to use cases for more specific information. |
Response
Reversal - Internal FT : HTTP 201 (Created)
Reversal - External FT : HTTP 201 (Created)
Response body will contain the created JSON:API resource of type authorisations .