Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel1
stylenone

1

...

. Version Control

Version

Date

Description of Changes

Bahrain OBF v1.0.0

25th Aug 2020

Initial Release

2.  Overview

The offers resource is used by an AISP to retrieve the offers available for a specific AccountId or to retrieve the offers detail in bulk for all accounts that the user/customer has consented to.

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

...

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

23.1

offers

GET

GET/accounts/{AccountId}/offers

ConditionalOptional

accounts

Authorisation Code

No

 

 

OBReadOffer

23.2

offers

GET

GET/offers

optional

accounts

Authorisation Code

No

Pagination

 

OBReadOffer

...

3.

...

1  GET/accounts/{AccountId}/offers

An AISP may retrieve the offers resource for a specific AccountId (which is retrieved in the call to GET /accounts).

...

3.

...

2  GET /offers

If an ASPSP has implemented the bulk retrieval endpoints, an AISP may optionally retrieve the offers in bulk. This will retrieve the resources for all authorised accounts linked to the account-request.

...

4.  Data Models

...

4.1 OBReadOffer

The OBReadOffer object will be used for the call to:

  • GET /accounts/{AccountId}/offers

  • GET /offers

...

4.1.1 Resource Definition

A resource that contains a set of elements that describes the list of offers available to a specific account (AccountId).

  • Generic features (and pricing) for the account product will be not be available via the offers resources. These generic features will be available via the product resource.

  • The outcome of any offer (or product feature) uptake will not be reported via the offers resource. The benefits, interest, cash-back for any account will be available via the statements resource (if this is available to user/customers in the existing ASPSP online channel).

An account (AccountId) may have no offers available , or may have multiple offers available.

...

4.1.2 UML Diagram

...

 

...

4.1.3 Notes

Offers (or promotions) for a specific AccountId, which may be viewable in the ASPSP online banking interface, may have a complicated offer structure (which cannot be expressed using a flat Amount, Fee, Rate, or Value structure). In this case, the ASPSP must use the Description field to describe the nature of the offer in free-text.

...

4.1.4 Permission Codes

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

...

4.1.5 Data Dictionary

Name

Occurrence

XPath

Enhanced Definition

Class/ Datatype

Codes

Pattern

OBReadOffer

 

OBReadOffer

 

OBReadOffer

 

 

Data

1..1

OBReadOffer/Data

 

OBReadOffer/Data 

 

Offer

0..n

OBReadOffer/Data/Offer

 

OBReadOffer/Data/Offer

 

 

AccountId

1..1

OBReadOffer/Data/Offer/AccountId

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

String 

 

OfferId

0..1

OBReadOffer/Data/Offer/OfferId

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

String 

 

OfferType

0..1

OBReadOffer/Data/Offer/OfferType

Offer type, in a coded form.

String

