Skip to content

BloomAndWild/royal_mail_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoyalMailApi

Wrapper for Royal Mail's SOAP API.

Installation

Add this line to your application's Gemfile:

gem 'royal_mail_api'

And then execute:

$ bundle

Or install it yourself as:

$ gem install royal_mail_api

Usage

in initializers/royal_mail_api.rb

  RoyalMailApi::Client.configure do |config|
    config.application_id = 'your Royal Mail application id'
    config.username = 'your Royal Mail username'
    config.password = 'your Royal Mail password'
    config.client_id = 'your royal mail app's client_id (register an application at https://developer.royalmail.net)'
    config.client_secret = 'your royal mail app's client_secret'
    config.shipping_wsdl = 'path to your shipping api wsdl file'
    config.tracking_wsdl = 'path to your tracking api wsdl file'
    config.shipping_endpoint = 'https://api.royalmail.net/shipping/v2'
    config.tracking_endpoint = 'https://api.royalmail.net/tracking'
    config.adapter = library used for http requests (eg. httpclient, excon)
    config.logger = however you wish to log (Logger.new(STDOUT), Rails.logger etc)
  end

to make a request

  RoyalMailApi::RequestHandler.request(type, attrs)

types:

create_shipment

  attrs = {
    transaction_id: unique identifier, preferably the id of the delivery in your system,
    shipping_date: format ('%Y-%m-%d'),
    user_name: '',
    email: '',
    address_line1: '',
    post_town: '',
    post_code: '',
    weight: weight of letter/parcel,
    country_code: addressee's number's country code,
    telephone_number: ''
  }

  RoyalMailApi::RequestHandler.request(:create_shipment, attrs)

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.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

  1. Fork it ( https://github.com/[my-github-username]/royal_mail_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

config adapter

To make sure that savon can make the requests you may have to install another library to use as an adapter:

savonrb/savon#679 savonrb/savon#491 savonrb/savon#297

This is a consistent issue, so best to play around.