Go bindings for the Mondo (https://getmondo.co.uk) banking API
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bankterm First blood Nov 29, 2015
webhook
.gitignore
README.md
domain.go
mondo.go
mondo_test.go

README.md

go-mondo

Package go-mondo provides Go bindings for the Mondo banking app and marshals them into native data structures with full support for Mondo objects like Transactions, Merchants and Addresses. It makes no assumptions regarding your use case. Thus, strategies for pagination, retries and refreshing oauth tokens are left for the caller to decide upon. The full documentation for the API is available here.

pDpOAr

Supported

  • OAuth2 authentication
  • Listing accounts
  • Reading all transactions
  • Reading a specific transaction
  • Creating a feed item in your feed, with full styling

Example

client, err := mondo.Authenticate(clientId, clientSecret, userName, password)
if err != nil {
  return err
}

log.Infof("Authenticated with Mondo successfully!")

// Retrieve all of the accounts.
acs, err := client.Accounts()
if err != nil {
  return err
}

// Grab our account ID.
accountId := acs[0].ID

// Get all transactions. You can also get a specific transaction by ID.
transactions, err := client.Transactions(accountId, "", "", 100)
if err != nil {
  return err
}
log.Infof("%#v", transactions)

// Create new feed item
err := client.CreateFeedItem(accountId, "Morning!", "https://blog.golang.org/gopher/gopher.png", "", "", "", "Hi from go-mondo!")
if err != nil {
  return err
}

A larger example of how to use the client is provided in the bankterm example. It takes your last 100 Mondo transactions and prints them to a table in your terminal.

Things still to do

  • Greater client test coverage

Helping out

Please do.