Enum:

  • BalanceTransfer

  • LimitIncrease

  • MoneyTransfer

  • Other

  • PromotionalRate

  •  

    Description

    0..1

    OBReadOffer/Data/Offer/Description

    Further details of the offer.

    String 

     

    StartDateTime

    0..1

    OBReadOffer/Data/Offer/StartDateTime

    Date and time at which the offer starts.

    DateTime 

     

    EndDateTime

    0..1

    OBReadOffer/Data/Offer/EndDateTime

    Date and time at which the offer ends.

    DateTime

     

     

    Rate

    0..1

    OBReadOffer/Data/Offer/Rate

    Rate associated with the offer type.

    String

     

    ^(-?\d{1,3}){1}(.\d{1,4}){0,1}$

    Value

    0..1

    OBReadOffer/Data/Offer/Value

    Value associated with the offer type.

    Number

     

     

    Term

    0..1

    OBReadOffer/Data/Offer/Term

    Further details of the term of the offer.

    String

     

     

    URL

    0..1

    OBReadOffer/Data/Offer/URL

    URL (Uniform Resource Locator) where documentation on the offer can be found

    String

     

     

    Amount

    0..1

    OBReadOffer/Data/Offer/Amount

    Amount of money associated with the offer type.

    OBReadOffer/Data/Offer/Amount

     

     

    Amount

    1..1

    OBReadOffer/Data/Offer/Amount/Amount

    A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.

    String

     

    ^\d{1,13}$\|^\d{1,13}\.\d{1,5}$

    Currency

    1..1

    OBReadOffer/Data/Offer/Amount/Currency

    A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".

    String

     

    ^[A-Z]{3,3}$

    Fee

    0..1

    OBReadOffer/Data/Offer/Fee

    Fee associated with the offer type.

    OBReadOffer/Data/Offer/Fee

     

     

    Amount

    1..1

    OBReadOffer/Data/Offer/Fee/Amount

    A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.

    String

     

    ^\d{1,13}$\|^\d{1,13}\.\d{1,5}$

    Currency

    1..1

    OBReadOffer/Data/Offer/Fee/Currency

    A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".

    String

     

    ^[A-Z]{3,3}$

    ...

    5.  Usage Example

    ...

    5.1 Bulk

    ...

    5.1.1 Get Offers Request

    GET /offers

    Authorisation: Bearer 4ZopnFZFKjr5zDsicSQpLL

    x-fapi-auth-date: Tue, 18 Mar 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

    ...

    5.1.2

    ...

    Get Offers Response

    200 OK

    x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f

    Content-Type: application/json

    {

      "Data": {

        "Offer": [

          {

            "AccountId": "00345897",

            "OfferId": "2267",

            "OfferType": "BalanceTransfer",

            "Description": "Balance Transfer offer up to BHD 2000",

            "StartDateTime": "2020-03-26T11:30:21.278+03:00”,

            "EndDateTime": "2020-04-26T11:30:21.278+03:00”,

            "Rate": " ",

            "Value": 0,

            "Term": " ",

            "URL": "www.xyz.com",

            "Amount": {

              "Amount": "2000",

              "Currency": "BHD"

            },

            "Fee": {

              "Amount": "20",

              "Currency": "BHD"  }

          },

          {

            "AccountId": "00156784",

            "OfferId": "2268",

            "OfferType": "LimitIncrease",

            "Description": "Credit limit increase for the account up to BHD 5000",

            "StartDateTime": "2020-03-26T11:30:21.278+03:00”,

            "EndDateTime": "2020-04-26T11:30:21.278+03:00”,

            "Rate": " ",

            "Value": 0,

            "Term": " ",

            "URL": "www.xyz.com",

            "Amount": {

              "Amount": "5000",

              "Currency": "BHD"    },

            "Fee": {

              "Amount": "50",

              "Currency": "BHD"   }

          }

        ]

      },

      "Links": {

        "Self": "www.TBC.com"

      },

      "Meta": {

        "TotalPages": 01,

        "FirstAvailableDateTime": "2020-03-26T09:10:17.596+03:00”,

        }

    ...

    5.2

    ...

    Specific Account

    ...

    5.2.1

    ...

     Get Account Offers Request

    GET /accounts/00345897/offers

    Authorisation: Bearer 4ZopnFZFKjr5zDsicSQpLL

    x-fapi-auth-date: Tue, 18 Mar 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

    ...

    5.2.2

    ...

     Get Account Offers Response

    200 OK

    x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f

    Content-Type: application/json

    {

      "Data": {

        "Offer": [

          {

            "AccountId": "00345897",

            "OfferId": "2267",

            "OfferType": "BalanceTransfer",

            "Description": "Balance Transfer offer up to BHD 2000",

            "StartDateTime": "2020-03-26T11:30:21.278+03:00”,

            "EndDateTime": "2020-04-26T11:30:21.278+03:00”,

            "Rate": " ",

            "Value": 0,

            "Term": " ",

            "URL": "www.xyz.com",

            "Amount": {

              "Amount": "2000",

              "Currency": "BHD"

            },

            "Fee": {

              "Amount": "20",

              "Currency": "BHD"

            }

          }

        ]

      },

      "Links": {

        "Self": "www.TBC.com"

      },

      "Meta": {

        "TotalPages": 01,

        "FirstAvailableDateTime": "2020-03-26T09:10:17.596+03:00”,

        }

    }

    CENTRAL BANK OF BAHRAIN © 2020