easypost 6.0.0 → 6.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +6 -6
- data/CHANGELOG.md +23 -0
- data/Makefile +8 -2
- data/README.md +1 -1
- data/VERSION +1 -1
- data/easypost.gemspec +0 -1
- data/lib/easypost/client.rb +2 -0
- data/lib/easypost/models/claim.rb +5 -0
- data/lib/easypost/models.rb +1 -0
- data/lib/easypost/services/base.rb +5 -2
- data/lib/easypost/services/billing.rb +39 -37
- data/lib/easypost/services/carrier_account.rb +26 -5
- data/lib/easypost/services/claim.rb +43 -0
- data/lib/easypost/services/insurance.rb +7 -0
- data/lib/easypost/services/shipment.rb +9 -0
- data/lib/easypost/services/smart_rate.rb +19 -0
- data/lib/easypost/services/tracker.rb +1 -0
- data/lib/easypost/services/user.rb +17 -0
- data/lib/easypost/services.rb +2 -0
- data/lib/easypost/utilities/static_mapper.rb +2 -0
- metadata +6 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 643a95f0b48e9abedc30e67d868ec3538d8d896b9c385734966805c83e72bd90
|
4
|
+
data.tar.gz: a532de25388ea110f152e77205bea2104228e83e7279dc66d0b500238d5b8416
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94b9cf67261d5c9bba01183812bef018d0b4918cc5f3593befdff2884095816299585bf33d86ee0de14015814c53ddd2911b9de85692c9c73421e1133cd57605
|
7
|
+
data.tar.gz: ba8c81ed037de3ccad7441eba06111eefb7430e69ac36169dd3409efa7965a092b18bc114d3767610dcb15453a6bfeed584073f35a986214b96f5eab4c6e2dcb
|
data/.github/workflows/ci.yml
CHANGED
@@ -11,7 +11,7 @@ jobs:
|
|
11
11
|
runs-on: ubuntu-latest
|
12
12
|
strategy:
|
13
13
|
matrix:
|
14
|
-
rubyversion: ['2.6', '2.7', '3.0', '3.1', '3.2']
|
14
|
+
rubyversion: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
|
15
15
|
steps:
|
16
16
|
- name: Checkout Repository
|
17
17
|
uses: actions/checkout@v3
|
@@ -19,7 +19,7 @@ jobs:
|
|
19
19
|
uses: ruby/setup-ruby@v1
|
20
20
|
with:
|
21
21
|
ruby-version: ${{ matrix.rubyversion }}
|
22
|
-
rubygems: '3.
|
22
|
+
rubygems: '3.3.0'
|
23
23
|
bundler-cache: true
|
24
24
|
- name: Install Dependencies
|
25
25
|
run: make install
|
@@ -39,8 +39,8 @@ jobs:
|
|
39
39
|
- name: Set up Ruby
|
40
40
|
uses: ruby/setup-ruby@v1
|
41
41
|
with:
|
42
|
-
ruby-version: '3.
|
43
|
-
rubygems: '3.
|
42
|
+
ruby-version: '3.3'
|
43
|
+
rubygems: '3.3.0'
|
44
44
|
bundler-cache: true
|
45
45
|
- name: Install Dependencies
|
46
46
|
run: make install
|
@@ -57,8 +57,8 @@ jobs:
|
|
57
57
|
- name: Set up Ruby
|
58
58
|
uses: ruby/setup-ruby@v1
|
59
59
|
with:
|
60
|
-
ruby-version: '3.
|
61
|
-
rubygems: '3.
|
60
|
+
ruby-version: '3.3'
|
61
|
+
rubygems: '3.3.0'
|
62
62
|
bundler-cache: true
|
63
63
|
- name: Install Dependencies
|
64
64
|
run: make install
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,28 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## v6.4.0 (2024-07-24)
|
4
|
+
|
5
|
+
- Adds new `Claim` service for filing claims on EasyPost shipments and insurances
|
6
|
+
|
7
|
+
## v6.3.0 (2024-07-12)
|
8
|
+
|
9
|
+
- Adds new `shipment.recommend_ship_date`, `smartrate.recommend_ship_date`, and `smartrate.estimate_delivery_date` functions
|
10
|
+
- Routes `UpsAccount`, `UpsMailInnovationsAccount`, and `UpsSurepostAccount` create/update requests to the new `/ups_oauth_registrations` endpoint
|
11
|
+
- Starting `2024-08-05`, UPS accounts will require a new payload to register or update. See [UPS OAuth 2.0 Update](https://support.easypost.com/hc/en-us/articles/26635027512717-UPS-OAuth-2-0-Update?utm_medium=email&_hsenc=p2ANqtz-96MmFtWICOzy9sKRbbcZSiMovZSrY3MSX1_bgY9N3f9yLVfWQdLhjAGq-SmNcOnDIS6GYhZ0OApjDBrGkKyLLMx1z6_TFOVp6-wllhEFQINrkuRuc&_hsmi=313130292&utm_content=313130292&utm_source=hs_email) for more details
|
12
|
+
|
13
|
+
## v6.2.0 (2024-04-10)
|
14
|
+
|
15
|
+
- Fix payment method funding and deletion failures due to undetermined payment method type
|
16
|
+
- Add `refund` function in Insurance service for requesting a refund for standalone insurance.
|
17
|
+
|
18
|
+
## v6.1.1 (2024-01-23)
|
19
|
+
|
20
|
+
- Fix issues funding wallet due to invalid internal function call
|
21
|
+
|
22
|
+
## v6.1.0 (2024-01-08)
|
23
|
+
|
24
|
+
- Add `all_children` and `get_next_page_of_children` in `user` service
|
25
|
+
|
3
26
|
## v6.0.0 (2023-12-06)
|
4
27
|
|
5
28
|
- Removes `with_carbon_offset` parameter from `create`, `buy` and `regenerate_rates` methods in the shipment service since now EasyPost offers carbon neutral shipments by default for free
|
data/Makefile
CHANGED
@@ -24,8 +24,13 @@ docs:
|
|
24
24
|
install-styleguide: | update-examples-submodule
|
25
25
|
sh examples/symlink_directory_files.sh examples/style_guides/ruby .
|
26
26
|
|
27
|
+
## init-examples-submodule - Initialize the examples submodule
|
28
|
+
init-examples-submodule:
|
29
|
+
git submodule init
|
30
|
+
git submodule update
|
31
|
+
|
27
32
|
## install - Install globally from source
|
28
|
-
install: |
|
33
|
+
install: | init-examples-submodule
|
29
34
|
bundle install
|
30
35
|
|
31
36
|
## lint - Lint the project
|
@@ -40,8 +45,9 @@ publish:
|
|
40
45
|
|
41
46
|
## release - Cuts a release for the project on GitHub (requires GitHub CLI)
|
42
47
|
# tag = The associated tag title of the release
|
48
|
+
# target = Target branch or full commit SHA
|
43
49
|
release:
|
44
|
-
gh release create ${tag} dist/*
|
50
|
+
gh release create ${tag} dist/* --target ${target}
|
45
51
|
|
46
52
|
## rubocop - lints the project with rubocop
|
47
53
|
rubocop:
|
data/README.md
CHANGED
@@ -163,7 +163,7 @@ If you're using a custom HTTP connection, keep in mind that the `response_data`
|
|
163
163
|
|
164
164
|
## Documentation
|
165
165
|
|
166
|
-
API documentation can be found at: <https://easypost.com
|
166
|
+
API documentation can be found at: <https://docs.easypost.com>.
|
167
167
|
|
168
168
|
Library documentation can be found on the web at: <https://easypost.github.io/easypost-ruby/> or by building them locally via the `make docs` command.
|
169
169
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
6.
|
1
|
+
6.4.0
|
data/easypost.gemspec
CHANGED
@@ -24,7 +24,6 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_development_dependency 'brakeman', '~> 5.4'
|
25
25
|
spec.add_development_dependency 'faraday', '~> 2.7.5' # used for integration tests
|
26
26
|
spec.add_development_dependency 'pry', '~> 0.14'
|
27
|
-
spec.add_development_dependency 'psych', '~> 5.1'
|
28
27
|
spec.add_development_dependency 'rake', '~> 13.0'
|
29
28
|
spec.add_development_dependency 'rdoc', '~> 6.5'
|
30
29
|
spec.add_development_dependency 'rspec', '~> 3.12'
|
data/lib/easypost/client.rb
CHANGED
@@ -42,6 +42,7 @@ class EasyPost::Client
|
|
42
42
|
EasyPost::Services::CarrierAccount,
|
43
43
|
EasyPost::Services::CarrierMetadata,
|
44
44
|
EasyPost::Services::CarrierType,
|
45
|
+
EasyPost::Services::Claim,
|
45
46
|
EasyPost::Services::CustomsInfo,
|
46
47
|
EasyPost::Services::CustomsItem,
|
47
48
|
EasyPost::Services::EndShipper,
|
@@ -56,6 +57,7 @@ class EasyPost::Client
|
|
56
57
|
EasyPost::Services::Report,
|
57
58
|
EasyPost::Services::ScanForm,
|
58
59
|
EasyPost::Services::Shipment,
|
60
|
+
EasyPost::Services::SmartRate,
|
59
61
|
EasyPost::Services::Tracker,
|
60
62
|
EasyPost::Services::User,
|
61
63
|
EasyPost::Services::Webhook,
|
data/lib/easypost/models.rb
CHANGED
@@ -10,6 +10,7 @@ require_relative 'models/batch'
|
|
10
10
|
require_relative 'models/brand'
|
11
11
|
require_relative 'models/carrier_account'
|
12
12
|
require_relative 'models/carrier_type'
|
13
|
+
require_relative 'models/claim'
|
13
14
|
require_relative 'models/customs_info'
|
14
15
|
require_relative 'models/customs_item'
|
15
16
|
require_relative 'models/end_shipper'
|
@@ -10,8 +10,11 @@ class EasyPost::Services::Service
|
|
10
10
|
|
11
11
|
protected
|
12
12
|
|
13
|
-
def get_all_helper(endpoint, cls, params, filters = nil)
|
14
|
-
response = @client.make_request(
|
13
|
+
def get_all_helper(endpoint, cls, params, filters = nil, beta = false)
|
14
|
+
response = @client.make_request(
|
15
|
+
:get, endpoint, params,
|
16
|
+
beta ? 'beta' : EasyPost::InternalUtilities::Constants::API_VERSION,
|
17
|
+
)
|
15
18
|
|
16
19
|
response[EasyPost::InternalUtilities::Constants::FILTERS_KEY] = filters unless filters.nil?
|
17
20
|
|
@@ -3,43 +3,9 @@
|
|
3
3
|
require 'easypost/constants'
|
4
4
|
|
5
5
|
class EasyPost::Services::Billing < EasyPost::Services::Service
|
6
|
-
# Get payment method info (type of the payment method and ID of the payment method)
|
7
|
-
def self.get_payment_method_info(priority)
|
8
|
-
payment_methods = EasyPost::Services::Billing.retrieve_payment_methods
|
9
|
-
payment_method_map = {
|
10
|
-
'primary' => 'primary_payment_method',
|
11
|
-
'secondary' => 'secondary_payment_method',
|
12
|
-
}
|
13
|
-
|
14
|
-
payment_method_to_use = payment_method_map[priority]
|
15
|
-
|
16
|
-
error_string = EasyPost::Constants::INVALID_PAYMENT_METHOD
|
17
|
-
suggestion = "Please use a valid payment method: #{payment_method_map.keys.join(', ')}"
|
18
|
-
if payment_methods[payment_method_to_use].nil?
|
19
|
-
raise EasyPost::Errors::InvalidParameterError.new(
|
20
|
-
error_string,
|
21
|
-
suggestion,
|
22
|
-
)
|
23
|
-
end
|
24
|
-
|
25
|
-
payment_method_id = payment_methods[payment_method_to_use]['id']
|
26
|
-
|
27
|
-
unless payment_method_id.nil?
|
28
|
-
if payment_method_id.start_with?('card_')
|
29
|
-
endpoint = '/v2/credit_cards'
|
30
|
-
elsif payment_method_id.start_with?('bank_')
|
31
|
-
endpoint = '/v2/bank_accounts'
|
32
|
-
else
|
33
|
-
raise EasyPost::Errors::InvalidObjectError.new(error_string)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
[endpoint, payment_method_id]
|
38
|
-
end
|
39
|
-
|
40
6
|
# Fund your EasyPost wallet by charging your primary or secondary card on file.
|
41
7
|
def fund_wallet(amount, priority = 'primary')
|
42
|
-
payment_info =
|
8
|
+
payment_info = get_payment_method_info(priority.downcase)
|
43
9
|
endpoint = payment_info[0]
|
44
10
|
payment_id = payment_info[1]
|
45
11
|
|
@@ -52,7 +18,7 @@ class EasyPost::Services::Billing < EasyPost::Services::Service
|
|
52
18
|
|
53
19
|
# Delete a payment method.
|
54
20
|
def delete_payment_method(priority)
|
55
|
-
payment_info =
|
21
|
+
payment_info = get_payment_method_info(priority.downcase)
|
56
22
|
endpoint = payment_info[0]
|
57
23
|
payment_id = payment_info[1]
|
58
24
|
|
@@ -64,7 +30,7 @@ class EasyPost::Services::Billing < EasyPost::Services::Service
|
|
64
30
|
|
65
31
|
# Retrieve all payment methods.
|
66
32
|
def retrieve_payment_methods
|
67
|
-
response = @client.make_request(:get, '/
|
33
|
+
response = @client.make_request(:get, '/payment_methods')
|
68
34
|
payment_methods = EasyPost::InternalUtilities::Json.convert_json_to_object(response)
|
69
35
|
|
70
36
|
if payment_methods['id'].nil?
|
@@ -73,4 +39,40 @@ class EasyPost::Services::Billing < EasyPost::Services::Service
|
|
73
39
|
|
74
40
|
payment_methods
|
75
41
|
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
# Get payment method info (type of the payment method and ID of the payment method)
|
46
|
+
def get_payment_method_info(priority)
|
47
|
+
payment_methods = retrieve_payment_methods
|
48
|
+
payment_method_map = {
|
49
|
+
'primary' => 'primary_payment_method',
|
50
|
+
'secondary' => 'secondary_payment_method',
|
51
|
+
}
|
52
|
+
|
53
|
+
payment_method_to_use = payment_method_map[priority]
|
54
|
+
|
55
|
+
error_string = EasyPost::Constants::INVALID_PAYMENT_METHOD
|
56
|
+
suggestion = "Please use a valid payment method: #{payment_method_map.keys.join(', ')}"
|
57
|
+
if payment_methods[payment_method_to_use].nil?
|
58
|
+
raise EasyPost::Errors::InvalidParameterError.new(
|
59
|
+
error_string,
|
60
|
+
suggestion,
|
61
|
+
)
|
62
|
+
end
|
63
|
+
|
64
|
+
payment_method_id = payment_methods[payment_method_to_use]['id']
|
65
|
+
payment_method_object_type = payment_methods[payment_method_to_use]['object']
|
66
|
+
|
67
|
+
if payment_method_object_type == 'CreditCard'
|
68
|
+
|
69
|
+
endpoint = '/credit_cards'
|
70
|
+
elsif payment_method_object_type == 'BankAccount'
|
71
|
+
endpoint = '/bank_accounts'
|
72
|
+
else
|
73
|
+
raise EasyPost::Errors::InvalidObjectError.new(error_string)
|
74
|
+
end
|
75
|
+
|
76
|
+
[endpoint, payment_method_id]
|
77
|
+
end
|
76
78
|
end
|
@@ -1,16 +1,20 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class EasyPost::Services::CarrierAccount < EasyPost::Services::Service
|
4
|
-
CUSTOM_WORKFLOW_CARRIER_TYPES = %w[
|
4
|
+
CUSTOM_WORKFLOW_CARRIER_TYPES = %w[FedexAccount FedexSmartpostAccount].freeze
|
5
|
+
UPS_OAUTH_CARRIER_ACCOUNT_TYPES = %w[UpsAccount UpsMailInnovationsAccount UpsSurepostAccount].freeze
|
5
6
|
MODEL_CLASS = EasyPost::Models::CarrierAccount
|
6
7
|
|
7
8
|
# Create a carrier account
|
8
9
|
def create(params = {})
|
9
|
-
|
10
|
+
carrier_account_type = params[:type]
|
11
|
+
wrapped_params = { select_top_layer_key(carrier_account_type).to_sym => params }
|
10
12
|
|
11
13
|
# For UPS and FedEx the endpoint is different
|
12
|
-
create_url = if CUSTOM_WORKFLOW_CARRIER_TYPES.include?(
|
14
|
+
create_url = if CUSTOM_WORKFLOW_CARRIER_TYPES.include?(carrier_account_type)
|
13
15
|
'carrier_accounts/register'
|
16
|
+
elsif UPS_OAUTH_CARRIER_ACCOUNT_TYPES.include?(carrier_account_type)
|
17
|
+
'ups_oauth_registrations'
|
14
18
|
else
|
15
19
|
'carrier_accounts'
|
16
20
|
end
|
@@ -33,8 +37,14 @@ class EasyPost::Services::CarrierAccount < EasyPost::Services::Service
|
|
33
37
|
|
34
38
|
# Update a carrier account
|
35
39
|
def update(id, params = {})
|
36
|
-
|
37
|
-
|
40
|
+
carrier_account = retrieve(id)
|
41
|
+
wrapped_params = { select_top_layer_key(carrier_account[:type]).to_sym => params }
|
42
|
+
update_url = if UPS_OAUTH_CARRIER_ACCOUNT_TYPES.include?(params[:type])
|
43
|
+
'ups_oauth_registrations/'
|
44
|
+
else
|
45
|
+
'carrier_accounts/'
|
46
|
+
end
|
47
|
+
response = @client.make_request(:put, "#{update_url}#{id}", wrapped_params)
|
38
48
|
|
39
49
|
EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
|
40
50
|
end
|
@@ -46,4 +56,15 @@ class EasyPost::Services::CarrierAccount < EasyPost::Services::Service
|
|
46
56
|
# Return true if succeeds, an error will be thrown if it fails
|
47
57
|
true
|
48
58
|
end
|
59
|
+
|
60
|
+
private
|
61
|
+
|
62
|
+
# Select the top-layer key for the carrier account creation/update request based on the carrier type.
|
63
|
+
def select_top_layer_key(carrier_account_type)
|
64
|
+
if UPS_OAUTH_CARRIER_ACCOUNT_TYPES.include?(carrier_account_type)
|
65
|
+
'ups_oauth_registrations'
|
66
|
+
else
|
67
|
+
'carrier_account'
|
68
|
+
end
|
69
|
+
end
|
49
70
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class EasyPost::Services::Claim < EasyPost::Services::Service
|
4
|
+
MODEL_CLASS = EasyPost::Models::Claim
|
5
|
+
|
6
|
+
# Create an Claim object
|
7
|
+
def create(params = {})
|
8
|
+
response = @client.make_request(:post, 'claims', params)
|
9
|
+
|
10
|
+
EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
|
11
|
+
end
|
12
|
+
|
13
|
+
# Retrieve an Claim object
|
14
|
+
def retrieve(id)
|
15
|
+
response = @client.make_request(:get, "claims/#{id}", nil)
|
16
|
+
|
17
|
+
EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Retrieve all Claim objects
|
21
|
+
def all(params = {})
|
22
|
+
filters = { key: 'claims' }
|
23
|
+
|
24
|
+
get_all_helper('claims', MODEL_CLASS, params, filters)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Get the next page of claims.
|
28
|
+
def get_next_page(collection, page_size = nil)
|
29
|
+
raise EasyPost::Errors::EndOfPaginationError.new unless more_pages?(collection)
|
30
|
+
|
31
|
+
params = { before_id: collection.claims.last.id }
|
32
|
+
params[:page_size] = page_size unless page_size.nil?
|
33
|
+
|
34
|
+
all(params)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Cancel a filed claim
|
38
|
+
def cancel(id)
|
39
|
+
response = @client.make_request(:post, "claims/#{id}/cancel", nil)
|
40
|
+
|
41
|
+
EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
|
42
|
+
end
|
43
|
+
end
|
@@ -34,4 +34,11 @@ class EasyPost::Services::Insurance < EasyPost::Services::Service
|
|
34
34
|
|
35
35
|
all(params)
|
36
36
|
end
|
37
|
+
|
38
|
+
# Refund an Insurance object
|
39
|
+
def refund(id)
|
40
|
+
response = @client.make_request(:post, "insurances/#{id}/refund")
|
41
|
+
|
42
|
+
EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
|
43
|
+
end
|
37
44
|
end
|
@@ -118,4 +118,13 @@ class EasyPost::Services::Shipment < EasyPost::Services::Service
|
|
118
118
|
|
119
119
|
EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS).rates
|
120
120
|
end
|
121
|
+
|
122
|
+
# Retrieve a recommended ship date for an existing Shipment via the Precision Shipping API, based on a specific desired delivery date.
|
123
|
+
def recommend_ship_date(id, desired_delivery_date)
|
124
|
+
url = "shipments/#{id}/smartrate/precision_shipping"
|
125
|
+
params = { desired_delivery_date: desired_delivery_date }
|
126
|
+
response = @client.make_request(:get, url, params)
|
127
|
+
|
128
|
+
EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS).rates
|
129
|
+
end
|
121
130
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class EasyPost::Services::SmartRate < EasyPost::Services::Service
|
2
|
+
# Retrieve the estimated delivery date of each carrier-service level combination via the
|
3
|
+
# Smart Deliver By API, based on a specific ship date and origin-destination postal code pair.
|
4
|
+
def estimate_delivery_date(params = {})
|
5
|
+
url = 'smartrate/deliver_by'
|
6
|
+
|
7
|
+
response = @client.make_request(:post, url, params)
|
8
|
+
EasyPost::InternalUtilities::Json.convert_json_to_object(response, EasyPost::Models::EasyPostObject)
|
9
|
+
end
|
10
|
+
|
11
|
+
# Retrieve a recommended ship date for each carrier-service level combination via the
|
12
|
+
# Smart Deliver On API, based on a specific delivery date and origin-destination postal code pair.
|
13
|
+
def recommend_ship_date(params = {})
|
14
|
+
url = 'smartrate/deliver_on'
|
15
|
+
|
16
|
+
response = @client.make_request(:post, url, params)
|
17
|
+
EasyPost::InternalUtilities::Json.convert_json_to_object(response, EasyPost::Models::EasyPostObject)
|
18
|
+
end
|
19
|
+
end
|
@@ -30,6 +30,7 @@ class EasyPost::Services::Tracker < EasyPost::Services::Service
|
|
30
30
|
end
|
31
31
|
|
32
32
|
# Create multiple Tracker objects in bulk.
|
33
|
+
# <b>DEPRECATED:</b> Please use <tt>create</tt> instead. This function will be removed in a future release.
|
33
34
|
def create_list(params = {})
|
34
35
|
wrapped_params = { 'trackers' => params }
|
35
36
|
|
@@ -78,4 +78,21 @@ Please use `retrieve_api_keys_for_user` in the `api_key` service instead.'
|
|
78
78
|
|
79
79
|
EasyPost::InternalUtilities::Json.convert_json_to_object(response, EasyPost::Models::Brand)
|
80
80
|
end
|
81
|
+
|
82
|
+
# Retrieve all child Users.
|
83
|
+
def all_children(params = {})
|
84
|
+
filters = { key: 'children' }
|
85
|
+
|
86
|
+
get_all_helper('users/children', EasyPost::Models::User, params, filters)
|
87
|
+
end
|
88
|
+
|
89
|
+
# Get the next page of child users.
|
90
|
+
def get_next_page_of_children(collection, page_size = nil)
|
91
|
+
raise EasyPost::Errors::EndOfPaginationError.new unless more_pages?(collection)
|
92
|
+
|
93
|
+
params = { before_id: collection.children.last.id }
|
94
|
+
params[:page_size] = page_size unless page_size.nil?
|
95
|
+
|
96
|
+
all_children(params)
|
97
|
+
end
|
81
98
|
end
|
data/lib/easypost/services.rb
CHANGED
@@ -14,6 +14,7 @@ require_relative 'services/billing'
|
|
14
14
|
require_relative 'services/carrier_account'
|
15
15
|
require_relative 'services/carrier_metadata'
|
16
16
|
require_relative 'services/carrier_type'
|
17
|
+
require_relative 'services/claim'
|
17
18
|
require_relative 'services/customs_info'
|
18
19
|
require_relative 'services/customs_item'
|
19
20
|
require_relative 'services/end_shipper'
|
@@ -28,6 +29,7 @@ require_relative 'services/refund'
|
|
28
29
|
require_relative 'services/report'
|
29
30
|
require_relative 'services/scan_form'
|
30
31
|
require_relative 'services/shipment'
|
32
|
+
require_relative 'services/smart_rate'
|
31
33
|
require_relative 'services/tracker'
|
32
34
|
require_relative 'services/user'
|
33
35
|
require_relative 'services/webhook'
|
@@ -11,6 +11,7 @@ module EasyPost::InternalUtilities::StaticMapper
|
|
11
11
|
'brd' => EasyPost::Models::Brand,
|
12
12
|
'ca' => EasyPost::Models::CarrierAccount,
|
13
13
|
'card' => EasyPost::Models::PaymentMethod,
|
14
|
+
'clm' => EasyPost::Models::Claim,
|
14
15
|
'cstinfo' => EasyPost::Models::CustomsInfo,
|
15
16
|
'cstitem' => EasyPost::Models::CustomsItem,
|
16
17
|
'es' => EasyPost::Models::EndShipper,
|
@@ -43,6 +44,7 @@ module EasyPost::InternalUtilities::StaticMapper
|
|
43
44
|
'Batch' => EasyPost::Models::Batch,
|
44
45
|
'Brand' => EasyPost::Models::Brand,
|
45
46
|
'CarrierAccount' => EasyPost::Models::CarrierAccount,
|
47
|
+
'Claim' => EasyPost::Models::Claim,
|
46
48
|
'CreditCard' => EasyPost::Models::PaymentMethod,
|
47
49
|
'CustomsInfo' => EasyPost::Models::CustomsInfo,
|
48
50
|
'CustomsItem' => EasyPost::Models::CustomsItem,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easypost
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- EasyPost Developers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: brakeman
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.14'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: psych
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '5.1'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '5.1'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: rake
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -276,6 +262,7 @@ files:
|
|
276
262
|
- lib/easypost/models/brand.rb
|
277
263
|
- lib/easypost/models/carrier_account.rb
|
278
264
|
- lib/easypost/models/carrier_type.rb
|
265
|
+
- lib/easypost/models/claim.rb
|
279
266
|
- lib/easypost/models/customs_info.rb
|
280
267
|
- lib/easypost/models/customs_item.rb
|
281
268
|
- lib/easypost/models/end_shipper.rb
|
@@ -310,6 +297,7 @@ files:
|
|
310
297
|
- lib/easypost/services/carrier_account.rb
|
311
298
|
- lib/easypost/services/carrier_metadata.rb
|
312
299
|
- lib/easypost/services/carrier_type.rb
|
300
|
+
- lib/easypost/services/claim.rb
|
313
301
|
- lib/easypost/services/customs_info.rb
|
314
302
|
- lib/easypost/services/customs_item.rb
|
315
303
|
- lib/easypost/services/end_shipper.rb
|
@@ -324,6 +312,7 @@ files:
|
|
324
312
|
- lib/easypost/services/report.rb
|
325
313
|
- lib/easypost/services/scan_form.rb
|
326
314
|
- lib/easypost/services/shipment.rb
|
315
|
+
- lib/easypost/services/smart_rate.rb
|
327
316
|
- lib/easypost/services/tracker.rb
|
328
317
|
- lib/easypost/services/user.rb
|
329
318
|
- lib/easypost/services/webhook.rb
|
@@ -352,7 +341,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
352
341
|
- !ruby/object:Gem::Version
|
353
342
|
version: '0'
|
354
343
|
requirements: []
|
355
|
-
rubygems_version: 3.
|
344
|
+
rubygems_version: 3.3.3
|
356
345
|
signing_key:
|
357
346
|
specification_version: 4
|
358
347
|
summary: EasyPost Ruby Client Library
|