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
2025
 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