easypost 6.0.0 → 6.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|