Offers

1. Version Control

Version

Date

Description of Changes

Bahrain OBF v1.0.0

28th Oct 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

3.1

offers

GET

GET/accounts/{AccountId}/offers

Optional

accounts

Authorisation Code

No

 

 

OBReadOffer

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

 

 

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