Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/scharrier/qonto-ruby

Unofficial Qonto Api Ruby client
https://github.com/scharrier/qonto-ruby

banking client rest-api

Last synced: about 2 months ago
JSON representation

Unofficial Qonto Api Ruby client

Awesome Lists containing this project

README

        

# Qonto API Ruby Client

The Qonto API Ruby client provides convenient access to the Qonto API from applications written in Ruby language.
It is currently up to date with the `v2` version. Qonto API documentation is avaible at https://api-doc.qonto.eu.

This project is not affiliated with the Qonto company in any way.

## Installation

Add this line to your application's Gemfile:

gem 'qonto'

And then execute:

$ bundle

Or install it yourself as:

$ gem install qonto

## Requirements

* Ruby 2.1+.

## Usage

The library needs to be configured with your account's secret key and organization
slug which are available in your organization dashboard on http://qonto.eu.

require 'qonto'

# Initialize your client
client = Qonto::Client.new(slug: 'your-organization-slug', secret_key: 'your-secret-key')

You can retrieve your organization bank accounts by calling `get_organization`:

# Retrieve your organization object
organization = client.get_organization
bank_account = organization.bank_accounts.first

# Balance is available for each bank account
puts "Balance: #{bank_account.balance} €"

You can list transactions for a given bank account by calling `list_transactions`:

# Paginate through the pending transactions
transactions = client.list_transactions(
bank_account: bank_account,
per_page: 10,
current_page: 2,
status: ['pending']
)

transactions.each do |transaction|
puts " #{transaction.side} (#{transaction.status}): #{transaction.amount} #{transaction.currency} - #{transaction.label}"
end

If a request returns an error, the client raises a `Qonto::Error`. This can be simply
handled by a `begin/rescue` block:

begin
organization = client.get_organization
puts "Balance: #{organization.bank_accounts.first.balance} €"
rescue Qonto::Error => e
puts "Oops: #{e.to_s}"
end

## Development

After checking out the repo, run `bundle install` to install dependencies. Then, run `rake spec` to run the tests.

To install this gem onto your local machine, run `bundle exec rake install`.