@datafire/openfintech

6.0.0 • Public • Published

@datafire/openfintech

Client library for OpenFinTech.io

Installation and Usage

npm install --save @datafire/openfintech
let openfintech = require('@datafire/openfintech').create();

.then(data => {
  console.log(data);
});

Description

Introduction

OpenFinTech.io is an open database that comprises of standardized primary data for FinTech industry.
It contains such information as geolocation data (countries, cities, regions), organizations, currencies (national, digital, virtual, crypto), banks, digital exchangers, payment providers (PSP), payment methods, etc.
It is created for communication of cross-integrated micro-services on "one language". This is achieved through standardization of entity identifiers that are used to exchange information among different services.

UML

UML Domain Model diagram you can find here.

Persistence

Entities are updated not more than 1 time per day.

Terms and Conditions

This OpenFinTech.io is made available under the Open Database License.
Any rights in individual contents of the database are licensed under the Database Contents License.

Contacts

For any questions, please email - info@openfintech.io
Or you can contact us at Gitter

Powered by Paymaxi

Get Started

If you use POSTMAN or similar program which can operate with swagger`s files - just download our spec and import it. Also you can try live API demo.

Overview

The OpenFinTech API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors.
API is based on JSON API standard. JSON is returned by all API responses, including errors, although our API libraries convert responses to appropriate language-specific objects.
JSON API requires use of the JSON API media type (application/vnd.api+json) for exchanging data.

Additional Request Headers

ACCEPT HEADER

Your requests should always include the header:

Accept: application/vnd.api+json

Authentication

To use OpenFinTech API no needed authorization.

Versioning

When we make changes to the API, we release new, dated versions. The current version is 2017-08-24. Read our API upgrades guide to see our API changelog and to learn more about backwards compatibility.

Pagination

OpenFinTech APIs to retrieve lists of banks, currencies and other resources - paginated to 100 items by default. The pagination information will be included in the list API response under the node name meta - contains information about listed objects [total - contains information about total count of listed objects, pages - count of pages], links - contain links to navigate between pages [first - link to first page, prev - link to previous page, next - link to next page, last - link to last page].
By default first page will be listed. For navigating through pages, use the page parameter (e.g. page[number], page[size]).
The page[size] parameter can be used to set the number of records that you want to receive in the response.
The page[number] parameter can be used to set needed page number.
Example of response:

{
  "meta": {
    "total": 419,
    "pages": 42
  },
  "links": {
    "first": "/v1/{path}?page[number]=1&page[size]=10",
    "prev": "/v1/{path}?page[number]=39&page[size]=10",
    "next": "/v1/{path}?page[number]=41&page[size]=10",
    "last": "/v1/{path}?page[number]=42&page[size]=10"
  }

Sorting

OpenFinTech`s API supported query parameter to sort result collection [e.g. ?sort=code]. Information about available parameters may be found in the endpoint description. Positive parameter [e.g. ?sort=code] points to ascending sorting, negative [e.g. ?sort=-code] - to descending sorting. Also, supported multiple sorting parameters [e.g. ?sort=code, -name, id, etc.]

https://api.openfintech.io/v1/countries?sort=name,-area

Filtering

Filtering provided by unique query key filter[*filtering_condition*]. Information about available parameters may be found in the endpoint description.

https://api.openfintech.io/v1/countries?filter[region]=europe

Images

OpenFinTech provides two types of images: icons and logos. To get one of those types you should to use next url pattern:

https://api.openfintech.io/v1/{path}/{id}/{icon/logo}

Also, images can be resized by adding next parameters: h={height}&w={width}. For example, you want to get organization icon with width equals to 20 pixels:

https://api.openfintech.io/v1/organizations/{id}/icon?w=20&h=20

If argument height or width is missing API returns original image with real sizes.

Errors

API uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, etc.), and codes in the 5xx range indicate an error with OpenFinTech's servers (these are rare).

Code Description
200 - OK Everything worked as expected.
400 - Bad Request The request was unacceptable, often due to missing a required parameter.
401 - Unauthorized No valid API key provided.
402 - Request Failed The parameters were valid but the request failed.
404 - Not Found The requested resource doesn't exist.
409 - Conflict The request conflicts with another request (perhaps due to using the same idempotent key).
429 - Too Many Requests Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.
500, 502, 503, 504 - Server Errors Something went wrong on OpenFinTech's end. (These are rare.)

Actions

banks.get

Returns list of banks. Each object contains general information about bank such as name and status, also information about bank details and related link to main organization.

openfintech.banks.get({}, context)

Input

  • input object
    • page[number] integer: Current page number.
    • page[size] integer: Page size.
      Default value: 100
    • filter[sort_code] string: Filtering by banks code.
    • filter[code] string: Filtering by code.
    • filter[status] array: Filtration by status.
    • sort array: Sort params:

