class EasyPost::Services::Tracker
Constants
- MODEL_CLASS
A
Tracker
object contains all of the tracking information for a package.
Public Instance Methods
all(params = {})
click to toggle source
Retrieve a list of Trackers
# File lib/easypost/services/tracker.rb, line 22 def all(params = {}) filters = { key: 'trackers', tracking_code: params[:tracking_code], carrier: params[:carrier], } get_all_helper('trackers', MODEL_CLASS, params, filters) end
create(params = {})
click to toggle source
Create a Tracker
# File lib/easypost/services/tracker.rb, line 7 def create(params = {}) wrapped_params = { tracker: params } response = @client.make_request(:post, 'trackers', wrapped_params) EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS) end
create_list(params = {})
click to toggle source
Create multiple Tracker
objects in bulk.
# File lib/easypost/services/tracker.rb, line 33 def create_list(params = {}) wrapped_params = { 'trackers' => params } @client.make_request(:post, 'trackers/create_list', wrapped_params) true # This endpoint does not return a response so we return true here instead end
get_next_page(collection, page_size = nil)
click to toggle source
Get the next page of trackers.
# File lib/easypost/services/tracker.rb, line 41 def get_next_page(collection, page_size = nil) raise EasyPost::Errors::EndOfPaginationError.new unless more_pages?(collection) params = { before_id: collection.trackers.last.id } params[:page_size] = page_size unless page_size.nil? params.merge!(collection[EasyPost::InternalUtilities::Constants::FILTERS_KEY]).delete(:key) all(params) end
retrieve(id)
click to toggle source
Retrieve a Tracker
# File lib/easypost/services/tracker.rb, line 15 def retrieve(id) response = @client.make_request(:get, "trackers/#{id}") EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS) end