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 3 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.

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 OBReadProduct2 object will be used for the call to:

  • GET /accounts/{AccountId}/product

  • GET /products

2.1 UML DIAGRAM

2.2 Permission Codes

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

2.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

 

 

AccountNumber 

1..1

OBReadProduct/Data/CASA/AccountNumber 

Bank Account number

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

 

 

AccountName

1..1

OBReadProduct/Data/CASA/AccountName

Full account name

String

 

 

BranchName  

1..1

OBReadProduct/Data/CASA/BranchName  

Branch Name

String

 

 

AccountStatus 

1..1

OBReadProduct/Data/CASA/AccountStatus 

One of ‘active’/’inactive’/'dormant'/’frozen’ (A/I/D/F)

String

 

 

AccountClosed 

1..1

OBReadProduct/Data/CASA/AccountClosed 

Y or N

String

 

 

AccountCurrency 

1..1

OBReadProduct/Data/CASA/AccountCurrency 

Currency code

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 

1..1

OBReadProduct/Data/CASA/LienAmount 

Lien amount marked

String

 

 

IBAN 

1..1

OBReadProduct/Data/CASA/IBAN 

IBAN account number

String

 

 

ExchangeRate 

1..1

OBReadProduct/Data/CASA/ExchangeRate 

Conversion rate in case of foreign currency (to BHD). In case the currency of the account is BHD, value will be 1.000

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

 

 

JointHoldersCPRs

0..1

OBReadProduct/Data/CASA/JointHoldersCPRs

List of joint account holder CPRs

String

 

 

Investment

0..n

OBReadProduct/Data/Investment

 

OBReadProduct/Data/Investment

 

 

AccountNumber 

1..1

OBReadProduct/Data/Investment/AccountNumber 

Bank Account number

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

 

 

AccountName 

1..1

OBReadProduct/Data/Investment/AccountName 

Full account name

String

 

 

BranchName 

1..1

OBReadProduct/Data/Investment/BranchName 

Branch Name

String

 

 

AccountStatus 

1..1

OBReadProduct/Data/Investment/AccountStatus 

One of ‘active’/’inactive’/'dormant'/’frozen’ (A/I/D/F)

String

 

 

AccountClosed 

1..1

OBReadProduct/Data/Investment/AccountClosed 

Y or N

String

 

 

AccountCurrency 

1..1

OBReadProduct/Data/Investment/AccountCurrency 

Currency code

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

 

 

IBAN 

1..1

OBReadProduct/Data/Investment/IBAN 

IBAN account number

String

 

 

ExchangeRate 

1..1

OBReadProduct/Data/Investment/ExchangeRate 

Conversion rate in case of foreign currency (to BHD). In case the currency of the account is BHD, value will be 1.000

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

 

 

JointHoldersCPRs

0..1

OBReadProduct/Data/Investment/JointHoldersCPRs

List of joint account holder CPRs

String

 

 

Loans

0..n

OBReadProduct/Data/Loans

 

OBReadProduct/Data/Loans

 

 

AccountNumber 

1..1

OBReadProduct/Data/Loans/AccountNumber 

Bank Account number

String

 

 

LoanType 

1..1

OBReadProduct/Data/Loans/LoanType 

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

String

 

 

ProductTypeDescription 

1..1

OBReadProduct/Data/Loans/ProductTypeDescription 

Full description of the product

String

 

 

AccountName 

1..1

OBReadProduct/Data/Loans/AccountName 

Full account name

String

 

 

BranchName 

1..1

OBReadProduct/Data/Loans/BranchName 

Branch Name

String

 

 

AccountStatus 

1..1

OBReadProduct/Data/Loans/AccountStatus 

One of ‘active’/’inactive’/'dormant'/’frozen’ (A/I/D/F)

String

 

 

AccountClosed 

1..1

OBReadProduct/Data/Loans/AccountClosed 

Y or N

String

 

 

AccountCurrency 

1..1

OBReadProduct/Data/Loans/AccountCurrency 

Currency code

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

 

 

IBAN 

1..1

OBReadProduct/Data/Loans/IBAN 

IBAN account number

String

 

 

ExchangeRate 

