Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

1. Overview

The product resource is used by an AISP to retrieve the account product information for a specific AccountId.

The products resource is used by an AISP to retrieve the products for all authorised accounts linked to a specific account-request.

This resource description should be read in conjunction with a compatible Account Information Services API Profile.

2. Endpoints

Endpoints for the resource - and available methods.

S. No.

Resource

HTTP Operation

Endpoint

Mandatory?

Scope

Grant Type

Idempotency Key

Parameters

Request Object

Response Object

1

products

GET

GET/accounts/{AccountId}/product

Conditional

accounts

Authorization Code

No

 

 

OBReadProduct

2

products

GET

GET /products

Optional

accounts

Authorization Code

No

Pagination

 

OBReadProduct

 

2.1 GET /accounts/{AccountId}/product

An AISP may retrieve the account product information for a specific AccountId (which is retrieved in the call to GET /accounts). While this endpoint is marked as Conditional, it will be Mandatory for ASPSPs and account types covered in the CMA Order.

2.2 GET /products

If an ASPSP has implemented the bulk retrieval endpoints for products an AISP may optionally retrieve the products information in bulk. This endpoint will retrieve the products resources for all authorised accounts linked to a specific account-request

3. Data Model

The OBReadProduct object will be used for the call to:

  • GET /accounts/{AccountId}/product

  • GET /products

3.1 UML Diagram

3.2 Permission Codes

The resource requires the ReadProducts permission. The resource response payload does not differ depending on the permissions granted.

3.3 Data Dictionary

 

Name

Occurrence

XPath

EnhancedDefinition

Class

Codes

Pattern

OBReadProduct

 

OBReadProduct

 

OBReadProduct

Data

1..1

OBReadProduct/Data

 

OBReadProduct/Data

CASA

0..n

OBReadProduct/Data/CASA

 

OBReadProduct/Data/CASA

AccountID 

1..1

OBReadProduct/Data/CASA/AccountID 

A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.

String

AccountType 

1..1

OBReadProduct/Data/CASA/AccountType 

Type of account as classified by the ASPSP (eg. Savings Account, Current account)

String

ProductTypeDescription 

1..1

OBReadProduct/Data/CASA/ProductTypeDescription 

Full description of the product

String

Name

1..1

OBReadProduct/Data/CASA/Name

Full name of the account holder

String

BranchName  

1..1

OBReadProduct/Data/CASA/BranchName  

Branch Name

String

AccountStatus 

1..1

OBReadProduct/Data/CASA/AccountStatus 

Specifies the status of account resource in code form.

String

AccountClosed 

1..1

OBReadProduct/Data/CASA/AccountClosed 

Y or N

String

Currency 

1..1

OBReadProduct/Data/CASA/Currency 

Identification of the currency in which the account is held.

String

AvailableBalance 

1..1

OBReadProduct/Data/CASA/AvailableBalance 

Withdrawable balance + funds in clearing

String

EffectiveAvailableBalance 

1..1

OBReadProduct/Data/CASA/EffectiveAvailableBalance 

Withdrawable balance

String

LienAmount 

0..1

OBReadProduct/Data/CASA/LienAmount 

Lien amount marked

String

ExchangeRate 

1..1

OBReadProduct/Data/CASA/ExchangeRate 

Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.

Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).

String

AccountOpeningDate 

1..1

OBReadProduct/Data/CASA/AccountOpeningDate 

Account opening date

DateTime

AccountClosingDate 

1..1

OBReadProduct/Data/CASA/AccountClosingDate 

If the account is closed then Account closed date should be available.

DateTime

JointHoldersName

0..1

OBReadProduct/Data/CASA/JointHoldersName

List of joint account holder name

String

Investment

0..n

OBReadProduct/Data/Investment

 

OBReadProduct/Data/Investment

AccountID

1..1

OBReadProduct/Data/Investment/AccountID

A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.

String

AccountType 

1..1

OBReadProduct/Data/Investment/AccountType 

Type of account as classified by the ASPSP (eg. Savings Account, Current account)

String

ProductTypeDescription 

1..1

OBReadProduct/Data/Investment/ProductTypeDescription 

Full description of the product

String

Name 

1..1

OBReadProduct/Data/Investment/Name 

Full name of the account holder

String

BranchName 

1..1

OBReadProduct/Data/Investment/BranchName 

Branch Name

String

AccountStatus 

1..1

OBReadProduct/Data/Investment/AccountStatus 

Specifies the status of account resource in code form.

String

AccountClosed 

1..1

OBReadProduct/Data/Investment/AccountClosed 

Y or N

String

Currency 

1..1

OBReadProduct/Data/Investment/Currency 

Identification of the currency in which the account is held.

String

Rate 

1..1

