Skip to content

Commit 9db015f

Browse files
authored
Merge pull request #333 from EasyPost/SHPE-594_sessions
feat: embeddable and portal sessions
2 parents 20cdc02 + 898f210 commit 9db015f

12 files changed

+386
-14
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# CHANGELOG
22

3+
## Next Release
4+
5+
- Adds the following functions:
6+
- `embeddable.create_session`
7+
- `customer_portal.create_account_link`
8+
39
## v7.2.0 (2025-11-10)
410

511
- Adds support for `UspsShipAccount`

lib/easypost/client.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ def initialize(api_key:, read_timeout: 60, open_timeout: 30, api_base: 'https://
4343
EasyPost::Services::CarrierMetadata,
4444
EasyPost::Services::CarrierType,
4545
EasyPost::Services::Claim,
46+
EasyPost::Services::CustomerPortal,
4647
EasyPost::Services::CustomsInfo,
4748
EasyPost::Services::CustomsItem,
49+
EasyPost::Services::Embeddable,
4850
EasyPost::Services::EndShipper,
4951
EasyPost::Services::Event,
5052
EasyPost::Services::Insurance,

lib/easypost/services.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ module EasyPost::Services
1515
require_relative 'services/carrier_metadata'
1616
require_relative 'services/carrier_type'
1717
require_relative 'services/claim'
18+
require_relative 'services/customer_portal'
1819
require_relative 'services/customs_info'
1920
require_relative 'services/customs_item'
21+
require_relative 'services/embeddable'
2022
require_relative 'services/end_shipper'
2123
require_relative 'services/event'
2224
require_relative 'services/insurance'
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# frozen_string_literal: true
2+
3+
class EasyPost::Services::CustomerPortal < EasyPost::Services::Service
4+
# Create a Portal Session
5+
def create_account_link(params = {})
6+
response = @client.make_request(:post, 'customer_portal/account_link', params)
7+
8+
EasyPost::InternalUtilities::Json.convert_json_to_object(response)
9+
end
10+
end
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# frozen_string_literal: true
2+
3+
class EasyPost::Services::Embeddable < EasyPost::Services::Service
4+
# Create an Embeddable Session
5+
def create_session(params = {})
6+
response = @client.make_request(:post, 'embeddables/session', params)
7+
8+
EasyPost::InternalUtilities::Json.convert_json_to_object(response)
9+
end
10+
end

spec/cassettes/customer_portal/EasyPost_Services_CustomerPortal_customer_portal_creates_an_account_link.yml

Lines changed: 144 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

spec/cassettes/embeddable/EasyPost_Services_Embeddable_embeddables_creates_a_session.yml

Lines changed: 148 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)