Balanced API specification.
Ruby
Latest commit 2fd1ef7 Jan 20, 2015 @remear remear Merge pull request #738 from balanced/settlement-links
Require settlement links on Credit and Reversal
Permalink
Failed to load latest commit information.
bin Set up rake tasks to make running features easier Dec 18, 2013
features Cleanup Jan 15, 2015
fixtures
lib/balanced Change endpoing with endpoint May 2, 2014
.gitignore wip, getting extracer to log requests Feb 7, 2014
.travis.yml
Gemfile Introduce parallel tests. May 21, 2014
Gemfile.lock Introduce parallel tests. May 21, 2014
README.md Update README.md Dec 16, 2014
Rakefile Introduce parallel tests. May 21, 2014

README.md

Balanced API Specification

Build Status

This repository contains an executable specification of the Balanced API. The goal of this repository is two-fold. First, to ensure that the API is working according to the spec. Second, to provide a place to have discussions around the API as a product.

An Executable Specification

Specifications don't matter if they're not followed. Therefore, this specification is executable, so we can ensure conformance to the spec. There are more details in the README file inside the features directory, but to run these tests yourself, simply:

$ git clone https://github.com/balanced/balanced-api.git
$ cd balanced-api
$ bundle
$ bin/rake cucumber

This requires Ruby. We run the changes with Ruby 2.0, but other versions will probably work as well. Let us know if you have any problems running these specs, and we'd be happy to help.

If you're working on a new scenario, the 'focus' task is useful. Tag a scenario with @focus, and then run bin/rake focus. It will only run that single scenario.

Discussions around changes

Speaking of issues, that's the second purpose of this repository. If you would like to see a new feature implemented in the Balanced API, please open an issue and we'll discuss it.

For example, one of our biggest requests is to support non-USD currencies. Here is the issue with the discussion, and when we support this feature, we close the issue via a pull request that implements the specification, and then everyone on the issue gets notified.

Sometimes, Issues are great for collecting feedback, as well. For example, all implementation of the current framework was done via PR, and some issues need more explanation around use cases by those who want the feature, like Bitcoin support.

We try to do as much 'internal' discussion in these issues as well, it's not just for public feedback. If you want to know what we're thinking, just search for a relevant issue!

Edit field descriptions for scenarios

Field descriptions are from balanced.rev1.json, which are generated from balanced-api. The "forms" used in balanced-docs are assembled from parameters supplied in the scenarios in balanced-api. Those scenarios should be updated to include the fields missing the specific scenario section and a newly generated balanced.rev1.json be committed into the docs. To generate balanced.rev1.json in balanced-api run:

bundle exec rake features:all

DO NOT run

bundle exec rake parallel:features

doing so causes the file to overwrite itself.