Class: PBShipping::Tracking

Inherits:
ShippingApiResource show all
Defined in:
lib/pbshipping/tracking.rb

Instance Method Summary collapse

Methods inherited from ApiObject

#[], #[]=, #add_accessors, #as_json, convert_to_api_object, #create_accessor, #each, #initialize, #inspect, #key?, #keys, #metaclass, #respond_to?, #to_hash, #to_json, #to_s, #update, #values

Constructor Details

This class inherits a constructor from PBShipping::ApiObject

Instance Method Details

#updateStatus(auth_obj) ⇒ Object

TRACKING API: GET /tracking/trackingNumber API signature: get/tracking/…

Shipment labels that are printed using the Pitney Bowes APIs are automatically tracked and their package status can be easily retrieved using this implementation of the GET operation.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/pbshipping/tracking.rb', line 31

def updateStatus(auth_obj) 
  if self.key?(:trackingNumber) == false
    raise MissingResourceAttribute.new(:trackingNumber)
  end
  if self.key?(:packageIdentifierType) == false
    self[:packageIdentifierType] = "TrackingNumber"
  end
  if self.key?(:carrier) == false
    self[:carrier] = "USPS"
  end
  params = {
    :carrier => self[:carrier],
    :packageIdentifierType => self[:packageIdentifierType]
  }
  api_sig = "get/tracking/..."
  api_version = PBShipping::get_api_version(api_sig)
  api_path = "/tracking/" + self[:trackingNumber]
  json_resp = PBShipping::api_request(
    auth_obj, :get, api_version, api_path, {}, params, {})
  self.update(json_resp)
end