1..1

OBReadProduct/Data/Loans/ExchangeRate 

Conversion rate in case of foreign currency (to BHD). In case the currency of the account is BHD, value will be 1.000

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

 

 

JointHoldersCPRs

0..1

OBReadProduct/Data/Loans/JointHoldersCPRs

List of joint account holder CPRs

String

 

 

CreditCards

0..n

OBReadProduct/Data/CreditCards

 

OBReadProduct/Data//CreditCards

 

 

CardNumber 

1..1

OBReadProduct/Data/CreditCards/CardNumber 

Card Number

String

 

 

CardIssuer 

1..1

OBReadProduct/Data/CreditCards/CardIssuer 

Card Issuer

String

 

 

CardType 

1..1

OBReadProduct/Data/CreditCards/CardType 

Card Type

String

 

 

ProductTypeDescription 

1..1

OBReadProduct/Data/CreditCards/ProductTypeDescription 

Product type description

String

 

 

CardName 

1..1

OBReadProduct/Data/CreditCards/CardName 

Card Name

String

 

 

BranchName 

1..1

OBReadProduct/Data/CreditCards/BranchName 

Branch Name

String

 

 

CardStatus 

1..1

OBReadProduct/Data/CreditCards/CardStatus 

Card status

String

 

 

CardClosed 

1..1

OBReadProduct/Data/CreditCards/CardClosed 

Card Closed

String

 

 

CardCurrency 

1..1

OBReadProduct/Data/CreditCards/CardCurrency 

Card currency

String

 

 

CardBalance 

1..1

OBReadProduct/Data/CreditCards/CardBalance 

Card Balance

String

 

 

Rate 

1..1

OBReadProduct/Data/CreditCards/Rate 

Rate

String

 

 

CardLimit 

1..1

OBReadProduct/Data/CreditCards/CardLimit 

Card Limit

String

 

 

MinimumDue 

1..1

OBReadProduct/Data/CreditCards/MinimumDue 

Minimum Due

String

 

 

TotalDue 

1..1

OBReadProduct/Data/CreditCards/TotalDue 

Total Due

String

 

 

PaymentDueDate 

1..1

OBReadProduct/Data/CreditCards/PaymentDueDate 

Payment Due date

DateTime

 

 

AddOnCards 

1..1

OBReadProduct/Data/CreditCards/AddOnCards 

Add on cards

String

 

 

 ExchangeRate 

1..1

OBReadProduct/Data/CreditCards/ ExchangeRate 

ExchangeRate

String

 

 

CardIssueDate 

1..1

OBReadProduct/Data/CreditCards/CardIssueDate 

Card Issue date

DateTime

 

 

CardClosingDate

1..1

OBReadProduct/Data/CreditCards/CardClosingDate

Card closing date

DateTime

 

 

 

4. Usage Example

A. Specific Account

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

Get Product Response

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

{

  "Data": {

    "CASA": [

      {

        "AccountNumber": "22289",

        "AccountType": "Savings Account",

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

        "AccountName": "Asif Khan",

        "BranchName": "Manama",

        "AccountStatus": "A",

        "AccountClosed": "N",

        "AccountCurrency": "BHD",

        "AvailableBalance": "190000 BHD",

        "EffectiveAvailableBalance": "150000 BHD",

        "LienAmount": "1000 BHD",

        "IBAN": "BH10BBKU00100000008876",

        "ExchangeRate": "1",

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

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

        "JointHoldersCPRs": "NA"

      }

    ]

  }

}

B. Bulk Account

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

Get Products Response

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

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


    "Investment": [
      {
        "AccountNumber": "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.",
        "AccountName": "Infra Limited",
        "BranchName": "Manama",
      "AccountStatus": "A",
        "AccountClosed": "N",
        "AccountCurrency": "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",
        "IBAN": "BH10CBBU00100000001356",
        "ExchangeRate": "1",
        "AccountOpeningDate": "2019-04-22T07:07:54.469+03:00",
        "AccountClosingDate": "2032-04-22T07:07:54.469+03:00",
        "JointHoldersCPRs": "NA"
      }
    ]
  }

}

  • No labels