Output

banks.id.get

Returns bank with specific ID.

openfintech.banks.id.get({
  "id": ""
}, context)

Input

  • input object
    • id required string: Unique ID.

Output

countries.get

Returns all available countries.

openfintech.countries.get({}, context)

Input

  • input object
    • page[number] integer: Current page number.
    • page[size] integer: Page size.
      Default value: 100
    • filter[region] array: Filtration by region.
    • filter[sub_region] array: Filtration by sub region.
    • sort array: Sort params:

Output

countries.id.get

Returns country with specific ID.

openfintech.countries.id.get({
  "id": ""
}, context)

Input

  • input object
    • id required string: Unique ID.

Output

currencies.get

Returns all available currencies.

openfintech.currencies.get({}, context)

Input

  • input object
    • page[number] integer: Current page number.
    • page[size] integer: Page size.
      Default value: 100
    • filter[search] string: Full text search with name, code, type, code_iso_alpha3, code_jsons_alpha, code_estandards_alpha, category.
    • filter[code_iso_alpha3] string: Filtering by ISO code.
    • filter[code_iso_numeric3] integer: Filtering by ISO number.
    • filter[code_estandards_alpha] string: Filtering by estandards code.
    • filter[currency_type] array: Filtration by currency type.
    • filter[category] array: Filtration by category.
    • sort array: Sort params:

Output

currencies.id.get

Returns currency with specific ID.

openfintech.currencies.id.get({
  "id": ""
}, context)

Input

  • input object
    • id required string: Unique ID.

Output

deposit_methods.get

Returns list of deposit methods. Each object contains information about deposit method such as name and category, also related link to deposit method issuer (which processing it).

openfintech.deposit_methods.get({}, context)

Input

  • input object
    • page[number] integer: Current page number.
    • page[size] integer: Page size.
      Default value: 100
    • filter[search] string: Full text search with id, name, code, category.
    • filter[name] string: Filtering by name.
    • filter[code] string: Filtering by code.
    • filter[processor_name] string: Filtering by processor_name.
    • filter[category] array: Filtering by category.
    • sort array: Sort params:

Output

deposit_methods.id.get

Returns deposit method with specific ID.

openfintech.deposit_methods.id.get({
  "id": ""
}, context)

Input

  • input object
    • id required string: Unique ID.

Output

exchangers.get

Returns list of exchange markets. Each object contains general information about exchanger such as name and status, also information about rates export and related link to main organization.
Rates export standards is represented by:

openfintech.exchangers.get({}, context)

Input

  • input object
    • page[number] integer: Current page number.
    • page[size] integer: Page size.
      Default value: 100
    • filter[name] string: Filtering by name.
    • filter[status] array: Filtration by status.
    • sort array: Sort params:

Output

exchangers.id.get

Returns exchanger with specific ID.

openfintech.exchangers.id.get({
  "id": ""
}, context)

Input

  • input object
    • id required string: Unique ID.

Output

merchant_industries.get

Returns all available merchant fields of activity.

openfintech.merchant_industries.get({}, context)

Input

  • input object
    • page[number] integer: Current page number.
    • page[size] integer: Page size.
      Default value: 100
    • filter[name] string: Filtering by name.

Output

merchant_industries.id.get

Returns merchant industry with specific ID.

openfintech.merchant_industries.id.get({
  "id": ""
}, context)

Input

  • input object
    • id required string: Unique ID.

Output

organizations.get

This endpoint retrievs the list of organizations present in the system. The data displays general, public information, without reference to the type of activity (for example - name, address, contacts, etc.).

openfintech.organizations.get({}, context)

Input

  • input object
    • page[number] integer: Current page number.
    • page[size] integer: Page size.
      Default value: 100
    • filter[search] string: Full text search with id, name, code.
    • filter[name] string: Filtering by name.
    • filter[code] string: Filtering by code.
    • filter[status] array: Filtration by status.
    • filter[industries] string: Filtering by industries.
    • sort array: Sort params:

Output

organizations.id.get

Returns organization with specific ID.

openfintech.organizations.id.get({
  "id": ""
}, context)

Input

  • input object
    • id required string: Unique ID.

Output

payment_methods.get

Returns list of payment methods. Each object contains information about payment method such as name and category, also related link to payment method issuer (which processing it).

openfintech.payment_methods.get({}, context)

Input

  • input object
    • page[number] integer: Current page number.
    • page[size] integer: Page size.
      Default value: 100
    • filter[search] string: Full text search with id, name, code, category.
    • filter[name] string: Filtering by name.
    • filter[code] string: Filtering by code.
    • filter[processor_name] string: Filtering by processor_name.
    • filter[category] array: Filtering by category.
    • sort array: Sort params:

