class CanadaPost::Client
Public Class Methods
new(options={})
click to toggle source
# File lib/canada_post/client.rb, line 4 def initialize(options={}) @credentials = Credentials.new(options) end
Public Instance Methods
create(options = {})
click to toggle source
# File lib/canada_post/client.rb, line 12 def create(options = {}) Request::Shipping.new(@credentials, options).process_request end
details(shipping_id)
click to toggle source
# File lib/canada_post/client.rb, line 68 def details(shipping_id) Request::Shipping.new(@credentials).details(shipping_id) end
get_artifact(url)
click to toggle source
# File lib/canada_post/client.rb, line 40 def get_artifact(url) manifest = Request::Manifest.new(@credentials).get_manifest(url) if manifest[:errors].present? return { status: false, error: manifest[:errors] } else artifact_link = get_artifact_link(manifest[:manifest]) artifact = Request::Manifest.new(@credentials).get_artifact(artifact_link) return { status: true, artifact: artifact } end end
get_artifact_link(manifest)
click to toggle source
# File lib/canada_post/client.rb, line 57 def get_artifact_link(manifest) links = manifest[:links] if links.present? links[:link].each do |link| if link[:rel] == 'artifact' return link[:href] end end end end
get_label(label_url)
click to toggle source
# File lib/canada_post/client.rb, line 20 def get_label(label_url) Request::Shipping.new(@credentials).get_label(label_url) end
get_merchant_info(token)
click to toggle source
# File lib/canada_post/client.rb, line 36 def get_merchant_info(token) Request::Registration.new(@credentials).merchant_info(token) end
get_price(shipping_id, mobo = @credentials.customer_number)
click to toggle source
# File lib/canada_post/client.rb, line 16 def get_price(shipping_id, mobo = @credentials.customer_number) Request::Shipping.new(@credentials).get_price(shipping_id, mobo) end
manifest(options={})
click to toggle source
# File lib/canada_post/client.rb, line 28 def manifest(options={}) Request::Manifest.new(@credentials, options).process_request end
rate(options={})
click to toggle source
# File lib/canada_post/client.rb, line 72 def rate(options={}) Request::Rate.new(@credentials, options).process_request end
registration_token()
click to toggle source
# File lib/canada_post/client.rb, line 32 def registration_token Request::Registration.new(@credentials).get_token end
shipment(options={})
click to toggle source
# File lib/canada_post/client.rb, line 8 def shipment(options={}) Request::Shipment.new(@credentials, options).process_request end
void_shipment(shipping_id, mobo = @credentials.customer_number)
click to toggle source
# File lib/canada_post/client.rb, line 24 def void_shipment(shipping_id, mobo = @credentials.customer_number) Request::Shipping.new(@credentials).void_shipping(shipping_id, mobo) end