The sageone_sdk gem provides Ruby methods for accessing the Sage One API endpoints.
Add this line to your application's Gemfile:
gem 'sageone_sdk'And then execute:
$ bundle
Or install it yourself as:
$ gem install sageone_sdk
Further information on authorisation and token requests is available here.
To generate the authorisation url and to request an access token using a SageoneSdk::Client, you need to provide your client_id, client_secret and redirect_uri (callback url).
client = SageoneSdk::Client.new({ client_id: @client_id, client_secret: @client_secret, redirect_uri: @redirect_uri})
You can then return the generated authorization_url:
redirect_to client.authorization_url
To request an access token using a SageoneSdk::Client, you will need to provide the code returned in the parameters from the authorisation url on a successful authorisation
client = SageoneSdk::Client.new({ client_id: @client_id, client_secret: @client_secret, redirect_uri: @redirect_uri})
client.request_access_token(code)
To refresh an access_token using SageoneSdk::Client, you will need to provide your refresh_token recieved when the access_token was generated
client = SageoneSdk::Client.new({ client_id: @client_id, client_secret: @client_secret)
client.refresh_access_token(refresh_token)
To create a SageoneSdk::Client, and make requests to the apim you need to provide your access_token and signing_secret:
@client = SageoneSdk::Client.new({access_token: @access_token,
                                  signing_secret: @signing_secret})
Further information about obtaining these is available here.
You can then call the required method on the @client:
@client.bank_accounts
=> #<SageoneSdk::SDataResponse:0x007faaa9eb1760
   @data=
    {"$totalResults"=>2,
     "$startIndex"=>0,
     "$itemsPerPage"=>20,
     "$resources"=>
      [{"id"=>214227,
        "account_name"=>"Current",
        #...}]
    }>
- Fork it ( https://github.com/[my-github-username]/sageone/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request