Output

payment_methods.id.get

Returns payment method with specific ID.

openfintech.payment_methods.id.get({
  "id": ""
}, context)

Input

  • input object
    • id required string: Unique ID.

Output

payment_providers.get

A payment service provider (PSP) offers shops online services for accepting electronic payments by a variety of payment methods.
Endpoint returns list of PSPs. Each object contains: name, type, supported features and sales channels, also related link to available payment methods and main organization.

openfintech.payment_providers.get({}, context)

Input

  • input object
    • page[number] integer: Current page number.
    • page[size] integer: Page size.
      Default value: 100
    • filter[search] string: Full text search with id, code, name.
    • filter[name] string: Filtering by name.
    • filter[code] string: Filtering by code.
    • filter[types] array: Filtering by types.
    • filter[sales_channels] array: Filtering by sales channels.
    • filter[features] array: Filtering by features.
    • sort array: Sort params:

Output

payment_providers.id.get

Returns payment provider with specific ID.

openfintech.payment_providers.id.get({
  "id": ""
}, context)

Input

  • input object
    • id required string: Unique ID.

Output

Definitions

ActiveInCountriesRelationship

  • ActiveInCountriesRelationship object: Active in countries
    • data array
      • items object
        • id string
        • type string
    • links object
      • related string

Bank

BankAttributes

  • BankAttributes object: Array of bank attributes
    • account_number string
    • bank_code string
    • bic string
    • code string: Bank`s code
    • iban string
    • name string: Bank`s name
    • sort_code string
    • status string: Status [active, liquidated, problem, deleted]
    • vatin string

BankOrganization

BankOrganizationData

  • BankOrganizationData object
    • id string: Organization`s ID
    • type string

BankOrganizationLinks

  • BankOrganizationLinks object
    • related string

BankRelationships

BankResponse

  • BankResponse object

BanksResponse

CountriesResponse

Country

CountryAttributes

  • CountryAttributes object
    • area string: Country’s area (sq km)
    • calling_codes array: Array of country`s phone codes
      • items integer
    • capital string: Country’s capital
    • code_alpha3 string: Country`s ISO alpha3 code
    • languages array: Array of country`s languages
      • items string
    • name string: Country`s name
    • native_name string: Country`s nativ name
    • population string: Country’s population
    • region string: Country’s region:
    • sub_region string: Country’s sub region:
    • timezones array: Array of country`s timezones (UTC)
      • items string
    • top_level_domains array: Array of country`s domains
      • items string

CountryRelationships

CountryResponse

  • CountryResponse object

CountryTranslations

CountryTranslationsLinks

  • CountryTranslationsLinks object
    • related string

CurrenciesResponse

Currency

CurrencyAttributes

  • CurrencyAttributes object: Array of currencies attributes
    • category string: Currency category
    • code string: Currency system code
    • code_estandards_alpha string
    • code_iso_alpha3 string: Currency ISO code
    • code_iso_numeric3 integer: Currency ISO numeric code
    • code_json_alpha string
    • created string: Created date in system (in Unixtime)
    • currency_type string: Type of currencies [national, digital, virtual, metal, energy]
    • decimal_e string: Number of digits after the decimal separator
    • icon CurrencyAttributesIcon
    • issuer string: Currency`s issuer
    • name string: Currency description
    • native_symbol string: Currency’s symbol. In general, only for nationals currencies
    • symbol string: Currency’s symbol. In general, only for nationals currencies

CurrencyAttributesIcon

  • CurrencyAttributesIcon object: Links to currency icons
    • 16 string: 16x16 icon
    • 32 string: 32x32 icon
    • 64 string: 64x64 icon

CurrencyCountries

CurrencyCountryLinks

  • CurrencyCountryLinks object
    • related string

CurrencyIssuer

CurrencyIssuerLinks

  • CurrencyIssuerLinks object
    • related string

CurrencyIssuerOrganization

CurrencyIssuerOrganizationData

  • CurrencyIssuerOrganizationData object
    • id string: Issuer organization ID
    • type string

CurrencyIssuerOrganizationLinks

  • CurrencyIssuerOrganizationLinks object
    • related string

CurrencyIssuertData

  • CurrencyIssuertData object
    • id string: Issuer ID
    • type string

CurrencyParent

CurrencyParentData

  • CurrencyParentData object
    • id string: Parent currency ID
    • type string

CurrencyParentLinks

  • CurrencyParentLinks object
    • related string

CurrencyRelationships

CurrencyResponse

DepositMethod

DepositMethodAttributes

  • DepositMethodAttributes object: Array of Deposit-method attributes
    • category string
    • code string: Deposit-method`s code
    • name string: Deposit-method`s name
    • processor_name string: Deposit-method`s processor

