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