Access API
A ruby wrapper for the Access API
Installation
gem 'access', '~> 2.0.0'
And then execute:
$ bundle
Or install it yourself as:
$ gem install access
Setup
Config setup
You can configure the following options:
access_token
Requiredapi_environment
: Set as'demo'
or'production'
. Default is'demo'
.return_json
: Set as'true'
or'false'
. Default is'false'
return ruby objects.hashify
: Set as'true'
or'false'
. Default is'false'
return a hashed version of the json response ifreturn_json
is set to 'true'.access_timeout
: Set as a number. Default to'10'
.access_debug_output
: Set as a string'true'
or 'false
'. Default is 'false
'. When 'true
' it will write out the raw request response from the httparty call.
Config via Environment Variables
You can set config settings by creating environment variables called:
ENV['ACCESS_TOKEN']
, ENV['ACCESS_ENVIRONMENT']
, ENV['ACCESS_RETURN_JSON']
, ENV['ACCESS_HASHIFY']
, ENV['ACCESS_TIMEOUT']
, ENV['ACCESS_DEBUG_OUTPUT']
.
Config via Initializer
You can also create an initializer file to set up a config
Access.configure do |config|
config.access_token = ENV['ACCESS_TOKEN']
end
You can also set them one at a time
Access.config.access_token = ENV['ACCESS_TOKEN']
Config via Params
api_environment
can be overwritten by passing in by passing the param api_environment
to the end of any call that accepts options.
access_timeout
can be overwritten by passing in by passing the param access_timeout
to the end of any call that accepts options.
access_token
can be overwritten by passing in by passing the param access_token
to the end of any call that accepts options.
return_json
can be overwritten by passing in by passing the param return_json
to the end of any call that accepts options.
hashify
can be overwritten by passing in by passing the param hashify
to the end of any call that accepts options.
access_debug_output
can be overwritten by passing in by passing the param access_debug_output
to the end of any call that accepts options.
Making Calls
Offer
Access::Offer.search options, member_key: **your-member-key**
Access::Offer.find **offer_key**, options, member_key: **your-member-key**
Store
Access::Store.search options, member_key: **your-member-key**
Access::Store.find **store_key**, options, member_key: **your-member-key**
Access::Store.national options, member_key: **your-member-key**
Location
Access::Location.search options, member_key: **your-member-key**
Access::Location.find **location_key**, options, member_key: **your-member-key**
Category
Access::Category.search options, member_key: **your-member-key**
Access::Category.find **category_key**, options, member_key: **your-member-key**
Autocomplete
Access::Autocomplete.search
Access::Autocomplete.search_stores
Access::Autocomplete.search_categories
Access::Autocomplete.search_offers
Access::Autocomplete.search_locations
Redeem
Access::Redeem.redeem_offer **key**, nil, options, member_key: **your-member-key**
Access::Redeem.redeem_offer **offer_key**, **redeem_type**, options, member_key: **your-member-key**
Member
City Savings
Access::CitySavings.search_city_savings options, member_key: **your-member-key**
Channel
Access::Channel.search
Access::Channel.find **channel_key**, options
Campaign
Access::Campaign.search
Access::Campaign.find **campaign_key**, options
Spot
Access::Spot.search_by_channel **channel_key**, options
Access::Spot.search_by_campaign **campaign_key**, options
Access::Spot.find **spot_key**, options
Internal Admin only Calls
Filter
Access::Filter.search
Access::Filter.find **filter_key**, options
Report
Access::Report.all_usage
Access::Report.usage
Access::Report.usage_other **token**, options
Token
Access::Token.search
Access::Token.find **token**, options
Oauth Application
Access::OauthApplication.search
Access::OauthApplication.find **application_id**, options
Access::OauthApplication.search_tokens **application_id**, options
Access::OauthApplication.find_token **application_id**, **token_id**, options
Access::OauthApplication.create_token **application_id**, options
Access::OauthApplication.create **application_id**, options
Access::OauthApplication.update **application_id**, options
Access::OauthApplication.delete **application_id**, options
Verify
Access::Verify.token
Access::Verify.filter
AMT
Need amt permission scope for your application before you can access these api's
# pass in an array of members you want to import with the required parameters:
# https://docs.accessdevelopment.com/amt/importing-members.html#overview
members_array = [{organization_customer_identifier: 'example', program_customer_identifier: 'example', member_customer_identifier: 'example' }]
a = Access::Amt.import(members_array)
a = Access::Amt.list()
a = Access::Amt.show(import_id)
Contributing
- Fork it ( https://github.com/access-development/api-ruby/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
Running the Tests
ACCESS_TOKEN=**your-access-token** rake
ACCESS_TOKEN=*your-access-token** guard
or add your environment variables to a .env
file and run the test simply with rake
or guard
Running the Gem in Console
ACCESS_TOKEN=*your-access-token** ruby bin/console
or add your environment variables to a .env
file and run ruby bin/console