DepositMethodProcessorData

  • DepositMethodProcessorData object: Processor`s Data.
    • data array
      • items object
        • id string: Processor`s id.
        • type string: Processor`s type.
    • links object
      • related string

DepositMethodRelationships

DepositMethodResponse

DepositMethodsResponse

Exchanger

ExchangerAttributes

  • ExchangerAttributes object
    • name string: Exchanger`s name
    • rates_export_standard string
    • rates_export_url string
    • status string: Exchanger`s status [active, blocked, deleted]
    • wmid integer: Exchanger`s WebMoney ID

ExchangerOrganization

ExchangerOrganizationData

  • ExchangerOrganizationData object
    • id string: Organization ID
    • type string

ExchangerOrganizationLinks

  • ExchangerOrganizationLinks object
    • related string

ExchangerRelationships

ExchangerResponse

ExchangersResponse

MerchantIndustriesResponse

MerchantIndustry

MerchantIndustryAttributes

  • MerchantIndustryAttributes object: Array of Merchant-industry attributes
    • name string: Merchant-industry`s name

MerchantIndustryResponse

Organization

OrganizationActive

OrganizationActiveLinks

  • OrganizationActiveLinks object
    • related string

OrganizationAddress

  • OrganizationAddress object: Organization`s address
    • city string
    • country string
    • post_code integer
    • region string: Country’s region:
    • street string

OrganizationAttributes

OrganizationAttributesIcon

  • OrganizationAttributesIcon object: Links to organization icons
    • 16 string: 16x16 icon
    • 32 string: 32x32 icon
    • 64 string: 64x64 icon

OrganizationAttributesLogo

  • OrganizationAttributesLogo object: Links to organization logos
    • 50 string: 50x50 logo
    • 100 string: 100x100 logo
    • 150 string: 150x150 logo

OrganizationContacts

  • OrganizationContacts object: Organization`s contacts
    • email string
    • fax string
    • phone string
    • skype string

OrganizationHq

OrganizationHqData

  • OrganizationHqData object
    • id string: HQ location
    • type string

OrganizationHqLinks

  • OrganizationHqLinks object
    • related string

OrganizationRelationships

OrganizationResponse

OrganizationSocial

  • OrganizationSocial object: Social profiles
    • facebook string
    • google_plus string
    • linked_in string
    • twitter string
    • vkontakte string

OrganizationSource

OrganizationSourceData

  • OrganizationSourceData object
    • id string
    • type string

OrganizationSourceLinks

  • OrganizationSourceLinks object
    • related string

OrganizationsResponse

PaymentMethod

PaymentMethodAttributes

  • PaymentMethodAttributes object: Array of Payment-method attributes
    • category string
    • code string: Payment-method`s code
    • name string: Payment-method`s name
    • processor_name string: Payment-method`s processor

PaymentMethodCurrencies

PaymentMethodCurrenciesLinks

  • PaymentMethodCurrenciesLinks object
    • related string

PaymentMethodProcessor

PaymentMethodProcessorData

  • PaymentMethodProcessorData object: Processor`s Data.
    • id string: Processor`s id.
    • type string: Processor`s type.

PaymentMethodProcessorLinks

  • PaymentMethodProcessorLinks object
    • related string

PaymentMethodRelationships

PaymentMethodResponse

PaymentMethodsResponse

PaymentProvider

PaymentProviderAttributes

  • PaymentProviderAttributes object: Array of Payment-provider attributes
    • code string: Payment-provider`s code
    • features array
      • items string
    • name string: Payment-provider`s name
    • sales_channels array
      • items string
    • types array
      • items string

PaymentProviderOrganization

PaymentProviderOrganizationData

  • PaymentProviderOrganizationData object
    • id string: Organization`s ID
    • type string

PaymentProviderOrganizationLinks

  • PaymentProviderOrganizationLinks object
    • related string

PaymentProviderPaymentMethods

PaymentProviderPaymentMethodsLinks

  • PaymentProviderPaymentMethodsLinks object
    • related string

PaymentProviderRelationships

PaymentProviderResponse

PaymentProvidersResponse

ResponseLinks

  • ResponseLinks object
    • first required string: first page of query
    • last required string: last page of query
    • next string: next page in query
    • prev string: previous page in query

ResponseMeta

  • ResponseMeta object
    • pages integer: total pages
    • total integer: total objects in query

SelfLinks

  • SelfLinks object
    • self string

SupportedPspsRelationship

  • SupportedPspsRelationship object: Supported psps
    • data array
      • items object
        • id string
        • type string
    • links object
      • related string

Readme

Keywords

none

Package Sidebar

Install

npm i @datafire/openfintech

Weekly Downloads

1

Version

6.0.0

License

MIT

Unpacked Size

112 kB

Total Files

4

Last publish

Collaborators

  • datafire