Project

parcel_api

0.0
No commit activity in last 3 years
No release in over 3 years
Ruby client for NZ Post's Parcel APIs
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.8
~> 0.10
~> 10.0
~> 3.2
~> 2.9
~> 1.21
~> 0.9

Runtime

~> 1.0
~> 3.2
>= 2.7.1, ~> 2.7
~> 0.19
 Project Readme

ParcelApi

RubyGem Build Status Code Climate Test Coverage

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

  1. Fork it ( https://github.com/etailer/parcel_api/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request