5 releases
0.1.0 | Jul 3, 2020 |
---|---|
0.0.3 | Nov 3, 2019 |
0.0.2 | Nov 2, 2019 |
0.0.1 | Oct 15, 2019 |
0.0.0 | Oct 15, 2019 |
#168 in #client
37 downloads per month
54KB
997 lines
Monzo
This crate is a Monzo client in pure rust.
It's ergonomic, strongly-typed, and asynchronous.
In order to use this client, you will first need to get an access token and/or refresh token for the Monzo API (see the monzo API docs)
Usage
use monzo::{Client, Result};
#[tokio::main]
async fn main() -> Result<()> {
// You can create a simple monzo client using only an access token
let quick_client = Client::quick("ACCESS_TOKEN");
// get a list of accounts
let accounts = quick_client.accounts().await?;
// get the id of one of the accounts
let account_id = &accounts[0].id;
// get the balance of that account
let balance = quick_client.balance(account_id).await?;
// or a list of transactions
let transactions = quick_client.transactions(account_id).await?;
// If you have a refresh token and client credentials
// you can create or upgrade a client which is capable
// of refreshing its own access token.
let mut refreshable_client = quick_client.with_refresh_tokens(
"CLIENT_ID",
"CLIENT_SECRET",
"REFRESH_TOKEN",
);
refreshable_client.refresh_auth().await?;
Ok(())
}
Contributing
see the following issue tags for good starting points for contributions
or checkout the project board
There are a couple of small gaps in the API surface, but the majority of the endpoints are already supported. If you need a piece of functionality that is not yet implemented, please open an issue or even better, a pull request.
License: Apache-2.0
Dependencies
~5–9MB
~200K SLoC