ParcelApi
Ruby wrapper for NZ Post's Shipping APIs.
You must be a registered user of these APIs to use this gem.
Features
- ParcelAddress
- ShippingOptions
- ParcelPickUp
- ParcelLabel
- ParcelTrack
- ParcelNotification
Installation
Add this line to your application's Gemfile:
gem 'parcel_api'
And then execute:
$ bundle
Or install it yourself as:
$ gem install parcel_api
Usage
Configuration Options
By default credentials are taken from the local environment, for this to work the following ENV variables must be set:
ENV['CLIENT_ID']
ENV['CLIENT_SECRET']
ENV['USERNAME']
ENV['PASSWORD']
You can also configure credentials via ParcelApi::Client.new
:
client = ParcelApi::Client.new.tap do |config|
config.client_id = ENV['CLIENT_ID']
config.client_secret = ENV['CLIENT_SECRET']
config.username = ENV['USERNAME']
config.password = ENV['PASSWORD']
config.address = 'https://api.uat.nzpost.co.nz/' # defaults to api.nzpost.co.nz
config.redis = Redis.new(url: 'redis://:p4ssw0rd@10.0.1.1:6380/15') # defaults to Redis.new
end
Redis is currently required, Oauth2 access_token
's are cached in Redis and expired automatically. You can use an existing Redis connection.
Client connections can be passed to each method:
ParcelApi::Address(client.connection)
Documentation
Documentation is available here
Some usage examples are also available here
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run bin/console
for an interactive prompt that will allow you to experiment.
Contributing
- Fork it ( https://github.com/etailer/parcel_api/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