BNP Paribas IRB OBP API Sandbox - OpenBankProject/OBP-API GitHub Wiki

Hello!

This is a special page for the BNP Paribas IRB OBP API sandbox.

TL;DR

Go here: bnpparibas-irb OBP API Sandbox

Status

This document may be updated.

Overview

Open Bank Project is an open source API for banks that provides a RESTful interface for developers to build customer facing applications without needing to code for each bank or account type differently. You can use it as a flexible toolbox of data and services to help realise (a.k.a. hack!) your ideas together. For the hackathons, developers have access to simulated transaction data for imaginary customers that match certain customer profiles.

What sort of applications can I build with the OBP API?

Customer facing retail banking and fintech applications for consumers, SMEs, associations, charities, governments and NGOs; including (but not limited to!) Personal Finance Management (PFM) Solutions, online accounting integration, financial widgets, Savings Apps, Education Apps, Gamification, Peace of Mind Apps, Transparency Apps, Crowd funding, on boarding, CRM etc..

What data and services can I access?

This OBP instance contains simulated customer related data.

Simulated Customer related data / APIs include:

  • Account information, balance and transaction history of multiple bank accounts
  • Enrich bank transactions with metadata (tags, comments, urls and geolocation) for example to link a receipt or video to a transaction
  • Create/Access different views on accounts. Each view grants a subset of the data to a restricted group of users. For example, a customer could offer special views on his account to his accountants, auditors or regulators. A charity might open their accounts to the public
  • Initiate payments
  • Onboard Customers (KYC etc.)

Anonymised Data Warehouse data:

Please note: Access to the Anonymised Data Warehouse is restricted to the participants of the Internatational Hackathon

  1. Logout here https://bnpparibas-irb.openbankproject.com/

  2. Register a username / password that will be used in your App to get access to the anonymised datawarehouse data.

  3. Login here as that user https://bnpparibas-irb-explorer.openbankproject.com/

  4. Get the user_id of this user using the API / API Explorer https://bnpparibas-irb-explorer.openbankproject.com/?version=2.0.0&ignoredefcat=true#2_0_0-getCurrentUser

  5. Send us your Full Name, Project Name, email and the user_id(s) that should access this data to [email protected] or via Slack.

  6. Once we have granted you access we will notifiy you on Slack

  7. Now you can use the end point documented at Search Warehouse

Available indices in the warehouse:

  • irb-declared-products, irb-sme-transactions, irb-transactions, irb-contracts, irb-taxes, irb-charges, irb-revenues, irb-individual-clients, irb-markets, irb-sme-client, irb-assets, irb-sme-contracts
  • bow-declared-products, bow-sme-transactions, bow-transactions, bow-contracts, bow-taxes, bow-charges, bow-revenues, bow-individual-clients, bow-markets, bow-sme-client, bow-assets, bow-sme-contracts
  • 20170608-markets, 20170608-taxes, 20170608-charges

Search Warehouse examples

ElasticSearch Indexes

Please use the following indexes

	irb-declared-products,irb-revenues,irb-taxes,irb-markets,irb-charges,irb-contracts,irb-transactions,irb-individual-clients,irb-assets,irb-sme-transactions,irb-sme-contracts,irb-sme-client,bow-declared-products,bow-revenues,bow-taxes,bow-markets,bow-charges,bow-contracts,bow-transactions,bow-individual-clients,bow-assets,bow-sme-transactions,bow-sme-contracts,bow-sme-client

Individuals (using OBP v2.0.0)

  • Get all customers' transactions: https://bnpparibas-irb.openbankproject.com/obp/v2.0.0/search/warehouse/q=_index:irb-transactions

  • To page through all transactions use size=x and from=y (Hint: hits.total in the response tells you the limit for subsequent calls): https://bnpparibas-irb.openbankproject.com/obp/v2.0.0/search/warehouse/q=_index:irb-transactions&size=10&from=34

  • Get transactions for one particular customer: Urlencode the query: https://bnpparibas-irb.openbankproject.com/obp/v2.0.0/search/warehouse/q=_index:irb-transactions+AND+customer_id:139468

  • Get all last year transactions of one customer: See above, then filter transaction_date for regex /^16\// in your application.

  • Get Saving Capacity of one customer: Check field mtt_epar in the output of: https://bnpparibas-irb.openbankproject.com/obp/v2.0.0/search/warehouse/q=_index:irb-individual-clients+AND+customer_id:76

  • Get total income in the last year (2016) for one customer: Check field mtt_rvn_annuel in the output of: https://bnpparibas-irb.openbankproject.com/obp/v2.0.0/search/warehouse/q=_index:irb-revenues+AND+customer_id:63477+AND+annee_rvn:2016

  • Get all private asset records for a specified customer: https://bnpparibas-irb.openbankproject.com/obp/v2.0.0/search/warehouse/q=_index:irb-assets+AND+customer_id:139468+AND+categ_ptmn:1