OBReadProduct/Data/Investment/Rate 

Interest rate / profit rate for islamic banks

String

InitialDepositAmount 

1..1

OBReadProduct/Data/Investment/InitialDepositAmount 

Initial deposit amount

String

DepositTerms- Months 

1..1

OBReadProduct/Data/Investment/DepositTerms- Months 

Deposit terms in months (in case of years convert to months)

String

DepositTerms - Days 

1..1

OBReadProduct/Data/Investment/DepositTerms - Days 

Deposit term in days

String

MaturityAmount 

1..1

OBReadProduct/Data/Investment/MaturityAmount 

Maturity Amount

String

MaturityDate 

1..1

OBReadProduct/Data/Investment/MaturityDate 

Maturity Date

DateTime

ExchangeRate 

1..1

OBReadProduct/Data/Investment/ExchangeRate 

Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.

Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).

String

AccountOpeningDate 

1..1

OBReadProduct/Data/Investment/AccountOpeningDate 

Account opening date

DateTime

AccountClosingDate 

1..1

OBReadProduct/Data/Investment/AccountClosingDate 

If the account is closed then Account closed date should be available.

DateTime

JointHoldersName

0..1

OBReadProduct/Data/Investment/JointHoldersName

List of joint account holder name

String

Loans

0..n

OBReadProduct/Data/Loans

 

OBReadProduct/Data/Loans

AccountID 

1..1

OBReadProduct/Data/Loans/AccountID

A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.

String

LoanType 

1..1

OBReadProduct/Data/Loans/LoanType 

Type of loan as classified by the ASPSP

String

ProductTypeDescription 

1..1

OBReadProduct/Data/Loans/ProductTypeDescription 

Full description of the product

String

Name 

1..1

OBReadProduct/Data/Loans/Name 

Full name of the account holder

String

BranchName 

1..1

OBReadProduct/Data/Loans/BranchName 

Branch Name

String

AccountStatus 

1..1

OBReadProduct/Data/Loans/AccountStatus 

Specifies the status of account resource in code form.

String

AccountClosed 

1..1

OBReadProduct/Data/Loans/AccountClosed 

Y or N

String

Currency 

1..1

OBReadProduct/Data/Loans/Currency 

Identification of the currency in which the loan is held.

String

Rate 

1..1

OBReadProduct/Data/Loans/Rate 

Interest rate / profit rate for islamic banks

String

LoanAmount 

1..1

OBReadProduct/Data/Loans/LoanAmount 

Initial Loan Amount

String

DisbursedAmount 

1..1

OBReadProduct/Data/Loans/DisbursedAmount 

Disbursed Amount till date

String

OutstandingLoanAmount 

1..1

OBReadProduct/Data/Loans/OutstandingLoanAmount 

Outstanding Loan Amount

String

Numberofinstallments 

1..1

OBReadProduct/Data/Loans/Numberofinstallments 

Number of installments

String

LoanTerms - Months 

1..1

OBReadProduct/Data/Loans/LoanTerms - Months 

Deposit terms in months (in case of years convert to months)

String

DepositTerms - Days 

1..1

OBReadProduct/Data/Loans/DepositTerms - Days 

Deposit term in days

String

ExchangeRate 

1..1

OBReadProduct/Data/Loans/ExchangeRate 

Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.

Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).

String

AccountOpeningDate 

1..1

OBReadProduct/Data/Loans/AccountOpeningDate 

Account opening date

DateTime

AccountClosingDate 

1..1

OBReadProduct/Data/Loans/AccountClosingDate 

If the account is closed then Account closed date should be available.

DateTime

JointHoldersName

0..1

OBReadProduct/Data/Loans/JointHoldersName

List of joint account holder name

String

CreditCards

0..n

OBReadProduct/Data/CreditCards

 

OBReadProduct/Data//CreditCards

CardNumber 

1..1

OBReadProduct/Data/CreditCards/CardNumber 

Card number (Masked card details)

String

CardIssuer 

1..1

OBReadProduct/Data/CreditCards/CardIssuer 

Card issuer (e.g VISA)

String

CardType 

1..1

OBReadProduct/Data/CreditCards/CardType 

Primary or Secondary

String

ProductTypeDescription 

1..1

OBReadProduct/Data/CreditCards/ProductTypeDescription 

Full description of the product

String

Name 

1..1

OBReadProduct/Data/CreditCards/Name 

Full Name

String

BranchName 

1..1

OBReadProduct/Data/CreditCards/BranchName 

Branch Name

String

CardStatus 

1..1

OBReadProduct/Data/CreditCards/CardStatus 

Specifies the status of card resource in code form.

String

CardClosed 

1..1

OBReadProduct/Data/CreditCards/CardClosed 

Y or N

String

Currency 

1..1