SMEs (using OBP v2.0.0)

  • Get total number of transactions in the a given month for counterparty JAITOKEI.X: Check hits.total in the output of: https://bnpparibas-irb.openbankproject.com/obp/v2.0.0/search/warehouse/q=_index:irb-sme-transactions+AND+counterparty_name:JAITOKEI.X+AND+transaction_date:%5b2013-11-01+TO+2013-11-30%5d

  • Get names of all SMEs which have a 'very low' default risk: Check field name in the output of: https://bnpparibas-irb.openbankproject.com/obp/v2.0.0/search/warehouse/q=_index:irb-sme-client+AND+risk_default1:D0

For more information about Elastic Search query syntax see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax

Individuals (using OBP v3.0.0)

*Get all private asset records for a specified customer:

https://bnpparibas-api.openbankproject.com/obp/v3.0.0/search/warehouse//search/warehouse/q=_index:irb-assets+AND+customer_id:104760+AND+categ_ptmn:1

or

https://bnpparibas-api.openbankproject.com/obp/v3.0.0/search/warehouse { "es_uri_part": "/_search?q=_index:irb-assets+AND+customer_id:104760+AND+categ_ptmn:1", "es_body_part": {} }

SMEs (using OBP v3.0.0)

Coming soon...

  1. If you have questions please post to the api_sandbox_support channel on bnpp-intnl-hacktn2017's Slack.

For a list of field names available to search please use the private slack channel here

Application registration

You will need to register your application here. You will get a consumer key and consumer secret for the calls requiring OAuth or Direct Login authentication.

Direct Login and OAuth

The recomended way to authenticate in the hackathon context is to use Direct Login.

To get started with OBP and OAuth we recommend you use (and fork) one of our OAuth Starter SDKs

Note: Many examples in the docs / SDKs use the general OBP sandbox domain. Make sure you use the correct domain in all calls i.e. bnpparibas-irb.openbankproject.com !

API documentation

  • For the current stable API version see 1.4.0.

  • For the next stable API version see 2.0.0

  • For the latest version (recomended) see 2.2.0

Customer logins

During the OAuth login, the user of your app will be asked for a customer username/password.

Here are some example logins to test your Direct Login or OAuth flow:

      {
        "email":"[email protected]",
        "password":"X!fa1272",
        "user_name":"Rob.Us.04"
      },
      {
        "email":"[email protected]",
        "password":"X!5b6b00",
        "user_name":"Sue.Us.04"
      },
      {
        "email":"[email protected]",
        "password":"X!ab2285",
        "user_name":"Alf.Us.04"
      },
      {
        "email":"[email protected]",
        "password":"X!e4d005",
        "user_name":"Emily.Us.04"
      },
      {
        "email":"[email protected]",
        "password":"X!0d2345",
        "user_name":"Roby.Tr.04"
      },
      {
        "email":"[email protected]",
        "password":"X!0f40b0",
        "user_name":"Suzan.Tr.04"
      },
      {
        "email":"[email protected]",
        "password":"X!11abd9",
        "user_name":"Asil.Tr.04"
      },
      {
        "email":"[email protected]",
        "password":"X!7dc97e",
        "user_name":"Ela.Tr.04"
      },
      {
        "email":"[email protected]",
        "password":"X!7b5309",
        "user_name":"Robert.Pl.04"
      },
      {
        "email":"[email protected]",
        "password":"X!0d4504",
        "user_name":"Susan.Pl.04"
      },
      {
        "email":"[email protected]",
        "password":"X!4eb65d",
        "user_name":"Anil.Pl.04"
      },
      {
        "email":"[email protected]",
        "password":"X!dcb6b6",
        "user_name":"Ellie.Pl.04"
      },
      {
        "email":"[email protected]",
        "password":"X!31c5c8",
        "user_name":"Robert.Ua.04"
      },
      {
        "email":"[email protected]",
        "password":"X!318aa9",
        "user_name":"Susan.Ua.04"
      },
      {
        "email":"[email protected]",
        "password":"X!071a28",
        "user_name":"Anil.Ua.04"
      },
      {
        "email":"[email protected]",
        "password":"X!58e88d",
        "user_name":"Ellie.Ua.04"
      },
      {
        "email":"[email protected]",
        "password":"X!c92004",
        "user_name":"Robert.Ma.04"
      },
      {
        "email":"[email protected]",
        "password":"X!71d039",
        "user_name":"Susan.Ma.04"
      },
      {
        "email":"[email protected]",
        "password":"X!5a9c70",
        "user_name":"Anil.Ma.04"
      },
      {
        "email":"[email protected]",
        "password":"X!a6a01a",
        "user_name":"Ellie.Ma.04"
      },
      {
        "email":"[email protected]",
        "password":"X!416317",
        "user_name":"Robert.Uk.04"
      },
      {
        "email":"[email protected]",
        "password":"X!122716",
        "user_name":"Susan.Uk.04"
      },
      {
        "email":"[email protected]",
        "password":"X!827b2e",
        "user_name":"Anil.Uk.04"
      },
      {
        "email":"[email protected]",
        "password":"X!9abea1",
        "user_name":"Ellie.Uk.04"
      }

Please ask a member of the Open Bank Project team for more logins if you require. You can use this application which also uses OAuth to browse your transaction data (use the above username/password).

FAQ:

Questions / Contact?