OBReadProduct/Data/CreditCards/Currency 

Identification of the currency in which the account is held.

String

CardBalance 

1..1

OBReadProduct/Data/CreditCards/CardBalance 

Card Balance

String

Rate 

1..1

OBReadProduct/Data/CreditCards/Rate 

Interest rate / profit rate for islamic banks

String

CardLimit 

1..1

OBReadProduct/Data/CreditCards/CardLimit 

Card Limit

String

MinimumDue

1..1

OBReadProduct/Data/CreditCards/MinimumDue 

Minimum Amount payable

String

TotalDue 

1..1

OBReadProduct/Data/CreditCards/TotalDue 

Total Amount payable

String

PaymentDueDate 

1..1

OBReadProduct/Data/CreditCards/PaymentDueDate 

Payment Due date

DateTime

AddOnCards 

1..1

OBReadProduct/Data/CreditCards/AddOnCards 

Number of add-on cards (supplementary cards)

String

ExchangeRate 

1..1

OBReadProduct/Data/CreditCards/ ExchangeRate 

Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.

Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).

String

CardIssueDate 

1..1

OBReadProduct/Data/CreditCards/CardIssueDate 

Card Issue date

DateTime

CardClosingDate

1..1

OBReadProduct/Data/CreditCards/CardClosingDate

If the Card is closed then Account closed date should be available.

DateTime

 

4. Usage Example

4.1 Specific Account

4.1.1 Request

GET /accounts/22289/product
Authorisation: Bearer 4ZopnFZFKjr5zDsicSQpLL
x-fapi-auth-date: Tue, 22 Apr 2020 19:43:31 GMT+03:00
x-fapi-customer-ip-address: 204.35.213.15
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Accept: application/json

4.1.2 Response

200 OK
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Content-Type: application/json Get Product Response

{

  "Data": {

    "CASA": [

      {

        "AccountID": "22289",

        "AccountType": "Savings Account",

        "ProductTypeDescription": "A financial account held by the individuals for carrying out transaction on a regular basis",

        "Name": "Asif Khan",

        "BranchName": "Manama",

        "AccountStatus": "A",

        "AccountClosed": "N",

        "Currency": "BHD",

        "AvailableBalance": "190000 BHD",

        "EffectiveAvailableBalance": "150000 BHD",

        "LienAmount": "1000 BHD",

        "ExchangeRate": "1",

        "AccountOpeningDate": "2019-04-22T07:07:54.469+03:00",

        "AccountClosingDate": "2032-04-22T07:07:54.469+03:00",

        "JointHoldersName": "NA"

      }

    ]

  }

}

4.2 Bulk Account

4.2.1 Get Products Request

GET /products
Authoriszation: Bearer 4ZopnFZFKjr5zDsicSQpLL
x-fapi-auth-date: Tue, 22 Apr 2020 19:43:31 GMT+03:00
x-fapi-customer-ip-address: 204.35.213.15
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Accept: application/json

4.2.2 Get Products Response

200 OK
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Content-Type: application/json

{
  "Data": {
    "CASA": [
      {
        "AccountID": "22289",
        "AccountType": "Savings Account",
        "ProductTypeDescription": "A financial account held by the individuals for carrying out transaction on a regular basis",
        "Name": "Asif Khan",
        "BranchName": "Manama",
        "AccountStatus": "A",
        "AccountClosed": "N",
        "Currency": "BHD",
        "AvailableBalance": "190000 BHD",
        "EffectiveAvailableBalance": "150000 BHD",
        "LienAmount": "1000 BHD",
        "ExchangeRate": "1",
        "AccountOpeningDate": "2019-04-22T07:07:54.469+03:00",
        "AccountClosingDate": "2032-04-22T07:07:54.469+03:00",
        "JointHoldersName": "NA"
      }
    ],


    "Investment": [
      {
        "AccountID": "38980",
        "AccountType": "Current Account",
        "ProductTypeDescription": "A financial account held by the individuals that contains products related to short term and long term investments such as deposit of funds, securities, etc.",
        "Name": "Infra Limited",
        "BranchName": "Manama",
       "AccountStatus": "A",
        "AccountClosed": "N",
        "Currency": "BHD",
        "Rate": "8.00%",
        "InitialDepositAmount": "100000 BHD",
        "DepositTerms-Months": "12",
        "DepositTerms-Days": "0",
        "MaturityAmount": "108000 BHD",
        "MaturityDate": "2020-10-22T07:07:54.469+03:00",
        "ExchangeRate": "1",
        "AccountOpeningDate": "2019-04-22T07:07:54.469+03:00",
        "AccountClosingDate": "2032-04-22T07:07:54.469+03:00",
        "JointHoldersName": "NA"
      }
    ]
  }

}

  • No labels