diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index f6122fad..00000000 --- a/.gitattributes +++ /dev/null @@ -1,9 +0,0 @@ -* text=auto - -# Cassettes -tests/cassettes/* -diff -tests/cassettes/* linguist-generated - -# Docs -docs/**/* -diff -docs/**/* linguist-generated diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index e390f3f5..00000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,7 +0,0 @@ -## These are the standard rules for all EasyPost public repositories. -## - -* @EasyPost/dev-tools @EasyPost/easypost-public-maintainers - -# The devtools team owns the codeowners file, this is for auditing purposes -.github/CODEOWNERS @easypost/dev-tools diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index 37df6956..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,81 +0,0 @@ -name: Bug Report -description: File a bug report -title: "[Bug]: " -labels: [ "triage" ] -body: - - type: markdown - attributes: - value: | - Thank you for taking the time to report an issue in this repository. Please fill out the form below. - - type: input - id: software-version - attributes: - label: Software Version - # change this description for the specific repo - description: | - What version of our software are you running? - TIP: [Available versions](https://github.com/EasyPost/easypost-python/releases) - validations: - required: true - - type: input - id: language-version - attributes: - label: Language Version - # change this description for the specific language of the repo - description: | - What language version and/or framework are you using? - TIP: [How to find your Python version](https://stackoverflow.com/questions/1093322/how-do-i-check-what-version-of-python-is-running-my-script) - validations: - required: true - - type: input - id: os - attributes: - label: Operating System - description: What operating system are you running the software on? - validations: - required: true - - type: textarea - id: behavior - attributes: - label: What happened? - description: | - Please describe what happened in reproducible steps. - Include how often you see this issue, and any relevant links (i.e. GitHub issue, Stack Overflow, etc.). - value: | - 1. - 2. - 3. - ... - validations: - required: true - - type: textarea - id: expected-behavior - attributes: - label: What was expected? - description: Please describe what was expected to happen instead. - validations: - required: true - - type: textarea - id: sample-code - attributes: - label: Sample Code - description: | - Please provide any sample code that demonstrates the behavior. - This will be automatically formatted into the appropriate language, so no need for backticks. - **Do not include any private information such as API keys or passwords.** - # change this render to the appropriate language: https://github.com/github/linguist/blob/master/lib/linguist/languages.yml - render: python3 - validations: - required: false - - type: textarea - id: logs - attributes: - label: Relevant logs - description: | - Please copy and paste any relevant log output. - This will be automatically formatted into shell output, so no need for backticks. - If you have screenshots instead, please paste them below. - **Do not include any private information such as API keys or passwords.** - render: sh - validations: - required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index 866ac9ec..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Feature Request -description: Request a new feature -title: "[Feat]: " -labels: [ "triage" ] -body: - - type: markdown - attributes: - value: | - Thank you for taking the time to request a new feature. - Please note, all feature requests are subject to review and approval. - We welcome all suggestions and ideas, but we cannot guarantee when or if we will implement them. - - We also welcome pull requests, if you would like to implement the feature yourself. - Doing so will likely accelerate the process of implementing the requested feature. - - type: checkboxes - id: searched - attributes: - label: Feature Request Is New - # change issue link below for the specific repo - description: | - Before we begin, please confirm that the requested feature does not already exist or has not [already been requested](https://github.com/EasyPost/easypost-python/issues). - options: - - label: I have verified that the requested feature does not already exist or has not already been requested. - required: true - - type: textarea - id: description - attributes: - label: Description of the feature - description: | - Please provide a detailed description of the feature, including: - - What the feature is - - What value it adds to the application - - How it should be implemented (i.e. pseudo-code, or a high-level description of the user experience) - - Any other relevant information - validations: - required: true - diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e577d1a9..00000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,22 +0,0 @@ -# Description - - - -# Testing - - - -# Pull Request Type - -Please select the option(s) that are relevant to this PR. - -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -- [ ] Improvement (fixing a typo, updating readme, renaming a variable name, etc) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 328ceaf3..00000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: 'CI' - -on: - push: - branches: [master] - pull_request: - workflow_dispatch: ~ - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: extractions/setup-just@v3 - - uses: astral-sh/setup-uv@v7 - - uses: actions/setup-python@v6 - with: - python-version: '3.14' - - name: Install Dependencies - run: just install - - name: Lint - run: just lint - run-tests: - runs-on: ubuntu-latest - strategy: - matrix: - # vcrpy is not compatible with Python 3.14 yet so we cannot test against it - pythonversion: ['3.9', '3.10', '3.11', '3.12', '3.13'] - steps: - - uses: actions/checkout@v6 - - uses: extractions/setup-just@v3 - - uses: astral-sh/setup-uv@v7 - - uses: actions/setup-python@v6 - with: - python-version: ${{ matrix.pythonversion }} - - name: Install Dependencies - run: just install - - name: Run Tests - run: EASYPOST_TEST_API_KEY=123 EASYPOST_PROD_API_KEY=123 just coverage - - name: Coverage - if: github.ref == 'refs/heads/master' - uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - name: Run security analysis - run: just scan - docs: - if: github.ref == 'refs/heads/master' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: extractions/setup-just@v3 - - uses: astral-sh/setup-uv@v7 - - uses: actions/setup-python@v6 - with: - python-version: '3.14' - - name: Install Dependencies - run: just install - - name: Generate Docs - run: just docs - - name: Deploy Docs - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: docs diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 50790100..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: release - -on: - release: - types: [published] - workflow_dispatch: - -jobs: - release: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: extractions/setup-just@v3 - - uses: astral-sh/setup-uv@v7 - - uses: actions/setup-python@v6 - with: - python-version: '3.14' - - name: Build package - run: just install build - - name: Publish to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - password: ${{ secrets.PYPI_API_KEY }} - - name: Upload assets to release - uses: AButler/upload-release-assets@v3.0.1 - with: - files: 'dist/*' - repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4a55e336..00000000 --- a/.gitignore +++ /dev/null @@ -1,27 +0,0 @@ -._* -.AppleDouble -.cache -.coverage -.DS_Store -.env -.env-override -.idea -.LSOverride -.Spotlight-V100 -.tox -.Trashes -.virtualenv -*.class -*.egg-info -*.pyc -*.sublime-* -/build -/dist -/MANIFEST -coverage.lcov -dist -docs -Icon -test -venv -virtualenv diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 7cb0e1b7..00000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "examples"] - path = examples - url = https://github.com/EasyPost/examples diff --git a/easypost/py.typed b/.nojekyll similarity index 100% rename from easypost/py.typed rename to .nojekyll diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 70177632..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,493 +0,0 @@ -# CHANGELOG - -## Next Release - -- Removes the deprecated, unusable `add_credit_card` function - - Stripe has disabled the ability to pass plain credit card details over the wire and now requires using [Stripe.js/Elements/Checkout](https://support.stripe.com/questions/card-tokenization-restrictions-using-publishable-keys). Follow the [Decentralized (EasyPost-Manage Billing) Guide](https://docs.easypost.com/guides/get-started-with-forge/easypost-managed-billing-guide#referralcustomer-billing-management) for more details on the new flow to use. - - Makes `referral_customer.retrieve_easypost_stripe_api_key` public to help facilitate adding credit cards using Stripe.js -- Adds support for `FedexDefaultAccount`, `GofoWalletAccount`, `UpsDapAccount`, `UniUniWalletAccount`, and `VehoWalletAccount` by properly routing carrier-account create requests to the `/carrier_accounts/open` endpoint. - -## v10.7.0 (2026-06-25) - -- Adds `params` to `request_pin` ensuring users can pass `easypost_details` to the call. - -## v10.6.0 (2026-02-25) - -- Adds generic `make_api_call` function - -## v10.5.1 (2026-02-24) - -- Corrects the return type of `carrier_account.all()` (closes #386) - -## v10.5.0 (2026-02-20) - -- Adds the following functions: - - `fedex_registration.register_address` - - `fedex_registration.request_pin` - - `fedex_registration.validate_pin` - - `fedex_registration.submit_invoice` - -## v10.4.0 (2026-02-03) - -- Adds the following functions usable by child and referral customer users: - - `api_key.create` - - `api_key.delete` - - `api_key.enable` - - `api_key.disable` -- Adds a `tracker.delete` function - -## v10.3.0 (2025-11-24) - -- Adds the following functions: - - `embeddable.create_session` - - `customer_portal.create_account_link` - -## v10.2.0 (2025-11-10) - -- Adds `UspsShipAccount` support to the create carrier method -- Adds `tracker.retrieve_batch` function -- Adds `verify_carrier` address param - -## v10.1.0 (2025-06-18) - -- Adds the following functions - - `shipment.create_and_buy_luma` - - `shipment.buy_luma` - - `luma.get_promise` -- Fixes `tracking_codes` filter when retrieving all tracking codes - -## v10.0.1 (2025-05-27) - -- Corrects the endpoint used for creating/updating UPS accounts - -## v10.0.0 (2025-04-28) - -See our [Upgrade Guide](UPGRADE_GUIDE.md#upgrading-from-9x-to-100) for more details. - -- Drops support for Python 3.7 and 3.8 -- Adds the following functions to assist ReferralCustomers add credit cards and bank accounts: - - `BetaReferralCustomerService.create_credit_card_client_secret` - - `BetaReferralCustomerService.create_bank_account_client_secret` - - `ReferralCustomerService.add_credit_card_from_stripe` - - `ReferralCustomerService.add_bank_account_from_stripe` -- Routes `AmazonShippingAccount` create requests to the new `/register_oauth` endpoint -- Fixes the payload wrapping for updating a webhook -- Removes deprecated `user.all_api_keys` and `user.api_keys`, use `api_key.all` and `api_key.retrieve_api_keys_for_user` respectively -- Bumps all dev dependencies - -## v9.5.0 (2024-10-24) - -- Adds `tracking_codes` as a parameter of the `all` method on the TrackerService -- Removes the deprecated `create_list` tracker endpoint function as it is no longer available via API - -## v9.4.1 (2024-08-09) - -- Fix `get_next_page_of_children` function for User service with correct filter key - -## v9.4.0 (2024-07-24) - -- Adds new `Claim` service for filing claims on EasyPost shipments and insurances - -## v9.3.0 (2024-07-12) - -- Adds new `shipment.recommend_ship_date`, `smartrate.recommend_ship_date`, and `smartrate.estimate_delivery_date` functions -- Routes `UpsAccount`, `UpsMailInnovationsAccount`, and `UpsSurepostAccount` create/update requests to the new `/ups_oauth_registrations` endpoint - - 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 - -## v9.2.0 (2024-04-10) - -- Fix payment method funding and deletion failures due to undetermined payment method type -- Adds `refund` function in Insurance service for requesting a refund for a standalone insurance - -## v9.1.0 (2024-01-08) - -- Adds `all_children` function to the User service for retrieving paginated lists of children -- Adds `get_next_page_of_children` function to User service to get next paginated list of children - -## v9.0.1 (2023-12-20) - -- Corrects the return type of `regenerate_rates` - -## v9.0.0 (2023-12-06) - -See our [Upgrade Guide](UPGRADE_GUIDE.md#upgrading-from-8x-to-90) for more details. - -- Removes `with_carbon_offset` parameter from `create`, `buy`, and `regenerate_rates` functions of the Shipment service as EasyPost now offers Carbon Neutral shipments by default for free -- Removes the undocumented `create_and_buy` function from the `Batch` service. The proper usage is to create a batch first and buy it separately -- Removes the `beta_carrier_metadata` service as it is deprecated, please use the `carrier_metadata` GA service instead - -## v8.2.1 (2023-10-30) - -- Fixes a bug where `get_next_page` functions threw an error, preventing users from retrieving the final page of results - -## v8.2.0 (2023-10-11) - -- Add dedicated API Key-related service, available via the `api_keys` property of a client - - NOTE: Please note the naming. The `api_key` property of a client is the currently-used API key string, while the `api_keys` property is the service for managing API keys. -- Migrated API Key-related functionality to `api_keys` service, deprecated old methods in `user` service - -## v8.1.1 (2023-09-05) - -- Fix endpoint for creating a FedEx Smartpost carrier account - -## v8.1.0 (2023-07-28) - -- Adds new `RequestHook` and `ResponseHook` events. (un)subscribe to them with the new `subscribe_to_request_hook`, `subscribe_to_response_hook`, `unsubscribe_from_request_hook`, or `unsubscribe_from_response_hook` methods of an `EasyPostClient` -- Maps 400 status codes to new `BadRequestError` class - -## v8.0.0 (2023-06-06) - -See our [Upgrade Guide](UPGRADE_GUIDE.md#upgrading-from-7x-to-80) for more details. - -- New `EasyPostClient` object - - Logic is grouped together in Services and each EasyPost object has a new model (eg: `client.shipment.create()`) -- Error handling overhaul - - Introduces ~2 dozen new error types that extend from either `ApiError` or `EasyPostError` - - ApiErrors behave like the previous `Error` class did. They will include a `message`, `http_status`, and `http_body`. Additionally, a new `code` and `errors` keys are present and populate when available -- Beta namespace changed from `easypost.beta.x` to `client.beta_x` -- Empty API response functions return `None` instead of `True` -- Corrected naming conventions - - References to `Referral` are now `ReferralCustomer` and `referral_customer` to match the API and docs - - References to `Smartrate` are now `SmartRate` and `smart_rate` to match the API and docs - - References to `Scanform` are now `ScanForm` and `scan_form` - - `primary_or_secondary` paramater name for billing functions is now called `priority` to match the API and docs -- The `update_email` function of the `referral_customer` service had the parameter order switched so `id` (previously called `user_id`) is first which matches the rest of the library -- Retrieving carrier metadata is now in GA -- Dropped Python 3.6 support -- Bumps all dependencies - -## v7.13.0 (2023-05-02) - -- Adds `retrieve_estimated_delivery_date` function to the Shipment class - -## v7.12.0 (2023-04-18) - -- Adds beta `retrieve_carrier_metadata` function -- Improves error deserialization to handle bad format returned from the JSON - -## v7.11.0 (2023-04-04) - -- Adds `get_next_page` function that retrieves the next page of results for a paginated collection - -## v7.10.0 (2023-02-17) - -- Adds beta `retrieve_stateless_rates` function -- Adds `get_lowest_stateless_rate` function to filter the lowest stateless rate - -## v7.9.0 (2023-01-18) - -- Adds `all` function to `Pickup` to retrieve all pickups -- Adds `retrieve_payload` and `retrieve_all_payloads` functions to `Event` - -## v7.8.0 (2023-01-11) - -- Adds new beta billing functionality for ReferralCustomer users - - `add_payment_method` can add a pre-existing Stripe bank account or credit card to your EasyPost account - - `refund_by_amount` refunds your wallet by a dollar amount - - `refund_by_payment_log` refunds you wallet by a PaymentLog ID - -## v7.7.0 (2022-12-07) - -- Routes requests for creating a carrier account with a custom workflow (eg: FedEx, UPS) to the correct endpoint when using the `create` function - -## v7.6.1 (2022-10-24) - -- Concatenates `error.message` if it incorrectly comes back from the API as a list - -## v7.6.0 (2022-09-21) - -- Adds support to pass `end_shipper_id` on the buy call of a Shipment -- Migrates the Partner White Label (Referral) functions from beta to the general library namespace and deprecates the beta functions - -## v7.5.0 (2022-08-25) - -- Adds the `EndShipper` class with `create`, `retrieve`, `all`, and `save` functions - -## v7.4.0 (2022-08-02) - -- Adds Carbon Offset support - - Adds ability to create a shipment with carbon_offset - - Adds ability to buy a shipment with carbon_offset - - Adds ability to one-call-buy a shipment with carbon_offset - - Adds ability to rerate a shipment with carbon_offset -- Adds `validate_webhook` function that returns your webhook or raises an error if there is a `webhook_secret` mismatch - -## v7.3.0 (2022-07-18) - -- Adds ability to generate forms for shipments via `generate_form()` function - -## v7.2.0 (2022-07-11) - -- Adds `Billing.retrieve_payment_methods()`, `Billing.fund_wallet()`, and `Billing.delete_payment_method()` functions -- Removes the unusable `carrier` param from `Address.verify()` along with the dead `message` conditional check that was missed in v7.0.0 -- Adds OS specific details to the user-agent header -- API keys are now required for every request and will fail fast if not present -- Swaps update functions to use `patch` instead of `put` behind the scenes to better match the API behavior and documentation. Behavior of these functions should be unchanged - -## v7.1.1 (2022-05-09) - -- Fixes the inclusion of the new `beta` module - -## v7.1.0 (2022-05-09) - -- Adds a `lowest_rate()` function to Orders and Pickups -- Adds a `Shipment.get_lowest_smartrate()` function and a `shipment.lowest_smartrate()` function -- Adds beta Referral class for Partner White Label API with these new functions: `create()`, `update_email()`, `all()`, and `add_credit_card()` - -## v7.0.0 (2022-04-14) - -Upgrading major versions of this project? Refer to the [Upgrade Guide](UPGRADE_GUIDE.md). - -### Breaking Changes - -- Bumps minimum Python version from 2.7 to 3.6 -- Bumps all dependencies -- Removes `shipment.get_rates()` method since the shipment object already has rates. If you need to get new rates for a shipment, please use the `shipment.regenerate_rates()` method. -- Removes `track_with_code` in shipment class since it's no longer being used -- Removes the unusable `carrier` param from `Address.create_and_verify()` along with the dead `message` conditional check -- Must pass a list object to `shipment.lowest_rate()` rather than a comma-separated list - -### Features - -- Adds the `update_brand()` method to the User object -- Adds Python version to user-agent header on requests -- Adds `retrieve_me()` convenience function that allow users to retrieve without specifying an ID. - -### Chores - -- Broke out the entire project into separate modules based on object -- Removes `_max_timeout` and instead uses a flat 60-second timeout for requests -- Added Makefile for much easier development management -- Added typehints throughout the project -- Consolidated all dependencies from various requirements files to `setup.py` -- Added a comprehensive test suite that tests all interfaces of the project -- Documented each interface of the project via docstrings - -## v6.0.0 (2021-10-12) - -Upgrading major versions of this project? Refer to the [Upgrade Guide](UPGRADE_GUIDE.md). - -- JSON encodes POST bodies instead of form encoding them -- Adds support for `tax_identifiers` -- Black formatting and iSort tools added to repo -- Bumps `requests` from v1 to v2 -- Various refactor efforts and code cleanup - -## v5.1.3 (2021-07-20) - -- Remove 2015-vintage experimental "`all_updated`" action from trackers -- Correct references of `contact@easypost.com` to `support@easypost.com` -- Clean up address verify property and some miscellaneous request logic - -## vv5.1.2 (2021-06-10) - -- Strips away the `result` key from SmartRate and simply returns an array of SmartRate objects - -## v5.1.1 (2021-05-18) - -- fix: stops appending smartrates to Shipment object - -## v5.1.0 (2021-05-14) - -- Adds `SmartRate` functionality to the `Shipments` object (available by calling `get_smartrates()` on a shipment) - -## v5.0.0 (2020-08-10) - -- Add `all` method for retrieving Events -- _[backwards-compatibility break]_ Remove `all` method for some un-supported types: CustomsItem, CustomsInfo, Pickup, and Order - -## v4.1.0 (2020-05-11) - -- change tests to use [vcrpy](https://github.com/kevin1024/vcrpy) so they are more reliable -- add `original_exception` to `easypost.Error` in cases where we are re-raising an underlying error (e.g., an HTTP exception) -- fix a bunch of flake8 warnings -- [potentially-breaking] soft-deprecate Python 3.3 and 3.4. these have been dropped by most of the libraries we use, so probably don't work anyway. -- Swap GET to POST on Refund method - -## v4.0.2 (2020-05-05) - -- cleaned up how the `__version__` attribute is populated to no longer throw warnings (#95, #98, #104) -- added some misding reports -- fix stale tests -- move testing infrastructure from travis-ci.org to travis-ci.com - -## v4.0.1 (2020-03-06) - -- Fixed a bug that would not create reports properly -- Fixed stale unit tests - -## v4.0.0 (2019-07-09) - -- Update some `setup.py` fields -- Formally remove Python 2.6 support (which has been broken for several years) - -## v3.6.5 (2019-07-09) - -- Fix broken pickup tests -- Fix broken reports tests -- Make tests run on Python 3.7 -- Fix typo in `install_requires` causing `six` to not be installed by pip (gh-84 from @roehnan) - -## v3.6.4 (2018-04-09) - -**NOTE:** This version was never released - -- Update user tests - -## v3.6.3 (2018-02-05) - -- Fix issue with responses that contain an `api_key` field (gh-67) -- Fix tests to take into account new label fee - -## v3.6.2 (2017-05-23) - -- Report.retrieve no longer requires a type to be passed - -## v3.6.1 (2017-05-09) - -- Modernize tests; make tests able to run in parallel; etc. -- Clarify in README and `setup.py` the supported Python versions -- Add top-level `timeout` variable for setting the HTTP timeout on requests - -## v3.6.0 (2017-04-04) - -- Changed Report CRUD signatures. requires report type to be passed - -## v3.5.2 (2017-02-14) - -- Added `get_rates` method to Order objects - -## v3.5.1 (2017-01-19) - -- Fixed create for ScanForms - -## v3.5.0 (2017-01-18) - -- Added basic CRUD methods for Webhook Objects -- Fixed Order test - -## v3.4.0 (2016-12-20) - -- Added session pooling - -## v3.3.0 (2016-12-15) - -- Added support for Report objects - -## v3.2.2 (2016-07-29) - -- Added support for Insurance objects - -## v3.2.1 (2016-07-18) - -- Added `to_json` method for EasyPost object. Thanks ThePsyjo! - -## v3.2.0 (2016-05-17) - -- Remove `api_keys` from object dumps -- Fixed address tests to keep them in line with the new API messages -- This was previously known as version 3.1.3 - -## v3.1.2 (2016-03-04) - -- Added a suite of unittest tests. Thanks wyounas! - -## v3.1.1 (2016-02-12) - -- Added ability to interact with Users (create, retrieve and update) - -## v3.1.0 (2015-12-08) - -- Add verifications to Address.create - -## v3.0.6 (2015-11-24) - -- Added Blob.retrieve for fetching urls for blobs stored by EasyPost. - -## v3.0.5 (2015-11-18) - -- Changed the interface on `Tracker.create_list` to return True rather than the - Trackers themselves - -## v3.0.4 (2015-11-16) - -- Minor bugfix - -## v3.0.3 (2015-11-16) - -- Added a `Tracker.all_updated` method for retrieving a large number of Trackers - by status or `tracking_details` updated datetime - -## v3.0.2 (2015-11-10) - -- Added a `Tracker.create_list` method for creating a large number of Trackers - at once - -## v3.0.1 (2015-11-04) - -- Fixed some examples and added some new ones, particularly dealing with Tracker.all - -## v3.0.0 (2015-10-19) - -- Fixed bug where retrieving a shipment by tracking code or reference doesn't set the ID properly - -## v2.0.16 (2015-08-10) - -- Added ability to interact with carrier accounts (full CRUD) - -## v2.0.15 (2015-07-31) - -- Fixed bug with address verification url rendering - -## v2.0.14 (2015-03-30) - -- Fix numerous bugs, including Python3 encoding - -## v2.0.13 (2015-01-09) - -- Added python3 support - -## v2.0.12 (2014-11-04) - -- Added tracker to shipment response -- Added tracker example - -## v2.0.11 (2014-09-19) - -- Added Order support. - -## v2.0.10 (2014-09-10) - -- Added Pickup cancellation method. - -## v2.0.9 (2014-09-02) - -- Added Pickup resource for scheduling pickups. - -## v2.0.6 (2013-10-17) - -- Added Event resource for webhook digestion. -- Added buy method to Batch. - -## v2.0.5 (2013-09-22) - -- Bug Fix: UTF-8 input handled more gracefully. - -## v2.0.4 (2013-07-31) - -- API Addition: Tracker resource added. Trackers can be used to register any tracking code with EasyPost webhooks. - -## v2.0.3 (2013-07-23) - -- API Addition: `Shipment.track_with_code` returns tracking details for any tracking code. - -## v2.0.2 (2013-07-07) - -- Bug fix: `address.create_and_verify` is now a classmethod. - -## v2.0.1 (2013-07-05) - -- Added function to Address to all creating and verifying at the same time. -- Add label function to Shipment to request specific label `file_formats` (pdf, epl2, zpl). -- Add insure function to Shipment. Add insurance to any shipment in one call! -- Fixed `shipment.get_rates` bug. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index ff835331..00000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2013 EasyPost (Simpler Postage, Inc) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index efa752ea..00000000 --- a/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include *.md diff --git a/README.md b/README.md deleted file mode 100644 index 234fc453..00000000 --- a/README.md +++ /dev/null @@ -1,153 +0,0 @@ -# EasyPost Python Client Library - -[![CI](https://github.com/EasyPost/easypost-python/workflows/CI/badge.svg)](https://github.com/EasyPost/easypost-python/actions?query=workflow%3ACI) -[![codecov](https://codecov.io/gh/EasyPost/easypost-python/graph/badge.svg?token=SxXsqBjQUb)](https://codecov.io/gh/EasyPost/easypost-python) -[![PyPI version](https://badge.fury.io/py/easypost.svg)](https://badge.fury.io/py/easypost) - -EasyPost, the simple shipping solution. You can sign up for an account at . - -## Install - -The library is tested against Python3 and should be compatible with PyPy3. - -```bash -pip install easypost -``` - -```python -# Import the EasyPost library: -import easypost -``` - -## Usage - -A simple create & buy shipment example: - -```python -import os -import easypost - -client = easypost.EasyPostClient(os.getenv('EASYPOST_API_KEY')) - -shipment = client.shipment.create( - from_address = { - "name": "EasyPost", - "street1": "118 2nd Street", - "street2": "4th Floor", - "city": "San Francisco", - "state": "CA", - "zip": "94105", - "country": "US", - "phone": "415-456-7890", - }, - to_address = { - "name": "Dr. Steve Brule", - "street1": "179 N Harbor Dr", - "city": "Redondo Beach", - "state": "CA", - "zip": "90277", - "country": "US", - "phone": "310-808-5243", - }, - parcel = { - "length": 10.2, - "width": 7.8, - "height": 4.3, - "weight": 21.2, - }, -) - -bought_shipment = client.shipment.buy(shipment.id, rate=shipment.lowest_rate()) - -print(bought_shipment) -``` - -### HTTP Hooks - -Users can subscribe to HTTP requests and responses via the `RequestHook` and `ResponseHook` objects. To do so, pass a function to the `subscribe_to_request_hook` or `subscribe_to_response_hook` methods of an `EasyPostClient` object: - -```python -def custom_function(**kwargs): - """Pass your code here, data about the request/response is contained within `kwargs`.""" - print(f"Received a request with the status code of: {kwargs.get('http_status')}") - -client = easypost.EasyPostClient(os.getenv('EASYPOST_API_KEY')) - -client.subscribe_to_response_hook(custom_function) - -# Make your API calls here, your custom_function will trigger once a response is received -``` - -You can also unsubscribe your functions in a similar manner by using the `unsubscribe_from_request_hook` and `unsubscribe_from_response_hook` methods of a client object. - -## Documentation - -API documentation can be found at: . - -Library documentation can be found on the web at: or by building them locally via the `just docs` command. - -Upgrading major versions of this project? Refer to the [Upgrade Guide](UPGRADE_GUIDE.md). - -## Support - -New features and bug fixes are released on the latest major release of this library. If you are on an older major release of this library, we recommend upgrading to the most recent release to take advantage of new features, bug fixes, and security patches. Older versions of this library will continue to work and be available as long as the API version they are tied to remains active; however, they will not receive updates and are considered EOL. - -For additional support, see our [org-wide support policy](https://github.com/EasyPost/.github/blob/main/SUPPORT.md). - -## Development - -```bash -# Install dependencies -just install - -# Lint project -just lint -just lint-fix - -# Run tests -EASYPOST_TEST_API_KEY=123... EASYPOST_PROD_API_KEY=123... just test -EASYPOST_TEST_API_KEY=123... EASYPOST_PROD_API_KEY=123... just coverage - -# Run security analysis -just scan - -# Generate library documentation -just docs - -# Update submodules -just update-examples-submodule -``` - -### Testing - -The test suite in this project was specifically built to produce consistent results on every run, regardless of when they run or who is running them. This project uses [VCR](https://github.com/kevin1024/vcrpy) to record and replay HTTP requests and responses via "cassettes". When the suite is run, the HTTP requests and responses for each test function will be saved to a cassette if they do not exist already and replayed from this saved file if they do, which saves the need to make live API calls on every test run. If you receive errors about a cassette expiring, delete and re-record the cassette to ensure the data is up-to-date. - -**Sensitive Data:** We've made every attempt to include scrubbers for sensitive data when recording cassettes so that PII or sensitive info does not persist in version control; however, please ensure when recording or re-recording cassettes that prior to committing your changes, no PII or sensitive information gets persisted by inspecting the cassette. - -**Making Changes:** If you make an addition to this project, the request/response will get recorded automatically for you if the `@pytest.mark.vcr()` decorator is included on the test function. When making changes to this project, you'll need to re-record the associated cassette to force a new live API call for that test which will then record the request/response used on the next run. - -**Test Data:** The test suite has been populated with various helpful fixtures that are available for use, each completely independent from a particular user **with the exception of the USPS carrier account ID** (see [Unit Test API Keys](#unit-test-api-keys) for more information) which has a fallback value of our internal testing user's ID. Some fixtures use hard-coded dates that may need to be incremented if cassettes get re-recorded (such as reports or pickups). - -#### Unit Test API Keys - -The following are required on every test run: - -- `EASYPOST_TEST_API_KEY` -- `EASYPOST_PROD_API_KEY` - -Some tests may require an EasyPost user with a particular set of enabled features such as a `Partner` user when creating referrals. We have attempted to call out these functions in their respective docstrings. The following are required when you need to re-record cassettes for applicable tests: - -- `USPS_CARRIER_ACCOUNT_ID` (eg: one-call buying a shipment for non-EasyPost employees) -- `PARTNER_USER_PROD_API_KEY` (eg: creating a referral user) -- `REFERRAL_CUSTOMER_PROD_API_KEY` (eg: adding a credit card to a referral user) - -#### Google Cloud SDK - -To run the test suite with the Google Cloud SDK (`urlfetch` instead of the `requests` library), you'll need the following: - -1. Install the appengine Python package to this virtual environment: `venv/bin/pip install appengine-python-standard` -1. Install the Google Cloud SDK - - [Direct Download](https://cloud.google.com/sdk/docs/install) - - [Homebrew](https://formulae.brew.sh/cask/google-cloud-sdk) -1. Point the `PYTHONPATH` environment variable to the path of the newly installed `google-cloud-sdk` directory. For Homebrew, this is `"$(brew --prefix)/share/google-cloud-sdk"` -1. Run the test suite with the commands listed in this README diff --git a/UPGRADE_GUIDE.md b/UPGRADE_GUIDE.md deleted file mode 100644 index db35a06f..00000000 --- a/UPGRADE_GUIDE.md +++ /dev/null @@ -1,250 +0,0 @@ -# Upgrade Guide - -Use the following guide to assist in the upgrade process of the `easypost-python` library between major versions. - -- [Upgrading from 9.x to 10.0](#upgrading-from-9x-to-100) -- [Upgrading from 8.x to 9.0](#upgrading-from-8x-to-90) -- [Upgrading from 7.x to 8.0](#upgrading-from-7x-to-80) -- [Upgrading from 6.x to 7.0](#upgrading-from-6x-to-70) -- [Upgrading from 5.x to 6.0](#upgrading-from-5x-to-60) - -## Upgrading from 9.x to 10.0 - -### 10.0 High Impact Changes - -- [Updated Dependencies](#100-updated-dependencies) - -### 10.0 Medium Impact Changes - -- [Deprecations](#100-deprecations) - -### 10.0 Updated Dependencies - -**Python 3.9 Required** - -easypost-python now requires Python 3.9 or greater. - -### 10.0 Deprecations - -*Likelihood of Impact: **Medium*** - -The following deprecated functions have been removed: - -- `user.all_api_keys` (use `api_key.all`) -- `users.api_keys` (use `api_key.retrieve_api_keys_for_user`) - -## Upgrading from 8.x to 9.0 - -**NOTICE:** v9 is deprecated. - -### 9.0 High Impact Changes - -- [Carbon Offset Removed](#90-carbon-offset-removed) - -### 9.0 Low Impact Changes - -- [Create and Buy Batch Function Removed](#90-create-and-buy-batch-function-removed) - -### 9.0 Carbon Offset Removed - -*Likelihood of Impact: **High*** - -EasyPost now offers Carbon Neutral shipments by default for free! Because of this, there is no longer a need to specify if you want to offset the carbon footprint of a shipment. - -The `with_carbon_offset` parameter of the `create`, `buy`, and `regenerate_rates` shipment functions has been removed. - -This is a high-impact change for those using `EndShippers`, as the signature for the `create` and `buy` shipment functions have changed. You will need to inspect these callsites to ensure that the EndShipper parameter is being passed in the correct place. - -### 9.0 Create and Buy Batch Function Removed - -*Likelihood of Impact: **Low*** - -The `create_and_buy` batch endpoint has been deprecated, and the `create_and_buy` Batch service function has been removed. - -The correct procedure is to first create a batch and then purchase it with two separate API calls. - -## Upgrading from 7.x to 8.0 - -**NOTICE:** v8 is deprecated. - -### 8.0 High Impact Changes - -- [Updated Dependencies](#80-updated-dependencies) -- [EasyPostClient](#80-easypostclient) -- [Improved Error Handling](#80-improved-error-handling) - -### 8.0 Medium Impact Changes - -- [Corrected Naming Conventions](#80-corrected-naming-conventions) - -### 8.0 Low Impact Changes - -- [Beta Namespace Changed](#80-beta-namespace-changed) -- [Changed Function Parameter Order and Return Types](#80-changed-function-parameter-order-and-return-types) - -### 8.0 Updated Dependencies - -Likelihood of Impact: High - -**Python 3.7 Required** - -easypost-python now requires Python 3.7 or greater. - -**Dependencies** - -All dependencies had minor version bumps. - -### 8.0 EasyPostClient - -Likelihood of Impact: High - -This library is now thread-safe with the introduction of a new `EasyPostClient` object. Instead of defining a global API key that all requests use, you create an `EasyPostClient` object and pass your API key to it. You then call your desired functions against a "service" which coincide with EasyPost objects: - -```python -# Old method -easypost.api_key = os.getenv('EASYPOST_API_KEY') -shipment = easypost.Shipment.create({'data': 'here'}) - -# New method -client = easypost.EasyPostClient(api_key=os.getenv('EASYPOST_API_KEY')) -shipment = client.shipment.create({'data': 'here'}) -``` - -All instance methods are now static with the exception of `lowest_rate` as these make API calls and require the EasyPostClient (EasyPost objects do not contain an API key to make API calls with). - -Previously used `.save()` instance methods are now static `.update()` functions where you specify first the ID of the object you are updating and second, the parameters that need updating. - -Functions no longer accept an API key as an optional parameter. If you need per-function API key changes, create a new EasyPostClient object and call the function on the new client that uses the API key you need. - -### 8.0 Improved Error Handling - -Likelihood of Impact: High - -There are ~2 dozen new error types that extend either `ApiError` or `EasyPostError`. - -New ApiErrors (extends EasyPostError): - -- `ApiError` -- `EncodingError` -- `ExternalApiError` -- `ForbiddenError` -- `GatewayTimeoutError` -- `HttpError` -- `InternalServerError` -- `InvalidRequestError` -- `JsonError` -- `MethodNotAllowedError` -- `NotFoundError` -- `PaymentError` -- `RateLimitError` -- `RedirectError` -- `ServiceUnavailableError` -- `TimeoutError` -- `UnauthorizedError` -- `UnknownApiError` - -New EasyPostErrors (extends builtin Exception): - -- `EasyPostError` -- `EndOfPaginationError` -- `FilteringError` -- `InvalidObjectError` -- `InvalidParameterError` -- `MissingParameterError` -- `SignatureVerificationError` - -ApiErrors will behave like the previous Error class did. They will include a `message`, `http_status`, and `http_body`. Additionally, a new `code` and `errors` keys are present and populate when available. This class extends the more generic `EasyPostError` which only contains a message, used for errors thrown directly from this library. - -The `original_exception` property has been removed and is now returned directly in the error message if present. - -### 8.0 Corrected Naming Conventions - -Likelihood of Impact: Medium - -Occurances of `referral` are now `referral_customer` and `Referral` are now `ReferralCustomer` to match the documentation and API. - -Occurances of `smartrate` are now `smart_rate` and `Smartrate` are now `SmartRate` to match the documentation and API. - -Occurances of `scanform` are now `scan_form` and `Scanform` are now `ScanForm` to match the documentation and API. - -The `primary_or_secondary` parameter name for billing functions is now called `priority` to match the documentation and API. - -### 8.0 Beta Namespace Changed - -Likelihood of Impact: Low - -Previously, the beta namespace was found at `easypost.beta.x` where `x` is the name of your model. Now, the beta namespace is simply prepended to the name of your service: `client.beta_x`. for instance, you can call `client.beta_referral_customer.add_payment_method()`. - -### 8.0 Changed Function Parameter Order and Return Types - -Likelihood of Impact: Low - -The `update_email` function of the `referral_customer` service had the parameter order switched and name changed. Previously, you would pass the email and then the id, Now, you pass the `id` of the user first, then the email. This change matches the rest of the library where an ID always comes first. - -Functions that previously returned `True` now do not return anything as there is no response body from the API (eg: `fund_wallet`, `delete_payment_method`, `update_email`, `create_list`) - -## Upgrading from 6.x to 7.0 - -**NOTICE:** v7 is deprecated. - -### 7.0 High Impact Changes - -- [Updating Dependencies](#70-updating-dependencies) -- [`shipment.lowest_rate()` Now Expects a List](#70-shipmentlowestrate-now-expects-a-list) - -### 7.0 Medium Impact Changes - -- [Removal of `get_rates()` Shipment Method](#70-removal-of-getrates-shipment-method) - -### 7.0 Updating Dependencies - -Likelihood of Impact: High - -**Python 3.6 Required** - -easypost-python now requires Python 3.6 or greater and has dropped support for Python 2. - -**Dependencies** - -All dependencies had minor version bumps. - -### 7.0 `shipment.lowest_rate()` Now Expects a List - -Previously the `shipment.lowest_rate()` function expected a comma separated string list of filter criteria (carriers and services). These params have been corrected to expect an actual list object. - -```python -# Previous expectation -shipment.lowest_rate(carriers="USPS,FedEx", services="...") - -# Current expectation -shipment.lowest_rate(carriers=["USPS", "FedEx"], services=["..."]) -``` - -### 7.0 Removal of `get_rates()` Shipment Method - -Likelihood of Impact: Medium - -The HTTP method used for the `get_rates` endpoint at the API level has changed from `POST` to `GET` and will only retrieve rates for a shipment instead of regenerating them. A new `/rerate` endpoint has been introduced to replace this functionality; In this library, you can now call the `shipment.regenerate_rates()` method to regenerate rates. Due to the logic change, the `get_rates` method has been removed since a Shipment inherently already has rates associated. - -## Upgrading from 5.x to 6.0 - -**NOTICE:** v6 is deprecated. - -### 6.0 High Impact Changes - -- [Updating Dependencies](#60-updating-dependencies) -- [JSON Encoded Bodies](#60-json-encoded-bodies) - -### 6.0 Updating Dependencies - -Likelihood of Impact: High - -**Dependencies** - -Bumps the `requests` library from v1 to v2. - -### 6.0 JSON Encoded Bodies - -Likelihood of Impact: High - -All `POST` and `PUT` request bodies are now JSON encoded instead of form-encoded. You may see subtle inconsistencies to how certain data types were previously sent to the API. We have taken steps to mitigate and test against these edge cases. diff --git a/easypost.html b/easypost.html new file mode 100644 index 00000000..b655a2f5 --- /dev/null +++ b/easypost.html @@ -0,0 +1,282 @@ + + + + + + + easypost API documentation + + + + + + + + + +
+
+

+easypost

+ + + + + + +
 1# flake8: noqa
+ 2from easypost.constant import (
+ 3    AUTHOR,
+ 4    VERSION,
+ 5    VERSION_INFO,
+ 6)
+ 7from easypost.easypost_client import EasyPostClient
+ 8from easypost.util import (
+ 9    get_lowest_object_rate,
+10    get_lowest_smart_rate,
+11    get_lowest_stateless_rate,
+12    receive_event,
+13    validate_webhook,
+14)
+15
+16
+17__author__ = AUTHOR
+18__version__ = VERSION
+19version_info = VERSION_INFO
+
+ + +
+
+
+ version_info = +['10', '7', '0'] + + +
+ + + + +
+
+ + \ No newline at end of file diff --git a/easypost/__init__.py b/easypost/__init__.py deleted file mode 100644 index 13d5b420..00000000 --- a/easypost/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# flake8: noqa -from easypost.constant import ( - AUTHOR, - VERSION, - VERSION_INFO, -) -from easypost.easypost_client import EasyPostClient -from easypost.util import ( - get_lowest_object_rate, - get_lowest_smart_rate, - get_lowest_stateless_rate, - receive_event, - validate_webhook, -) - - -__author__ = AUTHOR -__version__ = VERSION -version_info = VERSION_INFO diff --git a/easypost/constant.html b/easypost/constant.html new file mode 100644 index 00000000..0cd7c7c7 --- /dev/null +++ b/easypost/constant.html @@ -0,0 +1,673 @@ + + + + + + + easypost.constant API documentation + + + + + + + + + +
+
+

+easypost.constant

+ + + + + + +
 1# flake8: noqa
+ 2# Library version
+ 3VERSION = "10.7.0"
+ 4VERSION_INFO = [str(number) for number in VERSION.split(".")]
+ 5
+ 6# Client defaults
+ 7API_BASE = "https://api.easypost.com"
+ 8API_VERSION = "v2"
+ 9AUTHOR = "EasyPost <oss@easypost.com>"
+10SUPPORT_EMAIL = "support@easypost.com"
+11TIMEOUT = 60
+12
+13# Error messages
+14COMMUNICATION_ERROR = "Unexpected error communicating with EasyPost. If this problem persists please let us know at {}. Original error: {}"
+15INVALID_DELIVER_ACCURACY_ERROR = "Invalid delivery_accuracy value, must be one of: {}"
+16INVALID_PAYMENT_METHOD_ERROR = "The chosen payment method is not valid. Please try again."
+17INVALID_REQUEST_LIB_ERROR = "Bug discovered: invalid request_lib: {}. Please report to {}."
+18INVALID_REQUEST_METHOD_ERROR = "Bug discovered: invalid request method: {}. Please report to {}."
+19INVALID_REQUEST_PARAMETERS_ERROR = "Only GET and DELETE requests support parameters."
+20INVALID_REQUESTS_VERSION_ERROR = 'EasyPost requires an up to date requests library. Update requests via "pip install -U requests" or contact us at {}.'
+21INVALID_RESPONSE_BODY_ERROR = "Invalid response from API: ({}) {}"
+22INVALID_SIGNATURE_ERROR = "Webhook received does not contain an HMAC signature."
+23INVALID_WEBHOOK_VALIDATION_ERROR = "Webhook received did not originate from EasyPost or had a webhook secret mismatch."
+24MISSING_PARAMETER_ERROR = "Missing required parameter: {}"
+25NO_ATTRIBUTE_ERROR = "{} object has no attribute {}"
+26NO_BILLING_ERROR = "Billing has not been setup for this user. Please add a payment method."
+27NO_MORE_PAGES_ERROR = "There are no more pages to retrieve."
+28NO_RATES_ERROR = "No rates found."
+29NO_USER_FOUND = "No user found with the given id."
+30SEND_STRIPE_DETAILS_ERROR = "Could not send card details to Stripe, please try again later."
+31TIMEOUT_ERROR = "Request timed out."
+32
+33# Internal constants (user's should not use these)
+34_TEST_FAILED_INTENTIONALLY_ERROR = "Test failed intentionally."
+35_CARRIER_ACCOUNT_CREATE_ENDPOINT_TYPES = {
+36    "/carrier_accounts/open": (
+37        "FedexDefaultAccount",
+38        "GofoWalletAccount",
+39        "UpsDapAccount",
+40        "UniUniWalletAccount",
+41        "VehoWalletAccount",
+42    ),
+43    "/carrier_accounts/register": (
+44        "FedexAccount",
+45        "FedexSmartpostAccount",
+46    ),
+47    "/carrier_accounts/register_oauth": (
+48        "AmazonShippingAccount",
+49        "UpsAccount",
+50        "UpsMailInnovationsAccount",
+51        "UpsSurepostAccount",
+52        "UspsShipAccount",
+53    ),
+54}
+55_FILTERS_KEY = "filters"
+
+ + +
+
+
+ VERSION = +'10.7.0' + + +
+ + + + +
+
+
+ VERSION_INFO = +['10', '7', '0'] + + +
+ + + + +
+
+
+ API_BASE = +'https://api.easypost.com' + + +
+ + + + +
+
+
+ API_VERSION = +'v2' + + +
+ + + + +
+
+
+ AUTHOR = +'EasyPost <oss@easypost.com>' + + +
+ + + + +
+
+
+ SUPPORT_EMAIL = +'support@easypost.com' + + +
+ + + + +
+
+
+ TIMEOUT = +60 + + +
+ + + + +
+
+
+ COMMUNICATION_ERROR = + + 'Unexpected error communicating with EasyPost. If this problem persists please let us know at {}. Original error: {}' + + +
+ + + + +
+
+
+ INVALID_DELIVER_ACCURACY_ERROR = +'Invalid delivery_accuracy value, must be one of: {}' + + +
+ + + + +
+
+
+ INVALID_PAYMENT_METHOD_ERROR = +'The chosen payment method is not valid. Please try again.' + + +
+ + + + +
+
+
+ INVALID_REQUEST_LIB_ERROR = +'Bug discovered: invalid request_lib: {}. Please report to {}.' + + +
+ + + + +
+
+
+ INVALID_REQUEST_METHOD_ERROR = +'Bug discovered: invalid request method: {}. Please report to {}.' + + +
+ + + + +
+
+
+ INVALID_REQUEST_PARAMETERS_ERROR = +'Only GET and DELETE requests support parameters.' + + +
+ + + + +
+
+
+ INVALID_REQUESTS_VERSION_ERROR = + + 'EasyPost requires an up to date requests library. Update requests via "pip install -U requests" or contact us at {}.' + + +
+ + + + +
+
+
+ INVALID_RESPONSE_BODY_ERROR = +'Invalid response from API: ({}) {}' + + +
+ + + + +
+
+
+ INVALID_SIGNATURE_ERROR = +'Webhook received does not contain an HMAC signature.' + + +
+ + + + +
+
+
+ INVALID_WEBHOOK_VALIDATION_ERROR = +'Webhook received did not originate from EasyPost or had a webhook secret mismatch.' + + +
+ + + + +
+
+
+ MISSING_PARAMETER_ERROR = +'Missing required parameter: {}' + + +
+ + + + +
+
+
+ NO_ATTRIBUTE_ERROR = +'{} object has no attribute {}' + + +
+ + + + +
+
+
+ NO_BILLING_ERROR = +'Billing has not been setup for this user. Please add a payment method.' + + +
+ + + + +
+
+
+ NO_MORE_PAGES_ERROR = +'There are no more pages to retrieve.' + + +
+ + + + +
+
+
+ NO_RATES_ERROR = +'No rates found.' + + +
+ + + + +
+
+
+ NO_USER_FOUND = +'No user found with the given id.' + + +
+ + + + +
+
+
+ SEND_STRIPE_DETAILS_ERROR = +'Could not send card details to Stripe, please try again later.' + + +
+ + + + +
+
+
+ TIMEOUT_ERROR = +'Request timed out.' + + +
+ + + + +
+
+ + \ No newline at end of file diff --git a/easypost/constant.py b/easypost/constant.py deleted file mode 100644 index 18a71b29..00000000 --- a/easypost/constant.py +++ /dev/null @@ -1,55 +0,0 @@ -# flake8: noqa -# Library version -VERSION = "10.7.0" -VERSION_INFO = [str(number) for number in VERSION.split(".")] - -# Client defaults -API_BASE = "https://api.easypost.com" -API_VERSION = "v2" -AUTHOR = "EasyPost " -SUPPORT_EMAIL = "support@easypost.com" -TIMEOUT = 60 - -# Error messages -COMMUNICATION_ERROR = "Unexpected error communicating with EasyPost. If this problem persists please let us know at {}. Original error: {}" -INVALID_DELIVER_ACCURACY_ERROR = "Invalid delivery_accuracy value, must be one of: {}" -INVALID_PAYMENT_METHOD_ERROR = "The chosen payment method is not valid. Please try again." -INVALID_REQUEST_LIB_ERROR = "Bug discovered: invalid request_lib: {}. Please report to {}." -INVALID_REQUEST_METHOD_ERROR = "Bug discovered: invalid request method: {}. Please report to {}." -INVALID_REQUEST_PARAMETERS_ERROR = "Only GET and DELETE requests support parameters." -INVALID_REQUESTS_VERSION_ERROR = 'EasyPost requires an up to date requests library. Update requests via "pip install -U requests" or contact us at {}.' -INVALID_RESPONSE_BODY_ERROR = "Invalid response from API: ({}) {}" -INVALID_SIGNATURE_ERROR = "Webhook received does not contain an HMAC signature." -INVALID_WEBHOOK_VALIDATION_ERROR = "Webhook received did not originate from EasyPost or had a webhook secret mismatch." -MISSING_PARAMETER_ERROR = "Missing required parameter: {}" -NO_ATTRIBUTE_ERROR = "{} object has no attribute {}" -NO_BILLING_ERROR = "Billing has not been setup for this user. Please add a payment method." -NO_MORE_PAGES_ERROR = "There are no more pages to retrieve." -NO_RATES_ERROR = "No rates found." -NO_USER_FOUND = "No user found with the given id." -SEND_STRIPE_DETAILS_ERROR = "Could not send card details to Stripe, please try again later." -TIMEOUT_ERROR = "Request timed out." - -# Internal constants (user's should not use these) -_TEST_FAILED_INTENTIONALLY_ERROR = "Test failed intentionally." -_CARRIER_ACCOUNT_CREATE_ENDPOINT_TYPES = { - "/carrier_accounts/open": ( - "FedexDefaultAccount", - "GofoWalletAccount", - "UpsDapAccount", - "UniUniWalletAccount", - "VehoWalletAccount", - ), - "/carrier_accounts/register": ( - "FedexAccount", - "FedexSmartpostAccount", - ), - "/carrier_accounts/register_oauth": ( - "AmazonShippingAccount", - "UpsAccount", - "UpsMailInnovationsAccount", - "UpsSurepostAccount", - "UspsShipAccount", - ), -} -_FILTERS_KEY = "filters" diff --git a/easypost/easypost_client.html b/easypost/easypost_client.html new file mode 100644 index 00000000..2a2545e5 --- /dev/null +++ b/easypost/easypost_client.html @@ -0,0 +1,1238 @@ + + + + + + + easypost.easypost_client API documentation + + + + + + + + + +
+
+

+easypost.easypost_client

+ + + + + + +
  1from typing import Any
+  2
+  3from easypost.constant import (
+  4    API_BASE,
+  5    API_VERSION,
+  6    INVALID_REQUESTS_VERSION_ERROR,
+  7    SUPPORT_EMAIL,
+  8    TIMEOUT,
+  9)
+ 10from easypost.easypost_object import convert_to_easypost_object
+ 11from easypost.hooks import RequestHook, ResponseHook
+ 12from easypost.requestor import RequestMethod, Requestor
+ 13from easypost.services import (
+ 14    AddressService,
+ 15    ApiKeyService,
+ 16    BatchService,
+ 17    BetaRateService,
+ 18    BetaReferralCustomerService,
+ 19    BillingService,
+ 20    CarrierAccountService,
+ 21    CarrierMetadataService,
+ 22    ClaimService,
+ 23    CustomerPortalService,
+ 24    CustomsInfoService,
+ 25    CustomsItemService,
+ 26    EmbeddableService,
+ 27    EndShipperService,
+ 28    EventService,
+ 29    FedExRegistrationService,
+ 30    InsuranceService,
+ 31    LumaService,
+ 32    OrderService,
+ 33    ParcelService,
+ 34    PickupService,
+ 35    RateService,
+ 36    ReferralCustomerService,
+ 37    RefundService,
+ 38    ReportService,
+ 39    ScanFormService,
+ 40    ShipmentService,
+ 41    SmartRateService,
+ 42    TrackerService,
+ 43    UserService,
+ 44    WebhookService,
+ 45)
+ 46
+ 47
+ 48class EasyPostClient:
+ 49    """A client object used to authenticate and configure all HTTP calls to the EasyPost API."""
+ 50
+ 51    def __init__(
+ 52        self,
+ 53        api_key: str,
+ 54        api_base: str = f"{API_BASE}/{API_VERSION}",
+ 55        timeout: int = TIMEOUT,
+ 56    ):
+ 57        # Client configuration
+ 58        self.api_key = api_key
+ 59        self.api_base = api_base
+ 60        self.timeout = timeout
+ 61
+ 62        # Services
+ 63        self.address = AddressService(self)
+ 64        self.api_keys = ApiKeyService(self)
+ 65        self.batch = BatchService(self)
+ 66        self.beta_rate = BetaRateService(self)
+ 67        self.beta_referral_customer = BetaReferralCustomerService(self)
+ 68        self.billing = BillingService(self)
+ 69        self.carrier_account = CarrierAccountService(self)
+ 70        self.carrier_metadata = CarrierMetadataService(self)
+ 71        self.claim = ClaimService(self)
+ 72        self.customer_portal = CustomerPortalService(self)
+ 73        self.customs_info = CustomsInfoService(self)
+ 74        self.customs_item = CustomsItemService(self)
+ 75        self.embeddable = EmbeddableService(self)
+ 76        self.end_shipper = EndShipperService(self)
+ 77        self.event = EventService(self)
+ 78        self.fedex_registration = FedExRegistrationService(self)
+ 79        self.insurance = InsuranceService(self)
+ 80        self.luma = LumaService(self)
+ 81        self.order = OrderService(self)
+ 82        self.parcel = ParcelService(self)
+ 83        self.rate = RateService(self)
+ 84        self.pickup = PickupService(self)
+ 85        self.referral_customer = ReferralCustomerService(self)
+ 86        self.refund = RefundService(self)
+ 87        self.report = ReportService(self)
+ 88        self.scan_form = ScanFormService(self)
+ 89        self.shipment = ShipmentService(self)
+ 90        self.smart_rate = SmartRateService(self)
+ 91        self.tracker = TrackerService(self)
+ 92        self.user = UserService(self)
+ 93        self.webhook = WebhookService(self)
+ 94
+ 95        # Hooks
+ 96        self._request_hook = RequestHook()
+ 97        self._response_hook = ResponseHook()
+ 98
+ 99        # use urlfetch as request_lib on google app engine, otherwise use requests
+100        self._request_lib = None
+101        try:
+102            from google.appengine.api import urlfetch  # type: ignore
+103
+104            self._request_lib = "urlfetch"
+105            # use the GAE application-wide "deadline" (or its default)
+106            timeout = urlfetch.get_default_fetch_deadline() or self.timeout
+107        except ImportError:
+108            try:
+109                import requests
+110
+111                self._request_lib = "requests"
+112                self._requests_session = requests.Session()
+113                requests_http_adapter = requests.adapters.HTTPAdapter(max_retries=3)
+114                self._requests_session.mount(
+115                    prefix=self.api_base.split(f"/{API_VERSION}")[0],
+116                    adapter=requests_http_adapter,
+117                )
+118            except Exception:
+119                raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL))
+120
+121            try:
+122                requests_version = requests.__version__
+123                major_version, _, _ = [int(i) for i in requests_version.split(".")]
+124            except Exception:
+125                raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL))
+126            else:
+127                if major_version < 1:
+128                    raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL))
+129
+130    def subscribe_to_request_hook(self, function):
+131        """Subscribe functions to run when a request occurs."""
+132        self._request_hook += function
+133
+134    def unsubscribe_from_request_hook(self, function):
+135        """Unsubscribe functions from running when a request occurs."""
+136        self._request_hook -= function
+137
+138    def subscribe_to_response_hook(self, function):
+139        """Subscribe functions to run when a response occurs."""
+140        self._response_hook += function
+141
+142    def unsubscribe_from_response_hook(self, function):
+143        """Unsubscribe functions from running when a response occurs."""
+144        self._response_hook -= function
+145
+146    def make_api_call(self, method: RequestMethod, endpoint: str, params: dict[str, Any]) -> dict[str, Any]:
+147        """Make an API call to the EasyPost API.
+148
+149        This public, generic interface is useful for making arbitrary API calls to the EasyPost API that
+150        are not yet supported by the client library's services. When possible, the service for your use case
+151        should be used instead as it provides a more convenient and higher-level interface depending on the endpoint.
+152        """
+153        response = Requestor(self).request(method=method, url=endpoint, params=params)
+154
+155        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + EasyPostClient: + + + +
+ +
 49class EasyPostClient:
+ 50    """A client object used to authenticate and configure all HTTP calls to the EasyPost API."""
+ 51
+ 52    def __init__(
+ 53        self,
+ 54        api_key: str,
+ 55        api_base: str = f"{API_BASE}/{API_VERSION}",
+ 56        timeout: int = TIMEOUT,
+ 57    ):
+ 58        # Client configuration
+ 59        self.api_key = api_key
+ 60        self.api_base = api_base
+ 61        self.timeout = timeout
+ 62
+ 63        # Services
+ 64        self.address = AddressService(self)
+ 65        self.api_keys = ApiKeyService(self)
+ 66        self.batch = BatchService(self)
+ 67        self.beta_rate = BetaRateService(self)
+ 68        self.beta_referral_customer = BetaReferralCustomerService(self)
+ 69        self.billing = BillingService(self)
+ 70        self.carrier_account = CarrierAccountService(self)
+ 71        self.carrier_metadata = CarrierMetadataService(self)
+ 72        self.claim = ClaimService(self)
+ 73        self.customer_portal = CustomerPortalService(self)
+ 74        self.customs_info = CustomsInfoService(self)
+ 75        self.customs_item = CustomsItemService(self)
+ 76        self.embeddable = EmbeddableService(self)
+ 77        self.end_shipper = EndShipperService(self)
+ 78        self.event = EventService(self)
+ 79        self.fedex_registration = FedExRegistrationService(self)
+ 80        self.insurance = InsuranceService(self)
+ 81        self.luma = LumaService(self)
+ 82        self.order = OrderService(self)
+ 83        self.parcel = ParcelService(self)
+ 84        self.rate = RateService(self)
+ 85        self.pickup = PickupService(self)
+ 86        self.referral_customer = ReferralCustomerService(self)
+ 87        self.refund = RefundService(self)
+ 88        self.report = ReportService(self)
+ 89        self.scan_form = ScanFormService(self)
+ 90        self.shipment = ShipmentService(self)
+ 91        self.smart_rate = SmartRateService(self)
+ 92        self.tracker = TrackerService(self)
+ 93        self.user = UserService(self)
+ 94        self.webhook = WebhookService(self)
+ 95
+ 96        # Hooks
+ 97        self._request_hook = RequestHook()
+ 98        self._response_hook = ResponseHook()
+ 99
+100        # use urlfetch as request_lib on google app engine, otherwise use requests
+101        self._request_lib = None
+102        try:
+103            from google.appengine.api import urlfetch  # type: ignore
+104
+105            self._request_lib = "urlfetch"
+106            # use the GAE application-wide "deadline" (or its default)
+107            timeout = urlfetch.get_default_fetch_deadline() or self.timeout
+108        except ImportError:
+109            try:
+110                import requests
+111
+112                self._request_lib = "requests"
+113                self._requests_session = requests.Session()
+114                requests_http_adapter = requests.adapters.HTTPAdapter(max_retries=3)
+115                self._requests_session.mount(
+116                    prefix=self.api_base.split(f"/{API_VERSION}")[0],
+117                    adapter=requests_http_adapter,
+118                )
+119            except Exception:
+120                raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL))
+121
+122            try:
+123                requests_version = requests.__version__
+124                major_version, _, _ = [int(i) for i in requests_version.split(".")]
+125            except Exception:
+126                raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL))
+127            else:
+128                if major_version < 1:
+129                    raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL))
+130
+131    def subscribe_to_request_hook(self, function):
+132        """Subscribe functions to run when a request occurs."""
+133        self._request_hook += function
+134
+135    def unsubscribe_from_request_hook(self, function):
+136        """Unsubscribe functions from running when a request occurs."""
+137        self._request_hook -= function
+138
+139    def subscribe_to_response_hook(self, function):
+140        """Subscribe functions to run when a response occurs."""
+141        self._response_hook += function
+142
+143    def unsubscribe_from_response_hook(self, function):
+144        """Unsubscribe functions from running when a response occurs."""
+145        self._response_hook -= function
+146
+147    def make_api_call(self, method: RequestMethod, endpoint: str, params: dict[str, Any]) -> dict[str, Any]:
+148        """Make an API call to the EasyPost API.
+149
+150        This public, generic interface is useful for making arbitrary API calls to the EasyPost API that
+151        are not yet supported by the client library's services. When possible, the service for your use case
+152        should be used instead as it provides a more convenient and higher-level interface depending on the endpoint.
+153        """
+154        response = Requestor(self).request(method=method, url=endpoint, params=params)
+155
+156        return convert_to_easypost_object(response=response)
+
+ + +

A client object used to authenticate and configure all HTTP calls to the EasyPost API.

+
+ + +
+ +
+ + EasyPostClient( api_key: str, api_base: str = 'https://api.easypost.com/v2', timeout: int = 60) + + + +
+ +
 52    def __init__(
+ 53        self,
+ 54        api_key: str,
+ 55        api_base: str = f"{API_BASE}/{API_VERSION}",
+ 56        timeout: int = TIMEOUT,
+ 57    ):
+ 58        # Client configuration
+ 59        self.api_key = api_key
+ 60        self.api_base = api_base
+ 61        self.timeout = timeout
+ 62
+ 63        # Services
+ 64        self.address = AddressService(self)
+ 65        self.api_keys = ApiKeyService(self)
+ 66        self.batch = BatchService(self)
+ 67        self.beta_rate = BetaRateService(self)
+ 68        self.beta_referral_customer = BetaReferralCustomerService(self)
+ 69        self.billing = BillingService(self)
+ 70        self.carrier_account = CarrierAccountService(self)
+ 71        self.carrier_metadata = CarrierMetadataService(self)
+ 72        self.claim = ClaimService(self)
+ 73        self.customer_portal = CustomerPortalService(self)
+ 74        self.customs_info = CustomsInfoService(self)
+ 75        self.customs_item = CustomsItemService(self)
+ 76        self.embeddable = EmbeddableService(self)
+ 77        self.end_shipper = EndShipperService(self)
+ 78        self.event = EventService(self)
+ 79        self.fedex_registration = FedExRegistrationService(self)
+ 80        self.insurance = InsuranceService(self)
+ 81        self.luma = LumaService(self)
+ 82        self.order = OrderService(self)
+ 83        self.parcel = ParcelService(self)
+ 84        self.rate = RateService(self)
+ 85        self.pickup = PickupService(self)
+ 86        self.referral_customer = ReferralCustomerService(self)
+ 87        self.refund = RefundService(self)
+ 88        self.report = ReportService(self)
+ 89        self.scan_form = ScanFormService(self)
+ 90        self.shipment = ShipmentService(self)
+ 91        self.smart_rate = SmartRateService(self)
+ 92        self.tracker = TrackerService(self)
+ 93        self.user = UserService(self)
+ 94        self.webhook = WebhookService(self)
+ 95
+ 96        # Hooks
+ 97        self._request_hook = RequestHook()
+ 98        self._response_hook = ResponseHook()
+ 99
+100        # use urlfetch as request_lib on google app engine, otherwise use requests
+101        self._request_lib = None
+102        try:
+103            from google.appengine.api import urlfetch  # type: ignore
+104
+105            self._request_lib = "urlfetch"
+106            # use the GAE application-wide "deadline" (or its default)
+107            timeout = urlfetch.get_default_fetch_deadline() or self.timeout
+108        except ImportError:
+109            try:
+110                import requests
+111
+112                self._request_lib = "requests"
+113                self._requests_session = requests.Session()
+114                requests_http_adapter = requests.adapters.HTTPAdapter(max_retries=3)
+115                self._requests_session.mount(
+116                    prefix=self.api_base.split(f"/{API_VERSION}")[0],
+117                    adapter=requests_http_adapter,
+118                )
+119            except Exception:
+120                raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL))
+121
+122            try:
+123                requests_version = requests.__version__
+124                major_version, _, _ = [int(i) for i in requests_version.split(".")]
+125            except Exception:
+126                raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL))
+127            else:
+128                if major_version < 1:
+129                    raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL))
+
+ + + + +
+
+
+ api_key + + +
+ + + + +
+
+
+ api_base + + +
+ + + + +
+
+
+ timeout + + +
+ + + + +
+
+
+ address + + +
+ + + + +
+
+
+ api_keys + + +
+ + + + +
+
+
+ batch + + +
+ + + + +
+
+
+ beta_rate + + +
+ + + + +
+
+
+ beta_referral_customer + + +
+ + + + +
+
+
+ billing + + +
+ + + + +
+
+
+ carrier_account + + +
+ + + + +
+
+
+ carrier_metadata + + +
+ + + + +
+
+
+ claim + + +
+ + + + +
+
+
+ customer_portal + + +
+ + + + +
+
+
+ customs_info + + +
+ + + + +
+
+
+ customs_item + + +
+ + + + +
+
+
+ embeddable + + +
+ + + + +
+
+
+ end_shipper + + +
+ + + + +
+
+
+ event + + +
+ + + + +
+
+
+ fedex_registration + + +
+ + + + +
+
+
+ insurance + + +
+ + + + +
+
+
+ luma + + +
+ + + + +
+
+
+ order + + +
+ + + + +
+
+
+ parcel + + +
+ + + + +
+
+
+ rate + + +
+ + + + +
+
+
+ pickup + + +
+ + + + +
+
+
+ referral_customer + + +
+ + + + +
+
+
+ refund + + +
+ + + + +
+
+
+ report + + +
+ + + + +
+
+
+ scan_form + + +
+ + + + +
+
+
+ shipment + + +
+ + + + +
+
+
+ smart_rate + + +
+ + + + +
+
+
+ tracker + + +
+ + + + +
+
+
+ user + + +
+ + + + +
+
+
+ webhook + + +
+ + + + +
+
+ +
+ + def + subscribe_to_request_hook(self, function): + + + +
+ +
131    def subscribe_to_request_hook(self, function):
+132        """Subscribe functions to run when a request occurs."""
+133        self._request_hook += function
+
+ + +

Subscribe functions to run when a request occurs.

+
+ + +
+
+ +
+ + def + unsubscribe_from_request_hook(self, function): + + + +
+ +
135    def unsubscribe_from_request_hook(self, function):
+136        """Unsubscribe functions from running when a request occurs."""
+137        self._request_hook -= function
+
+ + +

Unsubscribe functions from running when a request occurs.

+
+ + +
+
+ +
+ + def + subscribe_to_response_hook(self, function): + + + +
+ +
139    def subscribe_to_response_hook(self, function):
+140        """Subscribe functions to run when a response occurs."""
+141        self._response_hook += function
+
+ + +

Subscribe functions to run when a response occurs.

+
+ + +
+
+ +
+ + def + unsubscribe_from_response_hook(self, function): + + + +
+ +
143    def unsubscribe_from_response_hook(self, function):
+144        """Unsubscribe functions from running when a response occurs."""
+145        self._response_hook -= function
+
+ + +

Unsubscribe functions from running when a response occurs.

+
+ + +
+
+ +
+ + def + make_api_call( self, method: easypost.requestor.RequestMethod, endpoint: str, params: dict[str, typing.Any]) -> dict[str, typing.Any]: + + + +
+ +
147    def make_api_call(self, method: RequestMethod, endpoint: str, params: dict[str, Any]) -> dict[str, Any]:
+148        """Make an API call to the EasyPost API.
+149
+150        This public, generic interface is useful for making arbitrary API calls to the EasyPost API that
+151        are not yet supported by the client library's services. When possible, the service for your use case
+152        should be used instead as it provides a more convenient and higher-level interface depending on the endpoint.
+153        """
+154        response = Requestor(self).request(method=method, url=endpoint, params=params)
+155
+156        return convert_to_easypost_object(response=response)
+
+ + +

Make an API call to the EasyPost API.

+ +

This public, generic interface is useful for making arbitrary API calls to the EasyPost API that +are not yet supported by the client library's services. When possible, the service for your use case +should be used instead as it provides a more convenient and higher-level interface depending on the endpoint.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/easypost_client.py b/easypost/easypost_client.py deleted file mode 100644 index 026b67bc..00000000 --- a/easypost/easypost_client.py +++ /dev/null @@ -1,155 +0,0 @@ -from typing import Any - -from easypost.constant import ( - API_BASE, - API_VERSION, - INVALID_REQUESTS_VERSION_ERROR, - SUPPORT_EMAIL, - TIMEOUT, -) -from easypost.easypost_object import convert_to_easypost_object -from easypost.hooks import RequestHook, ResponseHook -from easypost.requestor import RequestMethod, Requestor -from easypost.services import ( - AddressService, - ApiKeyService, - BatchService, - BetaRateService, - BetaReferralCustomerService, - BillingService, - CarrierAccountService, - CarrierMetadataService, - ClaimService, - CustomerPortalService, - CustomsInfoService, - CustomsItemService, - EmbeddableService, - EndShipperService, - EventService, - FedExRegistrationService, - InsuranceService, - LumaService, - OrderService, - ParcelService, - PickupService, - RateService, - ReferralCustomerService, - RefundService, - ReportService, - ScanFormService, - ShipmentService, - SmartRateService, - TrackerService, - UserService, - WebhookService, -) - - -class EasyPostClient: - """A client object used to authenticate and configure all HTTP calls to the EasyPost API.""" - - def __init__( - self, - api_key: str, - api_base: str = f"{API_BASE}/{API_VERSION}", - timeout: int = TIMEOUT, - ): - # Client configuration - self.api_key = api_key - self.api_base = api_base - self.timeout = timeout - - # Services - self.address = AddressService(self) - self.api_keys = ApiKeyService(self) - self.batch = BatchService(self) - self.beta_rate = BetaRateService(self) - self.beta_referral_customer = BetaReferralCustomerService(self) - self.billing = BillingService(self) - self.carrier_account = CarrierAccountService(self) - self.carrier_metadata = CarrierMetadataService(self) - self.claim = ClaimService(self) - self.customer_portal = CustomerPortalService(self) - self.customs_info = CustomsInfoService(self) - self.customs_item = CustomsItemService(self) - self.embeddable = EmbeddableService(self) - self.end_shipper = EndShipperService(self) - self.event = EventService(self) - self.fedex_registration = FedExRegistrationService(self) - self.insurance = InsuranceService(self) - self.luma = LumaService(self) - self.order = OrderService(self) - self.parcel = ParcelService(self) - self.rate = RateService(self) - self.pickup = PickupService(self) - self.referral_customer = ReferralCustomerService(self) - self.refund = RefundService(self) - self.report = ReportService(self) - self.scan_form = ScanFormService(self) - self.shipment = ShipmentService(self) - self.smart_rate = SmartRateService(self) - self.tracker = TrackerService(self) - self.user = UserService(self) - self.webhook = WebhookService(self) - - # Hooks - self._request_hook = RequestHook() - self._response_hook = ResponseHook() - - # use urlfetch as request_lib on google app engine, otherwise use requests - self._request_lib = None - try: - from google.appengine.api import urlfetch # type: ignore - - self._request_lib = "urlfetch" - # use the GAE application-wide "deadline" (or its default) - timeout = urlfetch.get_default_fetch_deadline() or self.timeout - except ImportError: - try: - import requests - - self._request_lib = "requests" - self._requests_session = requests.Session() - requests_http_adapter = requests.adapters.HTTPAdapter(max_retries=3) - self._requests_session.mount( - prefix=self.api_base.split(f"/{API_VERSION}")[0], - adapter=requests_http_adapter, - ) - except Exception: - raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL)) - - try: - requests_version = requests.__version__ - major_version, _, _ = [int(i) for i in requests_version.split(".")] - except Exception: - raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL)) - else: - if major_version < 1: - raise ImportError(INVALID_REQUESTS_VERSION_ERROR.format(SUPPORT_EMAIL)) - - def subscribe_to_request_hook(self, function): - """Subscribe functions to run when a request occurs.""" - self._request_hook += function - - def unsubscribe_from_request_hook(self, function): - """Unsubscribe functions from running when a request occurs.""" - self._request_hook -= function - - def subscribe_to_response_hook(self, function): - """Subscribe functions to run when a response occurs.""" - self._response_hook += function - - def unsubscribe_from_response_hook(self, function): - """Unsubscribe functions from running when a response occurs.""" - self._response_hook -= function - - def make_api_call(self, method: RequestMethod, endpoint: str, params: dict[str, Any]) -> dict[str, Any]: - """Make an API call to the EasyPost API. - - This public, generic interface is useful for making arbitrary API calls to the EasyPost API that - are not yet supported by the client library's services. When possible, the service for your use case - should be used instead as it provides a more convenient and higher-level interface depending on the endpoint. - """ - response = Requestor(self).request(method=method, url=endpoint, params=params) - - return convert_to_easypost_object(response=response) diff --git a/easypost/easypost_object.html b/easypost/easypost_object.html new file mode 100644 index 00000000..2fa9ae94 --- /dev/null +++ b/easypost/easypost_object.html @@ -0,0 +1,1052 @@ + + + + + + + easypost.easypost_object API documentation + + + + + + + + + +
+
+

+easypost.easypost_object

+ + + + + + +
  1import importlib
+  2import json
+  3import re
+  4from typing import (
+  5    Any,
+  6    Optional,
+  7)
+  8
+  9from easypost.constant import NO_ATTRIBUTE_ERROR
+ 10
+ 11EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP: dict[str, Any] = {
+ 12    "adr": "Address",
+ 13    "ak": "ApiKey",
+ 14    "batch": "Batch",
+ 15    "brd": "Brand",
+ 16    "ca": "CarrierAccount",
+ 17    "cfrep": "Report",
+ 18    "clm": "Claim",
+ 19    "cstinfo": "CustomsInfo",
+ 20    "cstitem": "CustomsItem",
+ 21    "es": "EndShipper",
+ 22    "evt": "Event",
+ 23    "hook": "Webhook",
+ 24    "ins": "Insurance",
+ 25    "order": "Order",
+ 26    "payload": "Payload",
+ 27    "pickup": "Pickup",
+ 28    "pickuprate": "PickupRate",
+ 29    "pl": "PostageLabel",
+ 30    "plrep": "Report",
+ 31    "prcl": "Parcel",
+ 32    "rate": "Rate",
+ 33    "refrep": "Report",
+ 34    "rfnd": "Refund",
+ 35    "sf": "ScanForm",
+ 36    "shp": "Shipment",
+ 37    "shpinvrep": "Report",
+ 38    "shprep": "Report",
+ 39    "trk": "Tracker",
+ 40    "trkrep": "Report",
+ 41    "user": "User",
+ 42}
+ 43
+ 44OBJECT_CLASS_NAME_OVERRIDES: dict[str, Any] = {
+ 45    "CashFlowReport": "Report",
+ 46    "PaymentLogReport": "Report",
+ 47    "RefundReport": "Report",
+ 48    "ShipmentInvoiceReport": "Report",
+ 49    "ShipmentReport": "Report",
+ 50    "TrackerReport": "Report",
+ 51}
+ 52
+ 53
+ 54def convert_to_easypost_object(
+ 55    response: dict[str, Any],
+ 56    parent: object = None,
+ 57    name: Optional[str] = None,
+ 58):
+ 59    """Convert a response to an EasyPostObject."""
+ 60    if isinstance(response, list):
+ 61        return [convert_to_easypost_object(response=item, parent=parent) for item in response]
+ 62    elif isinstance(response, dict):
+ 63        object_type_str = response.get("object", EasyPostObject)
+ 64        class_name = OBJECT_CLASS_NAME_OVERRIDES.get(object_type_str, EasyPostObject)
+ 65        object_id = response.get("id")
+ 66
+ 67        if object_id is not None:
+ 68            # If an object ID is present, use it to find the class type instead.
+ 69            object_id_prefix = object_id.split("_")[0]
+ 70            class_name = EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP.get(object_id_prefix, EasyPostObject)
+ 71
+ 72        # Dynamically import class models due to circular imports of EasyPostObject
+ 73        class_model = (
+ 74            getattr(
+ 75                importlib.import_module(f"easypost.models.{re.sub(r'(?<!^)(?=[A-Z])', '_', class_name).lower()}"),
+ 76                class_name,
+ 77            )
+ 78            if class_name != EasyPostObject
+ 79            else EasyPostObject
+ 80        )
+ 81
+ 82        obj = class_model.construct_from(values=response, parent=parent, name=name)
+ 83
+ 84        return obj
+ 85    else:
+ 86        return response
+ 87
+ 88
+ 89class EasyPostObject(object):
+ 90    def __init__(
+ 91        self,
+ 92        id: Optional[str] = None,
+ 93        parent: Optional[object] = None,
+ 94        name: Optional[str] = None,
+ 95        **params,
+ 96    ):
+ 97        self.__dict__["_values"] = set()
+ 98        self.__dict__["_immutable_values"] = {"id"}
+ 99        self.__dict__["_parent"] = parent
+100        self.__dict__["_name"] = name
+101
+102        if id:
+103            self.id = id
+104
+105    def __setattr__(self, k, v: Any) -> None:
+106        self.__dict__[k] = v
+107
+108        if k not in self._immutable_values:
+109            self._values.add(k)
+110            self._unsaved_values.add(k)
+111            cur = self
+112            cur_parent = self._parent
+113
+114            while cur_parent:
+115                if cur._name:
+116                    cur_parent._unsaved_values.add(cur._name)
+117                cur = cur_parent
+118                cur_parent = cur._parent
+119
+120    def __getattr__(self, k) -> Any:
+121        try:
+122            return self.__dict__[k]
+123        except KeyError:
+124            pass
+125        raise AttributeError(NO_ATTRIBUTE_ERROR.format(type(self).__name__, k))
+126
+127    def __getitem__(self, k):
+128        return self.__dict__[k]
+129
+130    def get(self, k, default: Any = None) -> Any:
+131        try:
+132            return self[k]
+133        except KeyError:
+134            return default
+135
+136    def setdefault(self, k, default: Any = None) -> Any:
+137        try:
+138            return self[k]
+139        except KeyError:
+140            self[k] = default
+141        return default
+142
+143    def __setitem__(self, k, v) -> None:
+144        setattr(self, k, v)
+145
+146    @property
+147    def keys(self) -> list[str]:
+148        return self._values.keys()
+149
+150    @property
+151    def values(self) -> list[Any]:
+152        return self._values.keys()
+153
+154    @classmethod
+155    def construct_from(
+156        cls,
+157        values: dict[str, Any],
+158        parent: object = None,
+159        name: Optional[str] = None,
+160    ) -> object:
+161        """Construct an EasyPostObject from values returned by the API."""
+162        instance = cls(id=values.get("id"), parent=parent, name=name)
+163        instance.convert_each_value(values=values)
+164
+165        return instance
+166
+167    def convert_each_value(self, values: dict[str, Any]) -> None:
+168        """Convert each value of a response into an EasyPostObject."""
+169        for k, v in sorted(values.items()):
+170            if k == "id" and self.id != v:
+171                self.id = v
+172            if k in self._immutable_values:
+173                continue
+174            self.__dict__[k] = convert_to_easypost_object(response=v, parent=self, name=k)
+175            self._values.add(k)
+176
+177    def __repr__(self) -> str:
+178        """String representation of an EasyPostObject."""
+179        type_string = ""
+180
+181        if isinstance(self.get("object"), str):
+182            type_string = " %s" % self.get("object").encode("utf8")
+183
+184        json_string = json.dumps(obj=self.to_dict(), sort_keys=True, indent=2, cls=EasyPostObjectEncoder)
+185
+186        return "<%s%s at %s> JSON: %s" % (
+187            type(self).__name__,
+188            type_string,
+189            hex(id(self)),
+190            json_string,
+191        )
+192
+193    def __str__(self) -> str:
+194        return self.to_json(indent=2)
+195
+196    def __eq__(self, other) -> bool:
+197        if not isinstance(other, EasyPostObject):
+198            return False
+199        return self.__str__() == other.__str__()
+200
+201    def to_json(self, indent: Optional[int] = None) -> str:
+202        """Convert current object to json string."""
+203        return json.dumps(obj=self.to_dict(), sort_keys=True, indent=indent, cls=EasyPostObjectEncoder)
+204
+205    def to_dict(self) -> dict[str, Any]:
+206        """Convert current object to a dict."""
+207
+208        def _serialize(o):
+209            if isinstance(o, EasyPostObject):
+210                return o.to_dict()
+211            if isinstance(o, list):
+212                return [_serialize(r) for r in o]
+213            return o
+214
+215        d = {"id": self.get("id")} if self.get("id") else {}
+216        for k in sorted(self._values):
+217            v = getattr(self, k)
+218            v = _serialize(v)
+219            d[k] = v
+220        return d
+221
+222
+223class EasyPostObjectEncoder(json.JSONEncoder):
+224    def default(self, obj: Any) -> Any:
+225        """Convert an EasyPostObject to a dict."""
+226        if isinstance(obj, EasyPostObject):
+227            return obj.to_dict()
+228        else:
+229            return json.JSONEncoder.default(self, o=obj)
+
+ + +
+
+
+ EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP: dict[str, typing.Any] = + + {'adr': 'Address', 'ak': 'ApiKey', 'batch': 'Batch', 'brd': 'Brand', 'ca': 'CarrierAccount', 'cfrep': 'Report', 'clm': 'Claim', 'cstinfo': 'CustomsInfo', 'cstitem': 'CustomsItem', 'es': 'EndShipper', 'evt': 'Event', 'hook': 'Webhook', 'ins': 'Insurance', 'order': 'Order', 'payload': 'Payload', 'pickup': 'Pickup', 'pickuprate': 'PickupRate', 'pl': 'PostageLabel', 'plrep': 'Report', 'prcl': 'Parcel', 'rate': 'Rate', 'refrep': 'Report', 'rfnd': 'Refund', 'sf': 'ScanForm', 'shp': 'Shipment', 'shpinvrep': 'Report', 'shprep': 'Report', 'trk': 'Tracker', 'trkrep': 'Report', 'user': 'User'} + + +
+ + + + +
+
+
+ OBJECT_CLASS_NAME_OVERRIDES: dict[str, typing.Any] = + + {'CashFlowReport': 'Report', 'PaymentLogReport': 'Report', 'RefundReport': 'Report', 'ShipmentInvoiceReport': 'Report', 'ShipmentReport': 'Report', 'TrackerReport': 'Report'} + + +
+ + + + +
+
+ +
+ + def + convert_to_easypost_object( response: dict[str, typing.Any], parent: object = None, name: str | None = None): + + + +
+ +
55def convert_to_easypost_object(
+56    response: dict[str, Any],
+57    parent: object = None,
+58    name: Optional[str] = None,
+59):
+60    """Convert a response to an EasyPostObject."""
+61    if isinstance(response, list):
+62        return [convert_to_easypost_object(response=item, parent=parent) for item in response]
+63    elif isinstance(response, dict):
+64        object_type_str = response.get("object", EasyPostObject)
+65        class_name = OBJECT_CLASS_NAME_OVERRIDES.get(object_type_str, EasyPostObject)
+66        object_id = response.get("id")
+67
+68        if object_id is not None:
+69            # If an object ID is present, use it to find the class type instead.
+70            object_id_prefix = object_id.split("_")[0]
+71            class_name = EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP.get(object_id_prefix, EasyPostObject)
+72
+73        # Dynamically import class models due to circular imports of EasyPostObject
+74        class_model = (
+75            getattr(
+76                importlib.import_module(f"easypost.models.{re.sub(r'(?<!^)(?=[A-Z])', '_', class_name).lower()}"),
+77                class_name,
+78            )
+79            if class_name != EasyPostObject
+80            else EasyPostObject
+81        )
+82
+83        obj = class_model.construct_from(values=response, parent=parent, name=name)
+84
+85        return obj
+86    else:
+87        return response
+
+ + +

Convert a response to an EasyPostObject.

+
+ + +
+
+ +
+ + class + EasyPostObject: + + + +
+ +
 90class EasyPostObject(object):
+ 91    def __init__(
+ 92        self,
+ 93        id: Optional[str] = None,
+ 94        parent: Optional[object] = None,
+ 95        name: Optional[str] = None,
+ 96        **params,
+ 97    ):
+ 98        self.__dict__["_values"] = set()
+ 99        self.__dict__["_immutable_values"] = {"id"}
+100        self.__dict__["_parent"] = parent
+101        self.__dict__["_name"] = name
+102
+103        if id:
+104            self.id = id
+105
+106    def __setattr__(self, k, v: Any) -> None:
+107        self.__dict__[k] = v
+108
+109        if k not in self._immutable_values:
+110            self._values.add(k)
+111            self._unsaved_values.add(k)
+112            cur = self
+113            cur_parent = self._parent
+114
+115            while cur_parent:
+116                if cur._name:
+117                    cur_parent._unsaved_values.add(cur._name)
+118                cur = cur_parent
+119                cur_parent = cur._parent
+120
+121    def __getattr__(self, k) -> Any:
+122        try:
+123            return self.__dict__[k]
+124        except KeyError:
+125            pass
+126        raise AttributeError(NO_ATTRIBUTE_ERROR.format(type(self).__name__, k))
+127
+128    def __getitem__(self, k):
+129        return self.__dict__[k]
+130
+131    def get(self, k, default: Any = None) -> Any:
+132        try:
+133            return self[k]
+134        except KeyError:
+135            return default
+136
+137    def setdefault(self, k, default: Any = None) -> Any:
+138        try:
+139            return self[k]
+140        except KeyError:
+141            self[k] = default
+142        return default
+143
+144    def __setitem__(self, k, v) -> None:
+145        setattr(self, k, v)
+146
+147    @property
+148    def keys(self) -> list[str]:
+149        return self._values.keys()
+150
+151    @property
+152    def values(self) -> list[Any]:
+153        return self._values.keys()
+154
+155    @classmethod
+156    def construct_from(
+157        cls,
+158        values: dict[str, Any],
+159        parent: object = None,
+160        name: Optional[str] = None,
+161    ) -> object:
+162        """Construct an EasyPostObject from values returned by the API."""
+163        instance = cls(id=values.get("id"), parent=parent, name=name)
+164        instance.convert_each_value(values=values)
+165
+166        return instance
+167
+168    def convert_each_value(self, values: dict[str, Any]) -> None:
+169        """Convert each value of a response into an EasyPostObject."""
+170        for k, v in sorted(values.items()):
+171            if k == "id" and self.id != v:
+172                self.id = v
+173            if k in self._immutable_values:
+174                continue
+175            self.__dict__[k] = convert_to_easypost_object(response=v, parent=self, name=k)
+176            self._values.add(k)
+177
+178    def __repr__(self) -> str:
+179        """String representation of an EasyPostObject."""
+180        type_string = ""
+181
+182        if isinstance(self.get("object"), str):
+183            type_string = " %s" % self.get("object").encode("utf8")
+184
+185        json_string = json.dumps(obj=self.to_dict(), sort_keys=True, indent=2, cls=EasyPostObjectEncoder)
+186
+187        return "<%s%s at %s> JSON: %s" % (
+188            type(self).__name__,
+189            type_string,
+190            hex(id(self)),
+191            json_string,
+192        )
+193
+194    def __str__(self) -> str:
+195        return self.to_json(indent=2)
+196
+197    def __eq__(self, other) -> bool:
+198        if not isinstance(other, EasyPostObject):
+199            return False
+200        return self.__str__() == other.__str__()
+201
+202    def to_json(self, indent: Optional[int] = None) -> str:
+203        """Convert current object to json string."""
+204        return json.dumps(obj=self.to_dict(), sort_keys=True, indent=indent, cls=EasyPostObjectEncoder)
+205
+206    def to_dict(self) -> dict[str, Any]:
+207        """Convert current object to a dict."""
+208
+209        def _serialize(o):
+210            if isinstance(o, EasyPostObject):
+211                return o.to_dict()
+212            if isinstance(o, list):
+213                return [_serialize(r) for r in o]
+214            return o
+215
+216        d = {"id": self.get("id")} if self.get("id") else {}
+217        for k in sorted(self._values):
+218            v = getattr(self, k)
+219            v = _serialize(v)
+220            d[k] = v
+221        return d
+
+ + + + +
+ +
+ + EasyPostObject( id: str | None = None, parent: object | None = None, name: str | None = None, **params) + + + +
+ +
 91    def __init__(
+ 92        self,
+ 93        id: Optional[str] = None,
+ 94        parent: Optional[object] = None,
+ 95        name: Optional[str] = None,
+ 96        **params,
+ 97    ):
+ 98        self.__dict__["_values"] = set()
+ 99        self.__dict__["_immutable_values"] = {"id"}
+100        self.__dict__["_parent"] = parent
+101        self.__dict__["_name"] = name
+102
+103        if id:
+104            self.id = id
+
+ + + + +
+
+ +
+ + def + get(self, k, default: Any = None) -> Any: + + + +
+ +
131    def get(self, k, default: Any = None) -> Any:
+132        try:
+133            return self[k]
+134        except KeyError:
+135            return default
+
+ + + + +
+
+ +
+ + def + setdefault(self, k, default: Any = None) -> Any: + + + +
+ +
137    def setdefault(self, k, default: Any = None) -> Any:
+138        try:
+139            return self[k]
+140        except KeyError:
+141            self[k] = default
+142        return default
+
+ + + + +
+
+ +
+ keys: list[str] + + + +
+ +
147    @property
+148    def keys(self) -> list[str]:
+149        return self._values.keys()
+
+ + + + +
+
+ +
+ values: list[typing.Any] + + + +
+ +
151    @property
+152    def values(self) -> list[Any]:
+153        return self._values.keys()
+
+ + + + +
+
+ +
+
@classmethod
+ + def + construct_from( cls, values: dict[str, typing.Any], parent: object = None, name: str | None = None) -> object: + + + +
+ +
155    @classmethod
+156    def construct_from(
+157        cls,
+158        values: dict[str, Any],
+159        parent: object = None,
+160        name: Optional[str] = None,
+161    ) -> object:
+162        """Construct an EasyPostObject from values returned by the API."""
+163        instance = cls(id=values.get("id"), parent=parent, name=name)
+164        instance.convert_each_value(values=values)
+165
+166        return instance
+
+ + +

Construct an EasyPostObject from values returned by the API.

+
+ + +
+
+ +
+ + def + convert_each_value(self, values: dict[str, typing.Any]) -> None: + + + +
+ +
168    def convert_each_value(self, values: dict[str, Any]) -> None:
+169        """Convert each value of a response into an EasyPostObject."""
+170        for k, v in sorted(values.items()):
+171            if k == "id" and self.id != v:
+172                self.id = v
+173            if k in self._immutable_values:
+174                continue
+175            self.__dict__[k] = convert_to_easypost_object(response=v, parent=self, name=k)
+176            self._values.add(k)
+
+ + +

Convert each value of a response into an EasyPostObject.

+
+ + +
+
+ +
+ + def + to_json(self, indent: int | None = None) -> str: + + + +
+ +
202    def to_json(self, indent: Optional[int] = None) -> str:
+203        """Convert current object to json string."""
+204        return json.dumps(obj=self.to_dict(), sort_keys=True, indent=indent, cls=EasyPostObjectEncoder)
+
+ + +

Convert current object to json string.

+
+ + +
+
+ +
+ + def + to_dict(self) -> dict[str, typing.Any]: + + + +
+ +
206    def to_dict(self) -> dict[str, Any]:
+207        """Convert current object to a dict."""
+208
+209        def _serialize(o):
+210            if isinstance(o, EasyPostObject):
+211                return o.to_dict()
+212            if isinstance(o, list):
+213                return [_serialize(r) for r in o]
+214            return o
+215
+216        d = {"id": self.get("id")} if self.get("id") else {}
+217        for k in sorted(self._values):
+218            v = getattr(self, k)
+219            v = _serialize(v)
+220            d[k] = v
+221        return d
+
+ + +

Convert current object to a dict.

+
+ + +
+
+
+ +
+ + class + EasyPostObjectEncoder(json.encoder.JSONEncoder): + + + +
+ +
224class EasyPostObjectEncoder(json.JSONEncoder):
+225    def default(self, obj: Any) -> Any:
+226        """Convert an EasyPostObject to a dict."""
+227        if isinstance(obj, EasyPostObject):
+228            return obj.to_dict()
+229        else:
+230            return json.JSONEncoder.default(self, o=obj)
+
+ + +

Extensible JSON https://json.org encoder for Python data structures.

+ +

Supports the following objects and types by default:

+ +

+-------------------+---------------+ +| Python | JSON | ++===================+===============+ +| dict | object | ++-------------------+---------------+ +| list, tuple | array | ++-------------------+---------------+ +| str | string | ++-------------------+---------------+ +| int, float | number | ++-------------------+---------------+ +| True | true | ++-------------------+---------------+ +| False | false | ++-------------------+---------------+ +| None | null | ++-------------------+---------------+

+ +

To extend this to recognize other objects, subclass and implement a +.default() method with another method that returns a serializable +object for o if possible, otherwise it should call the superclass +implementation (to raise TypeError).

+
+ + +
+ +
+ + def + default(self, obj: Any) -> Any: + + + +
+ +
225    def default(self, obj: Any) -> Any:
+226        """Convert an EasyPostObject to a dict."""
+227        if isinstance(obj, EasyPostObject):
+228            return obj.to_dict()
+229        else:
+230            return json.JSONEncoder.default(self, o=obj)
+
+ + +

Convert an EasyPostObject to a dict.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/easypost_object.py b/easypost/easypost_object.py deleted file mode 100644 index 97ec9147..00000000 --- a/easypost/easypost_object.py +++ /dev/null @@ -1,229 +0,0 @@ -import importlib -import json -import re -from typing import ( - Any, - Optional, -) - -from easypost.constant import NO_ATTRIBUTE_ERROR - -EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP: dict[str, Any] = { - "adr": "Address", - "ak": "ApiKey", - "batch": "Batch", - "brd": "Brand", - "ca": "CarrierAccount", - "cfrep": "Report", - "clm": "Claim", - "cstinfo": "CustomsInfo", - "cstitem": "CustomsItem", - "es": "EndShipper", - "evt": "Event", - "hook": "Webhook", - "ins": "Insurance", - "order": "Order", - "payload": "Payload", - "pickup": "Pickup", - "pickuprate": "PickupRate", - "pl": "PostageLabel", - "plrep": "Report", - "prcl": "Parcel", - "rate": "Rate", - "refrep": "Report", - "rfnd": "Refund", - "sf": "ScanForm", - "shp": "Shipment", - "shpinvrep": "Report", - "shprep": "Report", - "trk": "Tracker", - "trkrep": "Report", - "user": "User", -} - -OBJECT_CLASS_NAME_OVERRIDES: dict[str, Any] = { - "CashFlowReport": "Report", - "PaymentLogReport": "Report", - "RefundReport": "Report", - "ShipmentInvoiceReport": "Report", - "ShipmentReport": "Report", - "TrackerReport": "Report", -} - - -def convert_to_easypost_object( - response: dict[str, Any], - parent: object = None, - name: Optional[str] = None, -): - """Convert a response to an EasyPostObject.""" - if isinstance(response, list): - return [convert_to_easypost_object(response=item, parent=parent) for item in response] - elif isinstance(response, dict): - object_type_str = response.get("object", EasyPostObject) - class_name = OBJECT_CLASS_NAME_OVERRIDES.get(object_type_str, EasyPostObject) - object_id = response.get("id") - - if object_id is not None: - # If an object ID is present, use it to find the class type instead. - object_id_prefix = object_id.split("_")[0] - class_name = EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP.get(object_id_prefix, EasyPostObject) - - # Dynamically import class models due to circular imports of EasyPostObject - class_model = ( - getattr( - importlib.import_module(f"easypost.models.{re.sub(r'(? None: - self.__dict__[k] = v - - if k not in self._immutable_values: - self._values.add(k) - self._unsaved_values.add(k) - cur = self - cur_parent = self._parent - - while cur_parent: - if cur._name: - cur_parent._unsaved_values.add(cur._name) - cur = cur_parent - cur_parent = cur._parent - - def __getattr__(self, k) -> Any: - try: - return self.__dict__[k] - except KeyError: - pass - raise AttributeError(NO_ATTRIBUTE_ERROR.format(type(self).__name__, k)) - - def __getitem__(self, k): - return self.__dict__[k] - - def get(self, k, default: Any = None) -> Any: - try: - return self[k] - except KeyError: - return default - - def setdefault(self, k, default: Any = None) -> Any: - try: - return self[k] - except KeyError: - self[k] = default - return default - - def __setitem__(self, k, v) -> None: - setattr(self, k, v) - - @property - def keys(self) -> list[str]: - return self._values.keys() - - @property - def values(self) -> list[Any]: - return self._values.keys() - - @classmethod - def construct_from( - cls, - values: dict[str, Any], - parent: object = None, - name: Optional[str] = None, - ) -> object: - """Construct an EasyPostObject from values returned by the API.""" - instance = cls(id=values.get("id"), parent=parent, name=name) - instance.convert_each_value(values=values) - - return instance - - def convert_each_value(self, values: dict[str, Any]) -> None: - """Convert each value of a response into an EasyPostObject.""" - for k, v in sorted(values.items()): - if k == "id" and self.id != v: - self.id = v - if k in self._immutable_values: - continue - self.__dict__[k] = convert_to_easypost_object(response=v, parent=self, name=k) - self._values.add(k) - - def __repr__(self) -> str: - """String representation of an EasyPostObject.""" - type_string = "" - - if isinstance(self.get("object"), str): - type_string = " %s" % self.get("object").encode("utf8") - - json_string = json.dumps(obj=self.to_dict(), sort_keys=True, indent=2, cls=EasyPostObjectEncoder) - - return "<%s%s at %s> JSON: %s" % ( - type(self).__name__, - type_string, - hex(id(self)), - json_string, - ) - - def __str__(self) -> str: - return self.to_json(indent=2) - - def __eq__(self, other) -> bool: - if not isinstance(other, EasyPostObject): - return False - return self.__str__() == other.__str__() - - def to_json(self, indent: Optional[int] = None) -> str: - """Convert current object to json string.""" - return json.dumps(obj=self.to_dict(), sort_keys=True, indent=indent, cls=EasyPostObjectEncoder) - - def to_dict(self) -> dict[str, Any]: - """Convert current object to a dict.""" - - def _serialize(o): - if isinstance(o, EasyPostObject): - return o.to_dict() - if isinstance(o, list): - return [_serialize(r) for r in o] - return o - - d = {"id": self.get("id")} if self.get("id") else {} - for k in sorted(self._values): - v = getattr(self, k) - v = _serialize(v) - d[k] = v - return d - - -class EasyPostObjectEncoder(json.JSONEncoder): - def default(self, obj: Any) -> Any: - """Convert an EasyPostObject to a dict.""" - if isinstance(obj, EasyPostObject): - return obj.to_dict() - else: - return json.JSONEncoder.default(self, o=obj) diff --git a/easypost/errors.html b/easypost/errors.html new file mode 100644 index 00000000..ed652d55 --- /dev/null +++ b/easypost/errors.html @@ -0,0 +1,245 @@ + + + + + + + easypost.errors API documentation + + + + + + + + + +
+
+

+easypost.errors

+ + + + + + +
1# flake8: noqa
+2from easypost.errors.api import *
+3from easypost.errors.general import *
+
+ + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/__init__.py b/easypost/errors/__init__.py deleted file mode 100644 index 6bb3b63f..00000000 --- a/easypost/errors/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -# flake8: noqa -from easypost.errors.api import * -from easypost.errors.general import * diff --git a/easypost/errors/api.html b/easypost/errors/api.html new file mode 100644 index 00000000..0fcdb6e9 --- /dev/null +++ b/easypost/errors/api.html @@ -0,0 +1,279 @@ + + + + + + + easypost.errors.api API documentation + + + + + + + + + +
+
+

+easypost.errors.api

+ + + + + + +
 1# flake8: noqa
+ 2from easypost.errors.api.api_error import ApiError
+ 3from easypost.errors.api.bad_request_error import BadRequestError
+ 4from easypost.errors.api.encoding_error import EncodingError
+ 5from easypost.errors.api.external_api_error import ExternalApiError
+ 6from easypost.errors.api.forbidden_error import ForbiddenError
+ 7from easypost.errors.api.gateway_timeout_error import GatewayTimeoutError
+ 8from easypost.errors.api.http_error import HttpError
+ 9from easypost.errors.api.internal_server_error import InternalServerError
+10from easypost.errors.api.invalid_request_error import InvalidRequestError
+11from easypost.errors.api.json_error import JsonError
+12from easypost.errors.api.method_not_allowed_error import MethodNotAllowedError
+13from easypost.errors.api.not_found_error import NotFoundError
+14from easypost.errors.api.payment_error import PaymentError
+15from easypost.errors.api.rate_limit_error import RateLimitError
+16from easypost.errors.api.redirect_error import RedirectError
+17from easypost.errors.api.service_unavailable_error import ServiceUnavailableError
+18from easypost.errors.api.timeout_error import TimeoutError
+19from easypost.errors.api.unauthorized_error import UnauthorizedError
+20from easypost.errors.api.unknown_api_error import UnknownApiError
+
+ + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/__init__.py b/easypost/errors/api/__init__.py deleted file mode 100644 index 2e05d262..00000000 --- a/easypost/errors/api/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -# flake8: noqa -from easypost.errors.api.api_error import ApiError -from easypost.errors.api.bad_request_error import BadRequestError -from easypost.errors.api.encoding_error import EncodingError -from easypost.errors.api.external_api_error import ExternalApiError -from easypost.errors.api.forbidden_error import ForbiddenError -from easypost.errors.api.gateway_timeout_error import GatewayTimeoutError -from easypost.errors.api.http_error import HttpError -from easypost.errors.api.internal_server_error import InternalServerError -from easypost.errors.api.invalid_request_error import InvalidRequestError -from easypost.errors.api.json_error import JsonError -from easypost.errors.api.method_not_allowed_error import MethodNotAllowedError -from easypost.errors.api.not_found_error import NotFoundError -from easypost.errors.api.payment_error import PaymentError -from easypost.errors.api.rate_limit_error import RateLimitError -from easypost.errors.api.redirect_error import RedirectError -from easypost.errors.api.service_unavailable_error import ServiceUnavailableError -from easypost.errors.api.timeout_error import TimeoutError -from easypost.errors.api.unauthorized_error import UnauthorizedError -from easypost.errors.api.unknown_api_error import UnknownApiError diff --git a/easypost/errors/api/api_error.html b/easypost/errors/api/api_error.html new file mode 100644 index 00000000..3543af75 --- /dev/null +++ b/easypost/errors/api/api_error.html @@ -0,0 +1,519 @@ + + + + + + + easypost.errors.api.api_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.api_error

+ + + + + + +
 1import json
+ 2from typing import (
+ 3    Any,
+ 4    Optional,
+ 5    Union,
+ 6)
+ 7
+ 8from easypost.errors.general.easypost_error import EasyPostError
+ 9
+10
+11class ApiError(EasyPostError):
+12    """Base error for all errors thrown via the EasyPost API."""
+13
+14    def __init__(
+15        self,
+16        message: Union[
+17            dict[str, Any], list, str
+18        ],  # message should be a string but can sometimes incorrectly come back as a list or object
+19        errors: Optional[list[str]] = None,
+20        code: Optional[str] = None,
+21        http_status: Optional[int] = None,
+22        http_body: Optional[Union[str, bytes]] = None,
+23    ):
+24        super().__init__(message)  # type: ignore
+25        message_list: list[str] = []
+26        self._traverse_json_element(message, message_list)
+27        self.message = ", ".join(message_list)
+28        self.errors = errors
+29        self.code = code
+30        self.http_status = http_status
+31        self.http_body = http_body
+32
+33        if http_body:
+34            # Setup `json_body` property
+35            try:
+36                self.json_body = json.loads(http_body)
+37            except Exception:
+38                self.json_body = None
+39
+40            if self.json_body is not None:
+41                # Setup `errors` property
+42                try:
+43                    self.errors = self.json_body["error"]["errors"]
+44                except Exception:
+45                    self.errors = None
+46
+47                # Setup `code` property
+48                try:
+49                    self.code = self.json_body["error"]["code"]
+50                except Exception:
+51                    self.code = None
+52
+53    def _traverse_json_element(
+54        self,
+55        error_message: Optional[Union[dict[str, Any], list, str]],
+56        messages_list: list[str],
+57    ) -> None:
+58        """Recursively traverses a JSON object or array and extracts error messages
+59        as strings. Adds the extracted messages to the specified messages_list array.
+60        """
+61        if isinstance(error_message, dict):
+62            for value in error_message.values():
+63                self._traverse_json_element(value, messages_list)
+64        elif isinstance(error_message, list):
+65            for value in error_message:
+66                self._traverse_json_element(value, messages_list)
+67        else:
+68            messages_list.append(str(error_message))
+
+ + +
+
+ +
+ + class + ApiError(easypost.errors.general.easypost_error.EasyPostError): + + + +
+ +
12class ApiError(EasyPostError):
+13    """Base error for all errors thrown via the EasyPost API."""
+14
+15    def __init__(
+16        self,
+17        message: Union[
+18            dict[str, Any], list, str
+19        ],  # message should be a string but can sometimes incorrectly come back as a list or object
+20        errors: Optional[list[str]] = None,
+21        code: Optional[str] = None,
+22        http_status: Optional[int] = None,
+23        http_body: Optional[Union[str, bytes]] = None,
+24    ):
+25        super().__init__(message)  # type: ignore
+26        message_list: list[str] = []
+27        self._traverse_json_element(message, message_list)
+28        self.message = ", ".join(message_list)
+29        self.errors = errors
+30        self.code = code
+31        self.http_status = http_status
+32        self.http_body = http_body
+33
+34        if http_body:
+35            # Setup `json_body` property
+36            try:
+37                self.json_body = json.loads(http_body)
+38            except Exception:
+39                self.json_body = None
+40
+41            if self.json_body is not None:
+42                # Setup `errors` property
+43                try:
+44                    self.errors = self.json_body["error"]["errors"]
+45                except Exception:
+46                    self.errors = None
+47
+48                # Setup `code` property
+49                try:
+50                    self.code = self.json_body["error"]["code"]
+51                except Exception:
+52                    self.code = None
+53
+54    def _traverse_json_element(
+55        self,
+56        error_message: Optional[Union[dict[str, Any], list, str]],
+57        messages_list: list[str],
+58    ) -> None:
+59        """Recursively traverses a JSON object or array and extracts error messages
+60        as strings. Adds the extracted messages to the specified messages_list array.
+61        """
+62        if isinstance(error_message, dict):
+63            for value in error_message.values():
+64                self._traverse_json_element(value, messages_list)
+65        elif isinstance(error_message, list):
+66            for value in error_message:
+67                self._traverse_json_element(value, messages_list)
+68        else:
+69            messages_list.append(str(error_message))
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + +
+ +
+ + ApiError( message: dict[str, Any] | list | str, errors: list[str] | None = None, code: str | None = None, http_status: int | None = None, http_body: str | bytes | None = None) + + + +
+ +
15    def __init__(
+16        self,
+17        message: Union[
+18            dict[str, Any], list, str
+19        ],  # message should be a string but can sometimes incorrectly come back as a list or object
+20        errors: Optional[list[str]] = None,
+21        code: Optional[str] = None,
+22        http_status: Optional[int] = None,
+23        http_body: Optional[Union[str, bytes]] = None,
+24    ):
+25        super().__init__(message)  # type: ignore
+26        message_list: list[str] = []
+27        self._traverse_json_element(message, message_list)
+28        self.message = ", ".join(message_list)
+29        self.errors = errors
+30        self.code = code
+31        self.http_status = http_status
+32        self.http_body = http_body
+33
+34        if http_body:
+35            # Setup `json_body` property
+36            try:
+37                self.json_body = json.loads(http_body)
+38            except Exception:
+39                self.json_body = None
+40
+41            if self.json_body is not None:
+42                # Setup `errors` property
+43                try:
+44                    self.errors = self.json_body["error"]["errors"]
+45                except Exception:
+46                    self.errors = None
+47
+48                # Setup `code` property
+49                try:
+50                    self.code = self.json_body["error"]["code"]
+51                except Exception:
+52                    self.code = None
+
+ + + + +
+
+
+ message + + +
+ + + + +
+
+
+ errors + + +
+ + + + +
+
+
+ code + + +
+ + + + +
+
+
+ http_status + + +
+ + + + +
+
+
+ http_body + + +
+ + + + +
+
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/api_error.py b/easypost/errors/api/api_error.py deleted file mode 100644 index e8c75db7..00000000 --- a/easypost/errors/api/api_error.py +++ /dev/null @@ -1,68 +0,0 @@ -import json -from typing import ( - Any, - Optional, - Union, -) - -from easypost.errors.general.easypost_error import EasyPostError - - -class ApiError(EasyPostError): - """Base error for all errors thrown via the EasyPost API.""" - - def __init__( - self, - message: Union[ - dict[str, Any], list, str - ], # message should be a string but can sometimes incorrectly come back as a list or object - errors: Optional[list[str]] = None, - code: Optional[str] = None, - http_status: Optional[int] = None, - http_body: Optional[Union[str, bytes]] = None, - ): - super().__init__(message) # type: ignore - message_list: list[str] = [] - self._traverse_json_element(message, message_list) - self.message = ", ".join(message_list) - self.errors = errors - self.code = code - self.http_status = http_status - self.http_body = http_body - - if http_body: - # Setup `json_body` property - try: - self.json_body = json.loads(http_body) - except Exception: - self.json_body = None - - if self.json_body is not None: - # Setup `errors` property - try: - self.errors = self.json_body["error"]["errors"] - except Exception: - self.errors = None - - # Setup `code` property - try: - self.code = self.json_body["error"]["code"] - except Exception: - self.code = None - - def _traverse_json_element( - self, - error_message: Optional[Union[dict[str, Any], list, str]], - messages_list: list[str], - ) -> None: - """Recursively traverses a JSON object or array and extracts error messages - as strings. Adds the extracted messages to the specified messages_list array. - """ - if isinstance(error_message, dict): - for value in error_message.values(): - self._traverse_json_element(value, messages_list) - elif isinstance(error_message, list): - for value in error_message: - self._traverse_json_element(value, messages_list) - else: - messages_list.append(str(error_message)) diff --git a/easypost/errors/api/bad_request_error.html b/easypost/errors/api/bad_request_error.html new file mode 100644 index 00000000..ab0baad5 --- /dev/null +++ b/easypost/errors/api/bad_request_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.bad_request_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.bad_request_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class BadRequestError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + BadRequestError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class BadRequestError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/bad_request_error.py b/easypost/errors/api/bad_request_error.py deleted file mode 100644 index 259108a9..00000000 --- a/easypost/errors/api/bad_request_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class BadRequestError(ApiError): - pass diff --git a/easypost/errors/api/encoding_error.html b/easypost/errors/api/encoding_error.html new file mode 100644 index 00000000..31f56b3e --- /dev/null +++ b/easypost/errors/api/encoding_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.encoding_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.encoding_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class EncodingError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + EncodingError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class EncodingError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/encoding_error.py b/easypost/errors/api/encoding_error.py deleted file mode 100644 index 6145c54b..00000000 --- a/easypost/errors/api/encoding_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class EncodingError(ApiError): - pass diff --git a/easypost/errors/api/external_api_error.html b/easypost/errors/api/external_api_error.html new file mode 100644 index 00000000..3931bd2b --- /dev/null +++ b/easypost/errors/api/external_api_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.external_api_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.external_api_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class ExternalApiError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + ExternalApiError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class ExternalApiError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/external_api_error.py b/easypost/errors/api/external_api_error.py deleted file mode 100644 index 8f60dfdf..00000000 --- a/easypost/errors/api/external_api_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class ExternalApiError(ApiError): - pass diff --git a/easypost/errors/api/forbidden_error.html b/easypost/errors/api/forbidden_error.html new file mode 100644 index 00000000..ed89adfe --- /dev/null +++ b/easypost/errors/api/forbidden_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.forbidden_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.forbidden_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class ForbiddenError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + ForbiddenError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class ForbiddenError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/forbidden_error.py b/easypost/errors/api/forbidden_error.py deleted file mode 100644 index 5c3dce0a..00000000 --- a/easypost/errors/api/forbidden_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class ForbiddenError(ApiError): - pass diff --git a/easypost/errors/api/gateway_timeout_error.html b/easypost/errors/api/gateway_timeout_error.html new file mode 100644 index 00000000..deecbe08 --- /dev/null +++ b/easypost/errors/api/gateway_timeout_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.gateway_timeout_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.gateway_timeout_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class GatewayTimeoutError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + GatewayTimeoutError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class GatewayTimeoutError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/gateway_timeout_error.py b/easypost/errors/api/gateway_timeout_error.py deleted file mode 100644 index 12a2b335..00000000 --- a/easypost/errors/api/gateway_timeout_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class GatewayTimeoutError(ApiError): - pass diff --git a/easypost/errors/api/http_error.html b/easypost/errors/api/http_error.html new file mode 100644 index 00000000..30a3b022 --- /dev/null +++ b/easypost/errors/api/http_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.http_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.http_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class HttpError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + HttpError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class HttpError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/http_error.py b/easypost/errors/api/http_error.py deleted file mode 100644 index 09f69368..00000000 --- a/easypost/errors/api/http_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class HttpError(ApiError): - pass diff --git a/easypost/errors/api/internal_server_error.html b/easypost/errors/api/internal_server_error.html new file mode 100644 index 00000000..9fca5fbd --- /dev/null +++ b/easypost/errors/api/internal_server_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.internal_server_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.internal_server_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class InternalServerError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + InternalServerError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class InternalServerError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/internal_server_error.py b/easypost/errors/api/internal_server_error.py deleted file mode 100644 index 507c0803..00000000 --- a/easypost/errors/api/internal_server_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class InternalServerError(ApiError): - pass diff --git a/easypost/errors/api/invalid_request_error.html b/easypost/errors/api/invalid_request_error.html new file mode 100644 index 00000000..45a49249 --- /dev/null +++ b/easypost/errors/api/invalid_request_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.invalid_request_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.invalid_request_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class InvalidRequestError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + InvalidRequestError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class InvalidRequestError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/invalid_request_error.py b/easypost/errors/api/invalid_request_error.py deleted file mode 100644 index f338b66d..00000000 --- a/easypost/errors/api/invalid_request_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class InvalidRequestError(ApiError): - pass diff --git a/easypost/errors/api/json_error.html b/easypost/errors/api/json_error.html new file mode 100644 index 00000000..aaff521b --- /dev/null +++ b/easypost/errors/api/json_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.json_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.json_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class JsonError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + JsonError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class JsonError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/json_error.py b/easypost/errors/api/json_error.py deleted file mode 100644 index afd84902..00000000 --- a/easypost/errors/api/json_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class JsonError(ApiError): - pass diff --git a/easypost/errors/api/method_not_allowed_error.html b/easypost/errors/api/method_not_allowed_error.html new file mode 100644 index 00000000..192770a5 --- /dev/null +++ b/easypost/errors/api/method_not_allowed_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.method_not_allowed_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.method_not_allowed_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class MethodNotAllowedError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + MethodNotAllowedError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class MethodNotAllowedError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/method_not_allowed_error.py b/easypost/errors/api/method_not_allowed_error.py deleted file mode 100644 index 1bd87087..00000000 --- a/easypost/errors/api/method_not_allowed_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class MethodNotAllowedError(ApiError): - pass diff --git a/easypost/errors/api/not_found_error.html b/easypost/errors/api/not_found_error.html new file mode 100644 index 00000000..94d26589 --- /dev/null +++ b/easypost/errors/api/not_found_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.not_found_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.not_found_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class NotFoundError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + NotFoundError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class NotFoundError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/not_found_error.py b/easypost/errors/api/not_found_error.py deleted file mode 100644 index d47ce160..00000000 --- a/easypost/errors/api/not_found_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class NotFoundError(ApiError): - pass diff --git a/easypost/errors/api/payment_error.html b/easypost/errors/api/payment_error.html new file mode 100644 index 00000000..bd831a27 --- /dev/null +++ b/easypost/errors/api/payment_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.payment_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.payment_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class PaymentError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + PaymentError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class PaymentError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/payment_error.py b/easypost/errors/api/payment_error.py deleted file mode 100644 index 5314ff69..00000000 --- a/easypost/errors/api/payment_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class PaymentError(ApiError): - pass diff --git a/easypost/errors/api/rate_limit_error.html b/easypost/errors/api/rate_limit_error.html new file mode 100644 index 00000000..9485eaf0 --- /dev/null +++ b/easypost/errors/api/rate_limit_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.rate_limit_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.rate_limit_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class RateLimitError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + RateLimitError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class RateLimitError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/rate_limit_error.py b/easypost/errors/api/rate_limit_error.py deleted file mode 100644 index 4048103c..00000000 --- a/easypost/errors/api/rate_limit_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class RateLimitError(ApiError): - pass diff --git a/easypost/errors/api/redirect_error.html b/easypost/errors/api/redirect_error.html new file mode 100644 index 00000000..506a621c --- /dev/null +++ b/easypost/errors/api/redirect_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.redirect_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.redirect_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class RedirectError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + RedirectError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class RedirectError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/redirect_error.py b/easypost/errors/api/redirect_error.py deleted file mode 100644 index cb667186..00000000 --- a/easypost/errors/api/redirect_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class RedirectError(ApiError): - pass diff --git a/easypost/errors/api/service_unavailable_error.html b/easypost/errors/api/service_unavailable_error.html new file mode 100644 index 00000000..dbf6d627 --- /dev/null +++ b/easypost/errors/api/service_unavailable_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.service_unavailable_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.service_unavailable_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class ServiceUnavailableError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + ServiceUnavailableError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class ServiceUnavailableError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/service_unavailable_error.py b/easypost/errors/api/service_unavailable_error.py deleted file mode 100644 index 31954823..00000000 --- a/easypost/errors/api/service_unavailable_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class ServiceUnavailableError(ApiError): - pass diff --git a/easypost/errors/api/timeout_error.html b/easypost/errors/api/timeout_error.html new file mode 100644 index 00000000..0f5c6ff9 --- /dev/null +++ b/easypost/errors/api/timeout_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.timeout_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.timeout_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class TimeoutError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + TimeoutError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class TimeoutError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/timeout_error.py b/easypost/errors/api/timeout_error.py deleted file mode 100644 index 20966b0f..00000000 --- a/easypost/errors/api/timeout_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class TimeoutError(ApiError): - pass diff --git a/easypost/errors/api/unauthorized_error.html b/easypost/errors/api/unauthorized_error.html new file mode 100644 index 00000000..e0efaca8 --- /dev/null +++ b/easypost/errors/api/unauthorized_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.unauthorized_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.unauthorized_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class UnauthorizedError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + UnauthorizedError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class UnauthorizedError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/unauthorized_error.py b/easypost/errors/api/unauthorized_error.py deleted file mode 100644 index ac53b963..00000000 --- a/easypost/errors/api/unauthorized_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class UnauthorizedError(ApiError): - pass diff --git a/easypost/errors/api/unknown_api_error.html b/easypost/errors/api/unknown_api_error.html new file mode 100644 index 00000000..f51b8b90 --- /dev/null +++ b/easypost/errors/api/unknown_api_error.html @@ -0,0 +1,287 @@ + + + + + + + easypost.errors.api.unknown_api_error API documentation + + + + + + + + + +
+
+

+easypost.errors.api.unknown_api_error

+ + + + + + +
1from easypost.errors.api.api_error import ApiError
+2
+3
+4class UnknownApiError(ApiError):
+5    pass
+
+ + +
+
+ +
+ + class + UnknownApiError(easypost.errors.api.api_error.ApiError): + + + +
+ +
5class UnknownApiError(ApiError):
+6    pass
+
+ + +

Base error for all errors thrown via the EasyPost API.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/api/unknown_api_error.py b/easypost/errors/api/unknown_api_error.py deleted file mode 100644 index 6a35bd88..00000000 --- a/easypost/errors/api/unknown_api_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.api.api_error import ApiError - - -class UnknownApiError(ApiError): - pass diff --git a/easypost/errors/general.html b/easypost/errors/general.html new file mode 100644 index 00000000..4600001f --- /dev/null +++ b/easypost/errors/general.html @@ -0,0 +1,255 @@ + + + + + + + easypost.errors.general API documentation + + + + + + + + + +
+
+

+easypost.errors.general

+ + + + + + +
1# flake8: noqa
+2from easypost.errors.general.easypost_error import EasyPostError
+3from easypost.errors.general.end_of_pagination_error import EndOfPaginationError
+4from easypost.errors.general.filtering_error import FilteringError
+5from easypost.errors.general.invalid_object_error import InvalidObjectError
+6from easypost.errors.general.invalid_parameter_error import InvalidParameterError
+7from easypost.errors.general.missing_parameter_error import MissingParameterError
+8from easypost.errors.general.signature_verification_error import SignatureVerificationError
+
+ + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/general/__init__.py b/easypost/errors/general/__init__.py deleted file mode 100644 index b12ef97a..00000000 --- a/easypost/errors/general/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -# flake8: noqa -from easypost.errors.general.easypost_error import EasyPostError -from easypost.errors.general.end_of_pagination_error import EndOfPaginationError -from easypost.errors.general.filtering_error import FilteringError -from easypost.errors.general.invalid_object_error import InvalidObjectError -from easypost.errors.general.invalid_parameter_error import InvalidParameterError -from easypost.errors.general.missing_parameter_error import MissingParameterError -from easypost.errors.general.signature_verification_error import SignatureVerificationError diff --git a/easypost/errors/general/easypost_error.html b/easypost/errors/general/easypost_error.html new file mode 100644 index 00000000..c5efa359 --- /dev/null +++ b/easypost/errors/general/easypost_error.html @@ -0,0 +1,314 @@ + + + + + + + easypost.errors.general.easypost_error API documentation + + + + + + + + + +
+
+

+easypost.errors.general.easypost_error

+ + + + + + +
1class EasyPostError(Exception):
+2    """The base error that all other errors from EasyPost inherit."""
+3
+4    def __init__(self, message: str):
+5        self.message = message
+6        super().__init__(message)
+
+ + +
+
+ +
+ + class + EasyPostError(builtins.Exception): + + + +
+ +
2class EasyPostError(Exception):
+3    """The base error that all other errors from EasyPost inherit."""
+4
+5    def __init__(self, message: str):
+6        self.message = message
+7        super().__init__(message)
+
+ + +

The base error that all other errors from EasyPost inherit.

+
+ + +
+ +
+ + EasyPostError(message: str) + + + +
+ +
5    def __init__(self, message: str):
+6        self.message = message
+7        super().__init__(message)
+
+ + + + +
+
+
+ message + + +
+ + + + +
+
+
+ + \ No newline at end of file diff --git a/easypost/errors/general/easypost_error.py b/easypost/errors/general/easypost_error.py deleted file mode 100644 index 90c8d6e7..00000000 --- a/easypost/errors/general/easypost_error.py +++ /dev/null @@ -1,6 +0,0 @@ -class EasyPostError(Exception): - """The base error that all other errors from EasyPost inherit.""" - - def __init__(self, message: str): - self.message = message - super().__init__(message) diff --git a/easypost/errors/general/end_of_pagination_error.html b/easypost/errors/general/end_of_pagination_error.html new file mode 100644 index 00000000..145eefbc --- /dev/null +++ b/easypost/errors/general/end_of_pagination_error.html @@ -0,0 +1,283 @@ + + + + + + + easypost.errors.general.end_of_pagination_error API documentation + + + + + + + + + +
+
+

+easypost.errors.general.end_of_pagination_error

+ + + + + + +
1from easypost.errors.general.easypost_error import EasyPostError
+2
+3
+4class EndOfPaginationError(EasyPostError):
+5    pass
+
+ + +
+
+ +
+ + class + EndOfPaginationError(easypost.errors.general.easypost_error.EasyPostError): + + + +
+ +
5class EndOfPaginationError(EasyPostError):
+6    pass
+
+ + +

The base error that all other errors from EasyPost inherit.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/general/end_of_pagination_error.py b/easypost/errors/general/end_of_pagination_error.py deleted file mode 100644 index 8f956e6f..00000000 --- a/easypost/errors/general/end_of_pagination_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.general.easypost_error import EasyPostError - - -class EndOfPaginationError(EasyPostError): - pass diff --git a/easypost/errors/general/filtering_error.html b/easypost/errors/general/filtering_error.html new file mode 100644 index 00000000..0958e47e --- /dev/null +++ b/easypost/errors/general/filtering_error.html @@ -0,0 +1,283 @@ + + + + + + + easypost.errors.general.filtering_error API documentation + + + + + + + + + +
+
+

+easypost.errors.general.filtering_error

+ + + + + + +
1from easypost.errors.general.easypost_error import EasyPostError
+2
+3
+4class FilteringError(EasyPostError):
+5    pass
+
+ + +
+
+ +
+ + class + FilteringError(easypost.errors.general.easypost_error.EasyPostError): + + + +
+ +
5class FilteringError(EasyPostError):
+6    pass
+
+ + +

The base error that all other errors from EasyPost inherit.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/general/filtering_error.py b/easypost/errors/general/filtering_error.py deleted file mode 100644 index 0b536765..00000000 --- a/easypost/errors/general/filtering_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.general.easypost_error import EasyPostError - - -class FilteringError(EasyPostError): - pass diff --git a/easypost/errors/general/invalid_object_error.html b/easypost/errors/general/invalid_object_error.html new file mode 100644 index 00000000..ed2cf238 --- /dev/null +++ b/easypost/errors/general/invalid_object_error.html @@ -0,0 +1,283 @@ + + + + + + + easypost.errors.general.invalid_object_error API documentation + + + + + + + + + +
+
+

+easypost.errors.general.invalid_object_error

+ + + + + + +
1from easypost.errors.general.easypost_error import EasyPostError
+2
+3
+4class InvalidObjectError(EasyPostError):
+5    pass
+
+ + +
+
+ +
+ + class + InvalidObjectError(easypost.errors.general.easypost_error.EasyPostError): + + + +
+ +
5class InvalidObjectError(EasyPostError):
+6    pass
+
+ + +

The base error that all other errors from EasyPost inherit.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/general/invalid_object_error.py b/easypost/errors/general/invalid_object_error.py deleted file mode 100644 index 8c9500f7..00000000 --- a/easypost/errors/general/invalid_object_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.general.easypost_error import EasyPostError - - -class InvalidObjectError(EasyPostError): - pass diff --git a/easypost/errors/general/invalid_parameter_error.html b/easypost/errors/general/invalid_parameter_error.html new file mode 100644 index 00000000..391e8a3f --- /dev/null +++ b/easypost/errors/general/invalid_parameter_error.html @@ -0,0 +1,283 @@ + + + + + + + easypost.errors.general.invalid_parameter_error API documentation + + + + + + + + + +
+
+

+easypost.errors.general.invalid_parameter_error

+ + + + + + +
1from easypost.errors.general.easypost_error import EasyPostError
+2
+3
+4class InvalidParameterError(EasyPostError):
+5    pass
+
+ + +
+
+ +
+ + class + InvalidParameterError(easypost.errors.general.easypost_error.EasyPostError): + + + +
+ +
5class InvalidParameterError(EasyPostError):
+6    pass
+
+ + +

The base error that all other errors from EasyPost inherit.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/general/invalid_parameter_error.py b/easypost/errors/general/invalid_parameter_error.py deleted file mode 100644 index a9ac7f96..00000000 --- a/easypost/errors/general/invalid_parameter_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.general.easypost_error import EasyPostError - - -class InvalidParameterError(EasyPostError): - pass diff --git a/easypost/errors/general/missing_parameter_error.html b/easypost/errors/general/missing_parameter_error.html new file mode 100644 index 00000000..3fa66f27 --- /dev/null +++ b/easypost/errors/general/missing_parameter_error.html @@ -0,0 +1,283 @@ + + + + + + + easypost.errors.general.missing_parameter_error API documentation + + + + + + + + + +
+
+

+easypost.errors.general.missing_parameter_error

+ + + + + + +
1from easypost.errors.general.easypost_error import EasyPostError
+2
+3
+4class MissingParameterError(EasyPostError):
+5    pass
+
+ + +
+
+ +
+ + class + MissingParameterError(easypost.errors.general.easypost_error.EasyPostError): + + + +
+ +
5class MissingParameterError(EasyPostError):
+6    pass
+
+ + +

The base error that all other errors from EasyPost inherit.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/general/missing_parameter_error.py b/easypost/errors/general/missing_parameter_error.py deleted file mode 100644 index 36c02179..00000000 --- a/easypost/errors/general/missing_parameter_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.general.easypost_error import EasyPostError - - -class MissingParameterError(EasyPostError): - pass diff --git a/easypost/errors/general/signature_verification_error.html b/easypost/errors/general/signature_verification_error.html new file mode 100644 index 00000000..3d6bcd43 --- /dev/null +++ b/easypost/errors/general/signature_verification_error.html @@ -0,0 +1,283 @@ + + + + + + + easypost.errors.general.signature_verification_error API documentation + + + + + + + + + +
+
+

+easypost.errors.general.signature_verification_error

+ + + + + + +
1from easypost.errors.general.easypost_error import EasyPostError
+2
+3
+4class SignatureVerificationError(EasyPostError):
+5    pass
+
+ + +
+
+ +
+ + class + SignatureVerificationError(easypost.errors.general.easypost_error.EasyPostError): + + + +
+ +
5class SignatureVerificationError(EasyPostError):
+6    pass
+
+ + +

The base error that all other errors from EasyPost inherit.

+
+ + + +
+
+ + \ No newline at end of file diff --git a/easypost/errors/general/signature_verification_error.py b/easypost/errors/general/signature_verification_error.py deleted file mode 100644 index de806ddc..00000000 --- a/easypost/errors/general/signature_verification_error.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.errors.general.easypost_error import EasyPostError - - -class SignatureVerificationError(EasyPostError): - pass diff --git a/easypost/hooks.html b/easypost/hooks.html new file mode 100644 index 00000000..b6bb5f01 --- /dev/null +++ b/easypost/hooks.html @@ -0,0 +1,247 @@ + + + + + + + easypost.hooks API documentation + + + + + + + + + +
+
+

+easypost.hooks

+ + + + + + +
1# flake8: noqa
+2from easypost.hooks.event_hook import EventHook
+3from easypost.hooks.request_hook import RequestHook
+4from easypost.hooks.response_hook import ResponseHook
+
+ + +
+
+ + \ No newline at end of file diff --git a/easypost/hooks/__init__.py b/easypost/hooks/__init__.py deleted file mode 100644 index b1c16e07..00000000 --- a/easypost/hooks/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -# flake8: noqa -from easypost.hooks.event_hook import EventHook -from easypost.hooks.request_hook import RequestHook -from easypost.hooks.response_hook import ResponseHook diff --git a/easypost/hooks/event_hook.html b/easypost/hooks/event_hook.html new file mode 100644 index 00000000..8893eda5 --- /dev/null +++ b/easypost/hooks/event_hook.html @@ -0,0 +1,300 @@ + + + + + + + easypost.hooks.event_hook API documentation + + + + + + + + + +
+
+

+easypost.hooks.event_hook

+ + + + + + +
 1class EventHook:
+ 2    """The parent event that occurs when a hook is triggered."""
+ 3
+ 4    def __init__(self):
+ 5        self._event_handlers = []
+ 6
+ 7    def __iadd__(self, handler):
+ 8        self._event_handlers.append(handler)
+ 9        return self
+10
+11    def __isub__(self, handler):
+12        self._event_handlers.remove(handler)
+13        return self
+14
+15    def __call__(self, *args, **kwargs):
+16        for event_handler in self._event_handlers:
+17            event_handler(*args, **kwargs)
+
+ + +
+
+ +
+ + class + EventHook: + + + +
+ +
 2class EventHook:
+ 3    """The parent event that occurs when a hook is triggered."""
+ 4
+ 5    def __init__(self):
+ 6        self._event_handlers = []
+ 7
+ 8    def __iadd__(self, handler):
+ 9        self._event_handlers.append(handler)
+10        return self
+11
+12    def __isub__(self, handler):
+13        self._event_handlers.remove(handler)
+14        return self
+15
+16    def __call__(self, *args, **kwargs):
+17        for event_handler in self._event_handlers:
+18            event_handler(*args, **kwargs)
+
+ + +

The parent event that occurs when a hook is triggered.

+
+ + +
+
+ + \ No newline at end of file diff --git a/easypost/hooks/event_hook.py b/easypost/hooks/event_hook.py deleted file mode 100644 index 17522d26..00000000 --- a/easypost/hooks/event_hook.py +++ /dev/null @@ -1,17 +0,0 @@ -class EventHook: - """The parent event that occurs when a hook is triggered.""" - - def __init__(self): - self._event_handlers = [] - - def __iadd__(self, handler): - self._event_handlers.append(handler) - return self - - def __isub__(self, handler): - self._event_handlers.remove(handler) - return self - - def __call__(self, *args, **kwargs): - for event_handler in self._event_handlers: - event_handler(*args, **kwargs) diff --git a/easypost/hooks/request_hook.html b/easypost/hooks/request_hook.html new file mode 100644 index 00000000..54b3be99 --- /dev/null +++ b/easypost/hooks/request_hook.html @@ -0,0 +1,277 @@ + + + + + + + easypost.hooks.request_hook API documentation + + + + + + + + + +
+
+

+easypost.hooks.request_hook

+ + + + + + +
1from easypost.hooks import EventHook
+2
+3
+4class RequestHook(EventHook):
+5    """An event that gets triggered when an HTTP request begins."""
+6
+7    pass
+
+ + +
+
+ +
+ + class + RequestHook(easypost.hooks.event_hook.EventHook): + + + +
+ +
5class RequestHook(EventHook):
+6    """An event that gets triggered when an HTTP request begins."""
+7
+8    pass
+
+ + +

An event that gets triggered when an HTTP request begins.

+
+ + +
+
+ + \ No newline at end of file diff --git a/easypost/hooks/request_hook.py b/easypost/hooks/request_hook.py deleted file mode 100644 index 99bca31d..00000000 --- a/easypost/hooks/request_hook.py +++ /dev/null @@ -1,7 +0,0 @@ -from easypost.hooks import EventHook - - -class RequestHook(EventHook): - """An event that gets triggered when an HTTP request begins.""" - - pass diff --git a/easypost/hooks/response_hook.html b/easypost/hooks/response_hook.html new file mode 100644 index 00000000..f7209164 --- /dev/null +++ b/easypost/hooks/response_hook.html @@ -0,0 +1,277 @@ + + + + + + + easypost.hooks.response_hook API documentation + + + + + + + + + +
+
+

+easypost.hooks.response_hook

+ + + + + + +
1from easypost.hooks import EventHook
+2
+3
+4class ResponseHook(EventHook):
+5    """An event that gets triggered when an HTTP response is returned."""
+6
+7    pass
+
+ + +
+
+ +
+ + class + ResponseHook(easypost.hooks.event_hook.EventHook): + + + +
+ +
5class ResponseHook(EventHook):
+6    """An event that gets triggered when an HTTP response is returned."""
+7
+8    pass
+
+ + +

An event that gets triggered when an HTTP response is returned.

+
+ + +
+
+ + \ No newline at end of file diff --git a/easypost/hooks/response_hook.py b/easypost/hooks/response_hook.py deleted file mode 100644 index 439b2058..00000000 --- a/easypost/hooks/response_hook.py +++ /dev/null @@ -1,7 +0,0 @@ -from easypost.hooks import EventHook - - -class ResponseHook(EventHook): - """An event that gets triggered when an HTTP response is returned.""" - - pass diff --git a/easypost/models.html b/easypost/models.html new file mode 100644 index 00000000..83951061 --- /dev/null +++ b/easypost/models.html @@ -0,0 +1,293 @@ + + + + + + + easypost.models API documentation + + + + + + + + + +
+
+

+easypost.models

+ + + + + + +
 1# flake8: noqa
+ 2from easypost.models.address import Address
+ 3from easypost.models.api_key import ApiKey
+ 4from easypost.models.batch import Batch
+ 5from easypost.models.billing import Billing
+ 6from easypost.models.brand import Brand
+ 7from easypost.models.carrier_account import CarrierAccount
+ 8from easypost.models.claim import Claim
+ 9from easypost.models.customs_info import CustomsInfo
+10from easypost.models.customs_item import CustomsItem
+11from easypost.models.end_shipper import EndShipper
+12from easypost.models.event import Event
+13from easypost.models.insurance import Insurance
+14from easypost.models.order import Order
+15from easypost.models.parcel import Parcel
+16from easypost.models.payload import Payload
+17from easypost.models.pickup import Pickup
+18from easypost.models.pickup_rate import PickupRate
+19from easypost.models.postage_label import PostageLabel
+20from easypost.models.rate import Rate
+21from easypost.models.refund import Refund
+22from easypost.models.report import Report
+23from easypost.models.scan_form import ScanForm
+24from easypost.models.shipment import Shipment
+25from easypost.models.tracker import Tracker
+26from easypost.models.user import User
+27from easypost.models.webhook import Webhook
+
+ + +
+
+ + \ No newline at end of file diff --git a/easypost/models/__init__.py b/easypost/models/__init__.py deleted file mode 100644 index 9df262ba..00000000 --- a/easypost/models/__init__.py +++ /dev/null @@ -1,27 +0,0 @@ -# flake8: noqa -from easypost.models.address import Address -from easypost.models.api_key import ApiKey -from easypost.models.batch import Batch -from easypost.models.billing import Billing -from easypost.models.brand import Brand -from easypost.models.carrier_account import CarrierAccount -from easypost.models.claim import Claim -from easypost.models.customs_info import CustomsInfo -from easypost.models.customs_item import CustomsItem -from easypost.models.end_shipper import EndShipper -from easypost.models.event import Event -from easypost.models.insurance import Insurance -from easypost.models.order import Order -from easypost.models.parcel import Parcel -from easypost.models.payload import Payload -from easypost.models.pickup import Pickup -from easypost.models.pickup_rate import PickupRate -from easypost.models.postage_label import PostageLabel -from easypost.models.rate import Rate -from easypost.models.refund import Refund -from easypost.models.report import Report -from easypost.models.scan_form import ScanForm -from easypost.models.shipment import Shipment -from easypost.models.tracker import Tracker -from easypost.models.user import User -from easypost.models.webhook import Webhook diff --git a/easypost/models/address.html b/easypost/models/address.html new file mode 100644 index 00000000..0b6c3b49 --- /dev/null +++ b/easypost/models/address.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.address API documentation + + + + + + + + + +
+
+

+easypost.models.address

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Address(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Address(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Address(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/address.py b/easypost/models/address.py deleted file mode 100644 index 328841c7..00000000 --- a/easypost/models/address.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Address(EasyPostObject): - pass diff --git a/easypost/models/api_key.html b/easypost/models/api_key.html new file mode 100644 index 00000000..bd53e4d1 --- /dev/null +++ b/easypost/models/api_key.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.api_key API documentation + + + + + + + + + +
+
+

+easypost.models.api_key

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class ApiKey(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + ApiKey(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class ApiKey(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/api_key.py b/easypost/models/api_key.py deleted file mode 100644 index e35b14e5..00000000 --- a/easypost/models/api_key.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class ApiKey(EasyPostObject): - pass diff --git a/easypost/models/batch.html b/easypost/models/batch.html new file mode 100644 index 00000000..856fe0b2 --- /dev/null +++ b/easypost/models/batch.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.batch API documentation + + + + + + + + + +
+
+

+easypost.models.batch

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Batch(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Batch(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Batch(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/batch.py b/easypost/models/batch.py deleted file mode 100644 index 44b4ace3..00000000 --- a/easypost/models/batch.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Batch(EasyPostObject): - pass diff --git a/easypost/models/billing.html b/easypost/models/billing.html new file mode 100644 index 00000000..e7ec4fa3 --- /dev/null +++ b/easypost/models/billing.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.billing API documentation + + + + + + + + + +
+
+

+easypost.models.billing

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Billing(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Billing(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Billing(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/billing.py b/easypost/models/billing.py deleted file mode 100644 index 57d2528f..00000000 --- a/easypost/models/billing.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Billing(EasyPostObject): - pass diff --git a/easypost/models/brand.html b/easypost/models/brand.html new file mode 100644 index 00000000..86d04e35 --- /dev/null +++ b/easypost/models/brand.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.brand API documentation + + + + + + + + + +
+
+

+easypost.models.brand

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Brand(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Brand(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Brand(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/brand.py b/easypost/models/brand.py deleted file mode 100644 index c3df6af0..00000000 --- a/easypost/models/brand.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Brand(EasyPostObject): - pass diff --git a/easypost/models/carrier_account.html b/easypost/models/carrier_account.html new file mode 100644 index 00000000..f25a7de4 --- /dev/null +++ b/easypost/models/carrier_account.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.carrier_account API documentation + + + + + + + + + +
+
+

+easypost.models.carrier_account

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class CarrierAccount(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + CarrierAccount(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class CarrierAccount(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/carrier_account.py b/easypost/models/carrier_account.py deleted file mode 100644 index 6275651c..00000000 --- a/easypost/models/carrier_account.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class CarrierAccount(EasyPostObject): - pass diff --git a/easypost/models/claim.html b/easypost/models/claim.html new file mode 100644 index 00000000..92028852 --- /dev/null +++ b/easypost/models/claim.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.claim API documentation + + + + + + + + + +
+
+

+easypost.models.claim

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Claim(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Claim(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Claim(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/claim.py b/easypost/models/claim.py deleted file mode 100644 index c0c6dd69..00000000 --- a/easypost/models/claim.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Claim(EasyPostObject): - pass diff --git a/easypost/models/customs_info.html b/easypost/models/customs_info.html new file mode 100644 index 00000000..deb95ba8 --- /dev/null +++ b/easypost/models/customs_info.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.customs_info API documentation + + + + + + + + + +
+
+

+easypost.models.customs_info

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class CustomsInfo(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + CustomsInfo(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class CustomsInfo(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/customs_info.py b/easypost/models/customs_info.py deleted file mode 100644 index 9b7ebd98..00000000 --- a/easypost/models/customs_info.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class CustomsInfo(EasyPostObject): - pass diff --git a/easypost/models/customs_item.html b/easypost/models/customs_item.html new file mode 100644 index 00000000..880ce683 --- /dev/null +++ b/easypost/models/customs_item.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.customs_item API documentation + + + + + + + + + +
+
+

+easypost.models.customs_item

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class CustomsItem(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + CustomsItem(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class CustomsItem(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/customs_item.py b/easypost/models/customs_item.py deleted file mode 100644 index 6b29b123..00000000 --- a/easypost/models/customs_item.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class CustomsItem(EasyPostObject): - pass diff --git a/easypost/models/end_shipper.html b/easypost/models/end_shipper.html new file mode 100644 index 00000000..cedfcd47 --- /dev/null +++ b/easypost/models/end_shipper.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.end_shipper API documentation + + + + + + + + + +
+
+

+easypost.models.end_shipper

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class EndShipper(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + EndShipper(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class EndShipper(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/end_shipper.py b/easypost/models/end_shipper.py deleted file mode 100644 index 7968f43d..00000000 --- a/easypost/models/end_shipper.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class EndShipper(EasyPostObject): - pass diff --git a/easypost/models/event.html b/easypost/models/event.html new file mode 100644 index 00000000..d2243e86 --- /dev/null +++ b/easypost/models/event.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.event API documentation + + + + + + + + + +
+
+

+easypost.models.event

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Event(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Event(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Event(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/event.py b/easypost/models/event.py deleted file mode 100644 index afe441b2..00000000 --- a/easypost/models/event.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Event(EasyPostObject): - pass diff --git a/easypost/models/insurance.html b/easypost/models/insurance.html new file mode 100644 index 00000000..c3ca15d3 --- /dev/null +++ b/easypost/models/insurance.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.insurance API documentation + + + + + + + + + +
+
+

+easypost.models.insurance

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Insurance(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Insurance(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Insurance(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/insurance.py b/easypost/models/insurance.py deleted file mode 100644 index 3392cb3d..00000000 --- a/easypost/models/insurance.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Insurance(EasyPostObject): - pass diff --git a/easypost/models/order.html b/easypost/models/order.html new file mode 100644 index 00000000..dae0fb71 --- /dev/null +++ b/easypost/models/order.html @@ -0,0 +1,329 @@ + + + + + + + easypost.models.order API documentation + + + + + + + + + +
+
+

+easypost.models.order

+ + + + + + +
 1from typing import (
+ 2    Optional,
+ 3)
+ 4
+ 5from easypost.easypost_object import EasyPostObject
+ 6from easypost.models.rate import Rate
+ 7from easypost.util import get_lowest_object_rate
+ 8
+ 9
+10class Order(EasyPostObject):
+11    def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate:
+12        """Get the lowest rate of this Order."""
+13        lowest_rate = get_lowest_object_rate(self, carriers, services)
+14
+15        return lowest_rate
+
+ + +
+
+ +
+ + class + Order(easypost.easypost_object.EasyPostObject): + + + +
+ +
11class Order(EasyPostObject):
+12    def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate:
+13        """Get the lowest rate of this Order."""
+14        lowest_rate = get_lowest_object_rate(self, carriers, services)
+15
+16        return lowest_rate
+
+ + + + +
+ +
+ + def + lowest_rate( self, carriers: list[str] | None = None, services: list[str] | None = None) -> easypost.models.rate.Rate: + + + +
+ +
12    def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate:
+13        """Get the lowest rate of this Order."""
+14        lowest_rate = get_lowest_object_rate(self, carriers, services)
+15
+16        return lowest_rate
+
+ + +

Get the lowest rate of this Order.

+
+ + +
+ +
+
+ + \ No newline at end of file diff --git a/easypost/models/order.py b/easypost/models/order.py deleted file mode 100644 index ac97d2fe..00000000 --- a/easypost/models/order.py +++ /dev/null @@ -1,15 +0,0 @@ -from typing import ( - Optional, -) - -from easypost.easypost_object import EasyPostObject -from easypost.models.rate import Rate -from easypost.util import get_lowest_object_rate - - -class Order(EasyPostObject): - def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate: - """Get the lowest rate of this Order.""" - lowest_rate = get_lowest_object_rate(self, carriers, services) - - return lowest_rate diff --git a/easypost/models/parcel.html b/easypost/models/parcel.html new file mode 100644 index 00000000..2a050eb3 --- /dev/null +++ b/easypost/models/parcel.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.parcel API documentation + + + + + + + + + +
+
+

+easypost.models.parcel

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Parcel(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Parcel(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Parcel(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/parcel.py b/easypost/models/parcel.py deleted file mode 100644 index 3c17f701..00000000 --- a/easypost/models/parcel.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Parcel(EasyPostObject): - pass diff --git a/easypost/models/payload.html b/easypost/models/payload.html new file mode 100644 index 00000000..90fe2fc6 --- /dev/null +++ b/easypost/models/payload.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.payload API documentation + + + + + + + + + +
+
+

+easypost.models.payload

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Payload(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Payload(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Payload(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/payload.py b/easypost/models/payload.py deleted file mode 100644 index d05268ee..00000000 --- a/easypost/models/payload.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Payload(EasyPostObject): - pass diff --git a/easypost/models/pickup.html b/easypost/models/pickup.html new file mode 100644 index 00000000..0e9dd781 --- /dev/null +++ b/easypost/models/pickup.html @@ -0,0 +1,329 @@ + + + + + + + easypost.models.pickup API documentation + + + + + + + + + +
+
+

+easypost.models.pickup

+ + + + + + +
 1from typing import (
+ 2    Optional,
+ 3)
+ 4
+ 5from easypost.easypost_object import EasyPostObject
+ 6from easypost.models.rate import Rate
+ 7from easypost.util import get_lowest_object_rate
+ 8
+ 9
+10class Pickup(EasyPostObject):
+11    def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate:
+12        """Get the lowest rate of this Pickup."""
+13        lowest_rate = get_lowest_object_rate(self, carriers, services, "pickup_rates")
+14
+15        return lowest_rate
+
+ + +
+
+ +
+ + class + Pickup(easypost.easypost_object.EasyPostObject): + + + +
+ +
11class Pickup(EasyPostObject):
+12    def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate:
+13        """Get the lowest rate of this Pickup."""
+14        lowest_rate = get_lowest_object_rate(self, carriers, services, "pickup_rates")
+15
+16        return lowest_rate
+
+ + + + +
+ +
+ + def + lowest_rate( self, carriers: list[str] | None = None, services: list[str] | None = None) -> easypost.models.rate.Rate: + + + +
+ +
12    def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate:
+13        """Get the lowest rate of this Pickup."""
+14        lowest_rate = get_lowest_object_rate(self, carriers, services, "pickup_rates")
+15
+16        return lowest_rate
+
+ + +

Get the lowest rate of this Pickup.

+
+ + +
+ +
+
+ + \ No newline at end of file diff --git a/easypost/models/pickup.py b/easypost/models/pickup.py deleted file mode 100644 index f91ba9af..00000000 --- a/easypost/models/pickup.py +++ /dev/null @@ -1,15 +0,0 @@ -from typing import ( - Optional, -) - -from easypost.easypost_object import EasyPostObject -from easypost.models.rate import Rate -from easypost.util import get_lowest_object_rate - - -class Pickup(EasyPostObject): - def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate: - """Get the lowest rate of this Pickup.""" - lowest_rate = get_lowest_object_rate(self, carriers, services, "pickup_rates") - - return lowest_rate diff --git a/easypost/models/pickup_rate.html b/easypost/models/pickup_rate.html new file mode 100644 index 00000000..8e354bc8 --- /dev/null +++ b/easypost/models/pickup_rate.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.pickup_rate API documentation + + + + + + + + + +
+
+

+easypost.models.pickup_rate

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class PickupRate(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + PickupRate(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class PickupRate(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/pickup_rate.py b/easypost/models/pickup_rate.py deleted file mode 100644 index 0d99dbe7..00000000 --- a/easypost/models/pickup_rate.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class PickupRate(EasyPostObject): - pass diff --git a/easypost/models/postage_label.html b/easypost/models/postage_label.html new file mode 100644 index 00000000..4079e063 --- /dev/null +++ b/easypost/models/postage_label.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.postage_label API documentation + + + + + + + + + +
+
+

+easypost.models.postage_label

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class PostageLabel(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + PostageLabel(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class PostageLabel(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/postage_label.py b/easypost/models/postage_label.py deleted file mode 100644 index 1ca23195..00000000 --- a/easypost/models/postage_label.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class PostageLabel(EasyPostObject): - pass diff --git a/easypost/models/rate.html b/easypost/models/rate.html new file mode 100644 index 00000000..6e0250bf --- /dev/null +++ b/easypost/models/rate.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.rate API documentation + + + + + + + + + +
+
+

+easypost.models.rate

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Rate(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Rate(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Rate(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/rate.py b/easypost/models/rate.py deleted file mode 100644 index a9c44cca..00000000 --- a/easypost/models/rate.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Rate(EasyPostObject): - pass diff --git a/easypost/models/refund.html b/easypost/models/refund.html new file mode 100644 index 00000000..48a64f77 --- /dev/null +++ b/easypost/models/refund.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.refund API documentation + + + + + + + + + +
+
+

+easypost.models.refund

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Refund(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Refund(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Refund(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/refund.py b/easypost/models/refund.py deleted file mode 100644 index 4a15ffa3..00000000 --- a/easypost/models/refund.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Refund(EasyPostObject): - pass diff --git a/easypost/models/report.html b/easypost/models/report.html new file mode 100644 index 00000000..1f240ccf --- /dev/null +++ b/easypost/models/report.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.report API documentation + + + + + + + + + +
+
+

+easypost.models.report

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Report(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Report(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Report(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/report.py b/easypost/models/report.py deleted file mode 100644 index 263ad9ce..00000000 --- a/easypost/models/report.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Report(EasyPostObject): - pass diff --git a/easypost/models/scan_form.html b/easypost/models/scan_form.html new file mode 100644 index 00000000..f99b9fc0 --- /dev/null +++ b/easypost/models/scan_form.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.scan_form API documentation + + + + + + + + + +
+
+

+easypost.models.scan_form

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class ScanForm(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + ScanForm(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class ScanForm(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/scan_form.py b/easypost/models/scan_form.py deleted file mode 100644 index 56c4a62a..00000000 --- a/easypost/models/scan_form.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class ScanForm(EasyPostObject): - pass diff --git a/easypost/models/shipment.html b/easypost/models/shipment.html new file mode 100644 index 00000000..91a40d6d --- /dev/null +++ b/easypost/models/shipment.html @@ -0,0 +1,329 @@ + + + + + + + easypost.models.shipment API documentation + + + + + + + + + +
+
+

+easypost.models.shipment

+ + + + + + +
 1from typing import (
+ 2    Optional,
+ 3)
+ 4
+ 5from easypost.easypost_object import EasyPostObject
+ 6from easypost.models.rate import Rate
+ 7from easypost.util import get_lowest_object_rate
+ 8
+ 9
+10class Shipment(EasyPostObject):
+11    def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate:
+12        """Get the lowest rate of this shipment."""
+13        lowest_rate = get_lowest_object_rate(self, carriers, services)
+14
+15        return lowest_rate
+
+ + +
+
+ +
+ + class + Shipment(easypost.easypost_object.EasyPostObject): + + + +
+ +
11class Shipment(EasyPostObject):
+12    def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate:
+13        """Get the lowest rate of this shipment."""
+14        lowest_rate = get_lowest_object_rate(self, carriers, services)
+15
+16        return lowest_rate
+
+ + + + +
+ +
+ + def + lowest_rate( self, carriers: list[str] | None = None, services: list[str] | None = None) -> easypost.models.rate.Rate: + + + +
+ +
12    def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate:
+13        """Get the lowest rate of this shipment."""
+14        lowest_rate = get_lowest_object_rate(self, carriers, services)
+15
+16        return lowest_rate
+
+ + +

Get the lowest rate of this shipment.

+
+ + +
+ +
+
+ + \ No newline at end of file diff --git a/easypost/models/shipment.py b/easypost/models/shipment.py deleted file mode 100644 index 5e71b34d..00000000 --- a/easypost/models/shipment.py +++ /dev/null @@ -1,15 +0,0 @@ -from typing import ( - Optional, -) - -from easypost.easypost_object import EasyPostObject -from easypost.models.rate import Rate -from easypost.util import get_lowest_object_rate - - -class Shipment(EasyPostObject): - def lowest_rate(self, carriers: Optional[list[str]] = None, services: Optional[list[str]] = None) -> Rate: - """Get the lowest rate of this shipment.""" - lowest_rate = get_lowest_object_rate(self, carriers, services) - - return lowest_rate diff --git a/easypost/models/tracker.html b/easypost/models/tracker.html new file mode 100644 index 00000000..08b1ed4c --- /dev/null +++ b/easypost/models/tracker.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.tracker API documentation + + + + + + + + + +
+
+

+easypost.models.tracker

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Tracker(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Tracker(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Tracker(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/tracker.py b/easypost/models/tracker.py deleted file mode 100644 index bc09bdbf..00000000 --- a/easypost/models/tracker.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Tracker(EasyPostObject): - pass diff --git a/easypost/models/user.html b/easypost/models/user.html new file mode 100644 index 00000000..35683bdc --- /dev/null +++ b/easypost/models/user.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.user API documentation + + + + + + + + + +
+
+

+easypost.models.user

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class User(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + User(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class User(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/user.py b/easypost/models/user.py deleted file mode 100644 index 92e447a2..00000000 --- a/easypost/models/user.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class User(EasyPostObject): - pass diff --git a/easypost/models/webhook.html b/easypost/models/webhook.html new file mode 100644 index 00000000..b1ee2ae4 --- /dev/null +++ b/easypost/models/webhook.html @@ -0,0 +1,288 @@ + + + + + + + easypost.models.webhook API documentation + + + + + + + + + +
+
+

+easypost.models.webhook

+ + + + + + +
1from easypost.easypost_object import EasyPostObject
+2
+3
+4class Webhook(EasyPostObject):
+5    pass
+
+ + +
+
+ +
+ + class + Webhook(easypost.easypost_object.EasyPostObject): + + + +
+ +
5class Webhook(EasyPostObject):
+6    pass
+
+ + + + + +
+
+ + \ No newline at end of file diff --git a/easypost/models/webhook.py b/easypost/models/webhook.py deleted file mode 100644 index bf5771af..00000000 --- a/easypost/models/webhook.py +++ /dev/null @@ -1,5 +0,0 @@ -from easypost.easypost_object import EasyPostObject - - -class Webhook(EasyPostObject): - pass diff --git a/easypost/requestor.html b/easypost/requestor.html new file mode 100644 index 00000000..0dc71d4a --- /dev/null +++ b/easypost/requestor.html @@ -0,0 +1,1562 @@ + + + + + + + easypost.requestor API documentation + + + + + + + + + +
+
+

+easypost.requestor

+ + + + + + +
  1import datetime
+  2import json
+  3import platform
+  4import time
+  5import uuid
+  6from enum import Enum
+  7from json import JSONDecodeError
+  8from typing import (
+  9    Any,
+ 10    Optional,
+ 11    Tuple,
+ 12    Union,
+ 13)
+ 14from urllib.parse import urlencode
+ 15
+ 16import requests
+ 17
+ 18from easypost.constant import (
+ 19    API_VERSION,
+ 20    COMMUNICATION_ERROR,
+ 21    INVALID_REQUEST_LIB_ERROR,
+ 22    INVALID_REQUEST_METHOD_ERROR,
+ 23    INVALID_REQUEST_PARAMETERS_ERROR,
+ 24    INVALID_RESPONSE_BODY_ERROR,
+ 25    SUPPORT_EMAIL,
+ 26    TIMEOUT_ERROR,
+ 27    VERSION,
+ 28)
+ 29from easypost.easypost_object import EasyPostObject
+ 30from easypost.errors import (
+ 31    BadRequestError,
+ 32    EasyPostError,
+ 33    ForbiddenError,
+ 34    GatewayTimeoutError,
+ 35    HttpError,
+ 36    InternalServerError,
+ 37    InvalidRequestError,
+ 38    JsonError,
+ 39    MethodNotAllowedError,
+ 40    NotFoundError,
+ 41    PaymentError,
+ 42    RateLimitError,
+ 43    RedirectError,
+ 44    ServiceUnavailableError,
+ 45    TimeoutError,
+ 46    UnauthorizedError,
+ 47    UnknownApiError,
+ 48)
+ 49
+ 50STATUS_CODE_TO_ERROR_MAPPING: dict[int, Any] = {
+ 51    400: BadRequestError,
+ 52    401: UnauthorizedError,
+ 53    402: PaymentError,
+ 54    403: ForbiddenError,
+ 55    404: NotFoundError,
+ 56    405: MethodNotAllowedError,
+ 57    408: TimeoutError,
+ 58    422: InvalidRequestError,
+ 59    429: RateLimitError,
+ 60    500: InternalServerError,
+ 61    503: ServiceUnavailableError,
+ 62    504: GatewayTimeoutError,
+ 63}
+ 64
+ 65
+ 66class RequestMethod(Enum):
+ 67    GET = "get"
+ 68    POST = "post"
+ 69    PUT = "put"
+ 70    PATCH = "patch"
+ 71    DELETE = "delete"
+ 72
+ 73
+ 74class Requestor:
+ 75    def __init__(self, client):
+ 76        self._client = client
+ 77
+ 78    @classmethod
+ 79    def _objects_to_ids(cls, param: dict[str, Any]) -> dict[str, Any]:
+ 80        """If providing an object as a parameter to another object,
+ 81        only pass along the ID so the API will use the object reference correctly.
+ 82        """
+ 83        if isinstance(param, EasyPostObject):
+ 84            return {"id": param.id}
+ 85        elif isinstance(param, dict):
+ 86            data = {}
+ 87            for k, v in param.items():
+ 88                if isinstance(v, list):
+ 89                    data[k] = [cls._objects_to_ids(item) for item in v]  # type: ignore
+ 90                else:
+ 91                    data[k] = cls._objects_to_ids(v)  # type: ignore
+ 92            return data
+ 93        else:
+ 94            return param
+ 95
+ 96    @staticmethod
+ 97    def form_encode_params(
+ 98        data: dict[str, Any],
+ 99        parent_keys: Optional[list[str]] = None,
+100        parent_dict: Optional[dict[str, Any]] = None,
+101    ) -> dict:
+102        """Form-encode a multi-layer dictionary to a one-layer dictionary."""
+103        result = parent_dict or {}
+104        keys = parent_keys or []
+105
+106        for key, value in data.items():
+107            if isinstance(value, dict):
+108                keys.append(key)
+109                result = Requestor.form_encode_params(data=value, parent_keys=keys, parent_dict=result)
+110            else:
+111                dict_key = Requestor._build_dict_key(keys + [key])
+112                result[dict_key] = value
+113
+114        return result
+115
+116    @staticmethod
+117    def _build_dict_key(keys: list[str]) -> str:
+118        """Build a dict key from a list of keys.
+119        Example: [code, number] -> code[number]
+120        """
+121        result = keys[0]
+122
+123        for key in keys[1:]:
+124            result += f"[{key}]"
+125
+126        return result
+127
+128    def request(
+129        self,
+130        method: RequestMethod,
+131        url: str,
+132        params: Optional[dict[str, Any]] = None,
+133        beta: bool = False,
+134    ) -> dict[str, Any]:
+135        """Make a request to the EasyPost API."""
+136        if params is None:
+137            params = {}
+138
+139        http_body, http_status = self.request_raw(
+140            method=method,
+141            url=url,
+142            params=params,
+143            beta=beta,
+144        )
+145
+146        response = self.interpret_response(http_body=http_body, http_status=http_status)
+147
+148        return response
+149
+150    def request_raw(
+151        self,
+152        method: RequestMethod,
+153        url: str,
+154        params: Optional[dict[str, Any]] = None,
+155        beta: bool = False,
+156    ) -> Tuple[str, int]:
+157        """Internal logic required to make a request to the EasyPost API."""
+158        abs_url = f"{self._client.api_base}{url}"
+159
+160        if beta:
+161            abs_url = abs_url.replace(API_VERSION, "beta")
+162
+163        params = self._objects_to_ids(param=params or {})
+164
+165        # Fallback values for the user-agent header
+166        user_agent = {
+167            "client_version": VERSION,
+168            "implementation": "NA",
+169            "os_arch": "NA",
+170            "os_version": "NA",
+171            "os": "NA",
+172            "python_version": "NA",
+173        }
+174
+175        # Attempt to populate the user-agent header
+176        for attr, func in (
+177            ("implementation", platform.python_implementation),
+178            ("os_details", platform.uname),
+179            ("python_version", platform.python_version),
+180        ):
+181            try:
+182                val = func()  # type: ignore
+183                if attr == "os_details":
+184                    user_agent["os"] = val[0]
+185                    user_agent["os_version"] = val[2]
+186                    user_agent["os_arch"] = val[4]
+187                else:
+188                    user_agent[attr] = val  # type: ignore
+189            except Exception:  # nosec
+190                # If we fail to get OS info, do nothing as we already set fallbacks for these values
+191                pass
+192
+193        user_agent = (
+194            f"EasyPost/{API_VERSION} PythonClient/{VERSION} Python/{user_agent['python_version']}"  # type: ignore
+195            f" OS/{user_agent['os']} OSVersion/{user_agent['os_version']} OSArch/{user_agent['os_arch']}"
+196            f" Implementation/{user_agent['implementation']}"
+197        )
+198
+199        headers = {
+200            "Authorization": "Bearer %s" % self._client.api_key,
+201            "User-Agent": user_agent,
+202        }
+203
+204        request_uuid = uuid.uuid4()
+205        request_timestamp = datetime.datetime.now(datetime.timezone.utc)
+206        self._client._request_hook(
+207            method=method,
+208            path=abs_url,
+209            headers=headers,
+210            request_body=params,
+211            request_timestamp=request_timestamp,
+212            request_uuid=request_uuid,
+213        )
+214
+215        if self._client._request_lib == "urlfetch":
+216            http_body, http_status, http_headers = self.urlfetch_request(
+217                method=method, abs_url=abs_url, headers=headers, params=params
+218            )
+219        elif self._client._request_lib == "requests":
+220            http_body, http_status, http_headers = self.requests_request(
+221                method=method, abs_url=abs_url, headers=headers, params=params
+222            )
+223        else:
+224            raise EasyPostError(INVALID_REQUEST_LIB_ERROR.format(self._client._request_lib, SUPPORT_EMAIL))
+225
+226        response_timestamp = datetime.datetime.now(datetime.timezone.utc)
+227        self._client._response_hook(
+228            http_status=http_status,
+229            method=method,
+230            path=abs_url,
+231            headers=http_headers,
+232            response_body=http_body,
+233            request_timestamp=request_timestamp,
+234            response_timestamp=response_timestamp,
+235            request_uuid=request_uuid,
+236        )
+237
+238        return http_body, http_status
+239
+240    def interpret_response(self, http_body: str, http_status: int) -> dict[str, Any]:
+241        """Interpret the response body we receive from the API."""
+242        if http_status == 204:
+243            # HTTP 204 does not have any response body and we can just return here
+244            return {}
+245
+246        try:
+247            response = json.loads(http_body)
+248        except JSONDecodeError:
+249            raise JsonError(INVALID_RESPONSE_BODY_ERROR.format(http_body, http_status))
+250
+251        if http_status < 200 or http_status >= 300:
+252            self.handle_api_error(http_status=http_status, http_body=http_body, response=response)
+253
+254        return response
+255
+256    def requests_request(
+257        self,
+258        method: RequestMethod,
+259        abs_url: str,
+260        headers: dict[str, Any],
+261        params: dict[str, Any],
+262    ) -> Tuple[str, int, dict[str, Any]]:
+263        """Make a request by using the `request` library."""
+264        if method in [RequestMethod.GET, RequestMethod.DELETE]:
+265            url_params = params
+266            body = None
+267        elif method in [RequestMethod.POST, RequestMethod.PATCH, RequestMethod.PUT]:
+268            url_params = None
+269            body = params
+270        else:
+271            raise EasyPostError(INVALID_REQUEST_METHOD_ERROR.format(method, SUPPORT_EMAIL))
+272
+273        if url_params and method not in [RequestMethod.GET, RequestMethod.DELETE]:
+274            raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR)
+275
+276        try:
+277            result = self._client._requests_session.request(
+278                method=method.value,
+279                url=abs_url,
+280                params=url_params,
+281                headers=headers,
+282                json=body,
+283                timeout=self._client.timeout,
+284                verify=True,
+285            )
+286            http_body = result.text
+287            http_status = result.status_code
+288            http_headers = result.headers
+289        except requests.exceptions.Timeout:
+290            raise TimeoutError(TIMEOUT_ERROR)
+291        except Exception as e:
+292            raise HttpError(COMMUNICATION_ERROR.format(SUPPORT_EMAIL, e))
+293
+294        return http_body, http_status, http_headers
+295
+296    def urlfetch_request(
+297        self,
+298        method: RequestMethod,
+299        abs_url: str,
+300        headers: dict[str, Any],
+301        params: dict[str, Any],
+302    ) -> Tuple[str, int, dict[str, Any]]:
+303        """Make a request by using the `urlfetch` library."""
+304        fetch_args = {
+305            "method": method.value,
+306            "headers": headers,
+307            "validate_certificate": False,
+308            "deadline": self._client.timeout,
+309        }
+310
+311        if method in [RequestMethod.GET, RequestMethod.DELETE]:
+312            # GET/DELETE requests use query params
+313            fetch_args["url"] = self.add_params_to_url(url=abs_url, params=params, method=method)
+314        elif method in [RequestMethod.POST, RequestMethod.PUT]:
+315            fetch_args["url"] = abs_url
+316            # POST/PUT requests use body params
+317            fetch_args["payload"] = json.dumps(params, default=self._utf8)
+318        else:
+319            raise EasyPostError(INVALID_REQUEST_METHOD_ERROR.format(method, SUPPORT_EMAIL))
+320
+321        try:
+322            from google.appengine.api import urlfetch  # type: ignore
+323
+324            result = urlfetch.fetch(**fetch_args)  # type: ignore
+325        except Exception as e:
+326            raise HttpError(COMMUNICATION_ERROR.format(SUPPORT_EMAIL, e))
+327
+328        return result.content, result.status_code, result.headers
+329
+330    def handle_api_error(self, http_status: int, http_body: str, response: dict[str, Any]) -> None:
+331        """Handles API errors returned from the EasyPost API."""
+332        try:
+333            error = response["error"]
+334        except (KeyError, TypeError):
+335            raise JsonError(
+336                message=INVALID_RESPONSE_BODY_ERROR.format(http_status, http_body),
+337                http_status=http_status,
+338                http_body=http_body,
+339            )
+340
+341        if http_status >= 300 and http_status < 400:
+342            raise RedirectError(message=error, http_status=http_status, http_body=http_body)
+343
+344        error_type = STATUS_CODE_TO_ERROR_MAPPING.get(http_status, UnknownApiError)
+345
+346        raise error_type(
+347            message=error.get("message", ""),
+348            http_status=http_status,
+349            http_body=http_body,
+350        )
+351
+352    def _utf8(self, value: Union[str, bytes]) -> str:
+353        # Python3's str(bytestring) returns "b'bytestring'" so we use .decode instead
+354        if isinstance(value, bytes):
+355            return value.decode(encoding="utf-8")
+356        return value
+357
+358    def encode_url_params(self, params: dict[str, Any], method: RequestMethod) -> Union[str, None]:
+359        """Encode params for a URL."""
+360        if method not in [RequestMethod.GET, RequestMethod.DELETE]:
+361            raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR)
+362
+363        converted_params = []
+364
+365        for key, value in sorted(params.items()):
+366            if value is None:
+367                continue  # Don't add Nones to the query
+368            elif isinstance(value, datetime.datetime):
+369                value = int(time.mktime(value.timetuple()))  # to UTC timestamp
+370            converted_params.append((key, value))
+371
+372        return urlencode(query=converted_params)
+373
+374    def add_params_to_url(self, url: str, params: dict[str, Any], method: RequestMethod) -> str:
+375        """Add params to the URL."""
+376        if method not in [RequestMethod.GET, RequestMethod.DELETE]:
+377            raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR)
+378
+379        encoded_params = self.encode_url_params(params=params, method=method)
+380
+381        if encoded_params:
+382            return "%s?%s" % (url, encoded_params)
+383
+384        return url
+
+ + +
+
+ + + + + +
+
+ +
+ + class + RequestMethod(enum.Enum): + + + +
+ +
67class RequestMethod(Enum):
+68    GET = "get"
+69    POST = "post"
+70    PUT = "put"
+71    PATCH = "patch"
+72    DELETE = "delete"
+
+ + + + +
+
+ GET = +<RequestMethod.GET: 'get'> + + +
+ + + + +
+
+
+ POST = +<RequestMethod.POST: 'post'> + + +
+ + + + +
+
+
+ PUT = +<RequestMethod.PUT: 'put'> + + +
+ + + + +
+
+
+ PATCH = +<RequestMethod.PATCH: 'patch'> + + +
+ + + + +
+
+
+ DELETE = +<RequestMethod.DELETE: 'delete'> + + +
+ + + + +
+
+
+ +
+ + class + Requestor: + + + +
+ +
 75class Requestor:
+ 76    def __init__(self, client):
+ 77        self._client = client
+ 78
+ 79    @classmethod
+ 80    def _objects_to_ids(cls, param: dict[str, Any]) -> dict[str, Any]:
+ 81        """If providing an object as a parameter to another object,
+ 82        only pass along the ID so the API will use the object reference correctly.
+ 83        """
+ 84        if isinstance(param, EasyPostObject):
+ 85            return {"id": param.id}
+ 86        elif isinstance(param, dict):
+ 87            data = {}
+ 88            for k, v in param.items():
+ 89                if isinstance(v, list):
+ 90                    data[k] = [cls._objects_to_ids(item) for item in v]  # type: ignore
+ 91                else:
+ 92                    data[k] = cls._objects_to_ids(v)  # type: ignore
+ 93            return data
+ 94        else:
+ 95            return param
+ 96
+ 97    @staticmethod
+ 98    def form_encode_params(
+ 99        data: dict[str, Any],
+100        parent_keys: Optional[list[str]] = None,
+101        parent_dict: Optional[dict[str, Any]] = None,
+102    ) -> dict:
+103        """Form-encode a multi-layer dictionary to a one-layer dictionary."""
+104        result = parent_dict or {}
+105        keys = parent_keys or []
+106
+107        for key, value in data.items():
+108            if isinstance(value, dict):
+109                keys.append(key)
+110                result = Requestor.form_encode_params(data=value, parent_keys=keys, parent_dict=result)
+111            else:
+112                dict_key = Requestor._build_dict_key(keys + [key])
+113                result[dict_key] = value
+114
+115        return result
+116
+117    @staticmethod
+118    def _build_dict_key(keys: list[str]) -> str:
+119        """Build a dict key from a list of keys.
+120        Example: [code, number] -> code[number]
+121        """
+122        result = keys[0]
+123
+124        for key in keys[1:]:
+125            result += f"[{key}]"
+126
+127        return result
+128
+129    def request(
+130        self,
+131        method: RequestMethod,
+132        url: str,
+133        params: Optional[dict[str, Any]] = None,
+134        beta: bool = False,
+135    ) -> dict[str, Any]:
+136        """Make a request to the EasyPost API."""
+137        if params is None:
+138            params = {}
+139
+140        http_body, http_status = self.request_raw(
+141            method=method,
+142            url=url,
+143            params=params,
+144            beta=beta,
+145        )
+146
+147        response = self.interpret_response(http_body=http_body, http_status=http_status)
+148
+149        return response
+150
+151    def request_raw(
+152        self,
+153        method: RequestMethod,
+154        url: str,
+155        params: Optional[dict[str, Any]] = None,
+156        beta: bool = False,
+157    ) -> Tuple[str, int]:
+158        """Internal logic required to make a request to the EasyPost API."""
+159        abs_url = f"{self._client.api_base}{url}"
+160
+161        if beta:
+162            abs_url = abs_url.replace(API_VERSION, "beta")
+163
+164        params = self._objects_to_ids(param=params or {})
+165
+166        # Fallback values for the user-agent header
+167        user_agent = {
+168            "client_version": VERSION,
+169            "implementation": "NA",
+170            "os_arch": "NA",
+171            "os_version": "NA",
+172            "os": "NA",
+173            "python_version": "NA",
+174        }
+175
+176        # Attempt to populate the user-agent header
+177        for attr, func in (
+178            ("implementation", platform.python_implementation),
+179            ("os_details", platform.uname),
+180            ("python_version", platform.python_version),
+181        ):
+182            try:
+183                val = func()  # type: ignore
+184                if attr == "os_details":
+185                    user_agent["os"] = val[0]
+186                    user_agent["os_version"] = val[2]
+187                    user_agent["os_arch"] = val[4]
+188                else:
+189                    user_agent[attr] = val  # type: ignore
+190            except Exception:  # nosec
+191                # If we fail to get OS info, do nothing as we already set fallbacks for these values
+192                pass
+193
+194        user_agent = (
+195            f"EasyPost/{API_VERSION} PythonClient/{VERSION} Python/{user_agent['python_version']}"  # type: ignore
+196            f" OS/{user_agent['os']} OSVersion/{user_agent['os_version']} OSArch/{user_agent['os_arch']}"
+197            f" Implementation/{user_agent['implementation']}"
+198        )
+199
+200        headers = {
+201            "Authorization": "Bearer %s" % self._client.api_key,
+202            "User-Agent": user_agent,
+203        }
+204
+205        request_uuid = uuid.uuid4()
+206        request_timestamp = datetime.datetime.now(datetime.timezone.utc)
+207        self._client._request_hook(
+208            method=method,
+209            path=abs_url,
+210            headers=headers,
+211            request_body=params,
+212            request_timestamp=request_timestamp,
+213            request_uuid=request_uuid,
+214        )
+215
+216        if self._client._request_lib == "urlfetch":
+217            http_body, http_status, http_headers = self.urlfetch_request(
+218                method=method, abs_url=abs_url, headers=headers, params=params
+219            )
+220        elif self._client._request_lib == "requests":
+221            http_body, http_status, http_headers = self.requests_request(
+222                method=method, abs_url=abs_url, headers=headers, params=params
+223            )
+224        else:
+225            raise EasyPostError(INVALID_REQUEST_LIB_ERROR.format(self._client._request_lib, SUPPORT_EMAIL))
+226
+227        response_timestamp = datetime.datetime.now(datetime.timezone.utc)
+228        self._client._response_hook(
+229            http_status=http_status,
+230            method=method,
+231            path=abs_url,
+232            headers=http_headers,
+233            response_body=http_body,
+234            request_timestamp=request_timestamp,
+235            response_timestamp=response_timestamp,
+236            request_uuid=request_uuid,
+237        )
+238
+239        return http_body, http_status
+240
+241    def interpret_response(self, http_body: str, http_status: int) -> dict[str, Any]:
+242        """Interpret the response body we receive from the API."""
+243        if http_status == 204:
+244            # HTTP 204 does not have any response body and we can just return here
+245            return {}
+246
+247        try:
+248            response = json.loads(http_body)
+249        except JSONDecodeError:
+250            raise JsonError(INVALID_RESPONSE_BODY_ERROR.format(http_body, http_status))
+251
+252        if http_status < 200 or http_status >= 300:
+253            self.handle_api_error(http_status=http_status, http_body=http_body, response=response)
+254
+255        return response
+256
+257    def requests_request(
+258        self,
+259        method: RequestMethod,
+260        abs_url: str,
+261        headers: dict[str, Any],
+262        params: dict[str, Any],
+263    ) -> Tuple[str, int, dict[str, Any]]:
+264        """Make a request by using the `request` library."""
+265        if method in [RequestMethod.GET, RequestMethod.DELETE]:
+266            url_params = params
+267            body = None
+268        elif method in [RequestMethod.POST, RequestMethod.PATCH, RequestMethod.PUT]:
+269            url_params = None
+270            body = params
+271        else:
+272            raise EasyPostError(INVALID_REQUEST_METHOD_ERROR.format(method, SUPPORT_EMAIL))
+273
+274        if url_params and method not in [RequestMethod.GET, RequestMethod.DELETE]:
+275            raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR)
+276
+277        try:
+278            result = self._client._requests_session.request(
+279                method=method.value,
+280                url=abs_url,
+281                params=url_params,
+282                headers=headers,
+283                json=body,
+284                timeout=self._client.timeout,
+285                verify=True,
+286            )
+287            http_body = result.text
+288            http_status = result.status_code
+289            http_headers = result.headers
+290        except requests.exceptions.Timeout:
+291            raise TimeoutError(TIMEOUT_ERROR)
+292        except Exception as e:
+293            raise HttpError(COMMUNICATION_ERROR.format(SUPPORT_EMAIL, e))
+294
+295        return http_body, http_status, http_headers
+296
+297    def urlfetch_request(
+298        self,
+299        method: RequestMethod,
+300        abs_url: str,
+301        headers: dict[str, Any],
+302        params: dict[str, Any],
+303    ) -> Tuple[str, int, dict[str, Any]]:
+304        """Make a request by using the `urlfetch` library."""
+305        fetch_args = {
+306            "method": method.value,
+307            "headers": headers,
+308            "validate_certificate": False,
+309            "deadline": self._client.timeout,
+310        }
+311
+312        if method in [RequestMethod.GET, RequestMethod.DELETE]:
+313            # GET/DELETE requests use query params
+314            fetch_args["url"] = self.add_params_to_url(url=abs_url, params=params, method=method)
+315        elif method in [RequestMethod.POST, RequestMethod.PUT]:
+316            fetch_args["url"] = abs_url
+317            # POST/PUT requests use body params
+318            fetch_args["payload"] = json.dumps(params, default=self._utf8)
+319        else:
+320            raise EasyPostError(INVALID_REQUEST_METHOD_ERROR.format(method, SUPPORT_EMAIL))
+321
+322        try:
+323            from google.appengine.api import urlfetch  # type: ignore
+324
+325            result = urlfetch.fetch(**fetch_args)  # type: ignore
+326        except Exception as e:
+327            raise HttpError(COMMUNICATION_ERROR.format(SUPPORT_EMAIL, e))
+328
+329        return result.content, result.status_code, result.headers
+330
+331    def handle_api_error(self, http_status: int, http_body: str, response: dict[str, Any]) -> None:
+332        """Handles API errors returned from the EasyPost API."""
+333        try:
+334            error = response["error"]
+335        except (KeyError, TypeError):
+336            raise JsonError(
+337                message=INVALID_RESPONSE_BODY_ERROR.format(http_status, http_body),
+338                http_status=http_status,
+339                http_body=http_body,
+340            )
+341
+342        if http_status >= 300 and http_status < 400:
+343            raise RedirectError(message=error, http_status=http_status, http_body=http_body)
+344
+345        error_type = STATUS_CODE_TO_ERROR_MAPPING.get(http_status, UnknownApiError)
+346
+347        raise error_type(
+348            message=error.get("message", ""),
+349            http_status=http_status,
+350            http_body=http_body,
+351        )
+352
+353    def _utf8(self, value: Union[str, bytes]) -> str:
+354        # Python3's str(bytestring) returns "b'bytestring'" so we use .decode instead
+355        if isinstance(value, bytes):
+356            return value.decode(encoding="utf-8")
+357        return value
+358
+359    def encode_url_params(self, params: dict[str, Any], method: RequestMethod) -> Union[str, None]:
+360        """Encode params for a URL."""
+361        if method not in [RequestMethod.GET, RequestMethod.DELETE]:
+362            raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR)
+363
+364        converted_params = []
+365
+366        for key, value in sorted(params.items()):
+367            if value is None:
+368                continue  # Don't add Nones to the query
+369            elif isinstance(value, datetime.datetime):
+370                value = int(time.mktime(value.timetuple()))  # to UTC timestamp
+371            converted_params.append((key, value))
+372
+373        return urlencode(query=converted_params)
+374
+375    def add_params_to_url(self, url: str, params: dict[str, Any], method: RequestMethod) -> str:
+376        """Add params to the URL."""
+377        if method not in [RequestMethod.GET, RequestMethod.DELETE]:
+378            raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR)
+379
+380        encoded_params = self.encode_url_params(params=params, method=method)
+381
+382        if encoded_params:
+383            return "%s?%s" % (url, encoded_params)
+384
+385        return url
+
+ + + + +
+ +
+ + Requestor(client) + + + +
+ +
76    def __init__(self, client):
+77        self._client = client
+
+ + + + +
+
+ +
+
@staticmethod
+ + def + form_encode_params( data: dict[str, typing.Any], parent_keys: list[str] | None = None, parent_dict: dict[str, Any] | None = None) -> dict: + + + +
+ +
 97    @staticmethod
+ 98    def form_encode_params(
+ 99        data: dict[str, Any],
+100        parent_keys: Optional[list[str]] = None,
+101        parent_dict: Optional[dict[str, Any]] = None,
+102    ) -> dict:
+103        """Form-encode a multi-layer dictionary to a one-layer dictionary."""
+104        result = parent_dict or {}
+105        keys = parent_keys or []
+106
+107        for key, value in data.items():
+108            if isinstance(value, dict):
+109                keys.append(key)
+110                result = Requestor.form_encode_params(data=value, parent_keys=keys, parent_dict=result)
+111            else:
+112                dict_key = Requestor._build_dict_key(keys + [key])
+113                result[dict_key] = value
+114
+115        return result
+
+ + +

Form-encode a multi-layer dictionary to a one-layer dictionary.

+
+ + +
+
+ +
+ + def + request( self, method: RequestMethod, url: str, params: dict[str, Any] | None = None, beta: bool = False) -> dict[str, typing.Any]: + + + +
+ +
129    def request(
+130        self,
+131        method: RequestMethod,
+132        url: str,
+133        params: Optional[dict[str, Any]] = None,
+134        beta: bool = False,
+135    ) -> dict[str, Any]:
+136        """Make a request to the EasyPost API."""
+137        if params is None:
+138            params = {}
+139
+140        http_body, http_status = self.request_raw(
+141            method=method,
+142            url=url,
+143            params=params,
+144            beta=beta,
+145        )
+146
+147        response = self.interpret_response(http_body=http_body, http_status=http_status)
+148
+149        return response
+
+ + +

Make a request to the EasyPost API.

+
+ + +
+
+ +
+ + def + request_raw( self, method: RequestMethod, url: str, params: dict[str, Any] | None = None, beta: bool = False) -> Tuple[str, int]: + + + +
+ +
151    def request_raw(
+152        self,
+153        method: RequestMethod,
+154        url: str,
+155        params: Optional[dict[str, Any]] = None,
+156        beta: bool = False,
+157    ) -> Tuple[str, int]:
+158        """Internal logic required to make a request to the EasyPost API."""
+159        abs_url = f"{self._client.api_base}{url}"
+160
+161        if beta:
+162            abs_url = abs_url.replace(API_VERSION, "beta")
+163
+164        params = self._objects_to_ids(param=params or {})
+165
+166        # Fallback values for the user-agent header
+167        user_agent = {
+168            "client_version": VERSION,
+169            "implementation": "NA",
+170            "os_arch": "NA",
+171            "os_version": "NA",
+172            "os": "NA",
+173            "python_version": "NA",
+174        }
+175
+176        # Attempt to populate the user-agent header
+177        for attr, func in (
+178            ("implementation", platform.python_implementation),
+179            ("os_details", platform.uname),
+180            ("python_version", platform.python_version),
+181        ):
+182            try:
+183                val = func()  # type: ignore
+184                if attr == "os_details":
+185                    user_agent["os"] = val[0]
+186                    user_agent["os_version"] = val[2]
+187                    user_agent["os_arch"] = val[4]
+188                else:
+189                    user_agent[attr] = val  # type: ignore
+190            except Exception:  # nosec
+191                # If we fail to get OS info, do nothing as we already set fallbacks for these values
+192                pass
+193
+194        user_agent = (
+195            f"EasyPost/{API_VERSION} PythonClient/{VERSION} Python/{user_agent['python_version']}"  # type: ignore
+196            f" OS/{user_agent['os']} OSVersion/{user_agent['os_version']} OSArch/{user_agent['os_arch']}"
+197            f" Implementation/{user_agent['implementation']}"
+198        )
+199
+200        headers = {
+201            "Authorization": "Bearer %s" % self._client.api_key,
+202            "User-Agent": user_agent,
+203        }
+204
+205        request_uuid = uuid.uuid4()
+206        request_timestamp = datetime.datetime.now(datetime.timezone.utc)
+207        self._client._request_hook(
+208            method=method,
+209            path=abs_url,
+210            headers=headers,
+211            request_body=params,
+212            request_timestamp=request_timestamp,
+213            request_uuid=request_uuid,
+214        )
+215
+216        if self._client._request_lib == "urlfetch":
+217            http_body, http_status, http_headers = self.urlfetch_request(
+218                method=method, abs_url=abs_url, headers=headers, params=params
+219            )
+220        elif self._client._request_lib == "requests":
+221            http_body, http_status, http_headers = self.requests_request(
+222                method=method, abs_url=abs_url, headers=headers, params=params
+223            )
+224        else:
+225            raise EasyPostError(INVALID_REQUEST_LIB_ERROR.format(self._client._request_lib, SUPPORT_EMAIL))
+226
+227        response_timestamp = datetime.datetime.now(datetime.timezone.utc)
+228        self._client._response_hook(
+229            http_status=http_status,
+230            method=method,
+231            path=abs_url,
+232            headers=http_headers,
+233            response_body=http_body,
+234            request_timestamp=request_timestamp,
+235            response_timestamp=response_timestamp,
+236            request_uuid=request_uuid,
+237        )
+238
+239        return http_body, http_status
+
+ + +

Internal logic required to make a request to the EasyPost API.

+
+ + +
+
+ +
+ + def + interpret_response(self, http_body: str, http_status: int) -> dict[str, typing.Any]: + + + +
+ +
241    def interpret_response(self, http_body: str, http_status: int) -> dict[str, Any]:
+242        """Interpret the response body we receive from the API."""
+243        if http_status == 204:
+244            # HTTP 204 does not have any response body and we can just return here
+245            return {}
+246
+247        try:
+248            response = json.loads(http_body)
+249        except JSONDecodeError:
+250            raise JsonError(INVALID_RESPONSE_BODY_ERROR.format(http_body, http_status))
+251
+252        if http_status < 200 or http_status >= 300:
+253            self.handle_api_error(http_status=http_status, http_body=http_body, response=response)
+254
+255        return response
+
+ + +

Interpret the response body we receive from the API.

+
+ + +
+
+ +
+ + def + requests_request( self, method: RequestMethod, abs_url: str, headers: dict[str, typing.Any], params: dict[str, typing.Any]) -> Tuple[str, int, dict[str, Any]]: + + + +
+ +
257    def requests_request(
+258        self,
+259        method: RequestMethod,
+260        abs_url: str,
+261        headers: dict[str, Any],
+262        params: dict[str, Any],
+263    ) -> Tuple[str, int, dict[str, Any]]:
+264        """Make a request by using the `request` library."""
+265        if method in [RequestMethod.GET, RequestMethod.DELETE]:
+266            url_params = params
+267            body = None
+268        elif method in [RequestMethod.POST, RequestMethod.PATCH, RequestMethod.PUT]:
+269            url_params = None
+270            body = params
+271        else:
+272            raise EasyPostError(INVALID_REQUEST_METHOD_ERROR.format(method, SUPPORT_EMAIL))
+273
+274        if url_params and method not in [RequestMethod.GET, RequestMethod.DELETE]:
+275            raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR)
+276
+277        try:
+278            result = self._client._requests_session.request(
+279                method=method.value,
+280                url=abs_url,
+281                params=url_params,
+282                headers=headers,
+283                json=body,
+284                timeout=self._client.timeout,
+285                verify=True,
+286            )
+287            http_body = result.text
+288            http_status = result.status_code
+289            http_headers = result.headers
+290        except requests.exceptions.Timeout:
+291            raise TimeoutError(TIMEOUT_ERROR)
+292        except Exception as e:
+293            raise HttpError(COMMUNICATION_ERROR.format(SUPPORT_EMAIL, e))
+294
+295        return http_body, http_status, http_headers
+
+ + +

Make a request by using the request library.

+
+ + +
+
+ +
+ + def + urlfetch_request( self, method: RequestMethod, abs_url: str, headers: dict[str, typing.Any], params: dict[str, typing.Any]) -> Tuple[str, int, dict[str, Any]]: + + + +
+ +
297    def urlfetch_request(
+298        self,
+299        method: RequestMethod,
+300        abs_url: str,
+301        headers: dict[str, Any],
+302        params: dict[str, Any],
+303    ) -> Tuple[str, int, dict[str, Any]]:
+304        """Make a request by using the `urlfetch` library."""
+305        fetch_args = {
+306            "method": method.value,
+307            "headers": headers,
+308            "validate_certificate": False,
+309            "deadline": self._client.timeout,
+310        }
+311
+312        if method in [RequestMethod.GET, RequestMethod.DELETE]:
+313            # GET/DELETE requests use query params
+314            fetch_args["url"] = self.add_params_to_url(url=abs_url, params=params, method=method)
+315        elif method in [RequestMethod.POST, RequestMethod.PUT]:
+316            fetch_args["url"] = abs_url
+317            # POST/PUT requests use body params
+318            fetch_args["payload"] = json.dumps(params, default=self._utf8)
+319        else:
+320            raise EasyPostError(INVALID_REQUEST_METHOD_ERROR.format(method, SUPPORT_EMAIL))
+321
+322        try:
+323            from google.appengine.api import urlfetch  # type: ignore
+324
+325            result = urlfetch.fetch(**fetch_args)  # type: ignore
+326        except Exception as e:
+327            raise HttpError(COMMUNICATION_ERROR.format(SUPPORT_EMAIL, e))
+328
+329        return result.content, result.status_code, result.headers
+
+ + +

Make a request by using the urlfetch library.

+
+ + +
+
+ +
+ + def + handle_api_error( self, http_status: int, http_body: str, response: dict[str, typing.Any]) -> None: + + + +
+ +
331    def handle_api_error(self, http_status: int, http_body: str, response: dict[str, Any]) -> None:
+332        """Handles API errors returned from the EasyPost API."""
+333        try:
+334            error = response["error"]
+335        except (KeyError, TypeError):
+336            raise JsonError(
+337                message=INVALID_RESPONSE_BODY_ERROR.format(http_status, http_body),
+338                http_status=http_status,
+339                http_body=http_body,
+340            )
+341
+342        if http_status >= 300 and http_status < 400:
+343            raise RedirectError(message=error, http_status=http_status, http_body=http_body)
+344
+345        error_type = STATUS_CODE_TO_ERROR_MAPPING.get(http_status, UnknownApiError)
+346
+347        raise error_type(
+348            message=error.get("message", ""),
+349            http_status=http_status,
+350            http_body=http_body,
+351        )
+
+ + +

Handles API errors returned from the EasyPost API.

+
+ + +
+
+ +
+ + def + encode_url_params( self, params: dict[str, typing.Any], method: RequestMethod) -> str | None: + + + +
+ +
359    def encode_url_params(self, params: dict[str, Any], method: RequestMethod) -> Union[str, None]:
+360        """Encode params for a URL."""
+361        if method not in [RequestMethod.GET, RequestMethod.DELETE]:
+362            raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR)
+363
+364        converted_params = []
+365
+366        for key, value in sorted(params.items()):
+367            if value is None:
+368                continue  # Don't add Nones to the query
+369            elif isinstance(value, datetime.datetime):
+370                value = int(time.mktime(value.timetuple()))  # to UTC timestamp
+371            converted_params.append((key, value))
+372
+373        return urlencode(query=converted_params)
+
+ + +

Encode params for a URL.

+
+ + +
+
+ +
+ + def + add_params_to_url( self, url: str, params: dict[str, typing.Any], method: RequestMethod) -> str: + + + +
+ +
375    def add_params_to_url(self, url: str, params: dict[str, Any], method: RequestMethod) -> str:
+376        """Add params to the URL."""
+377        if method not in [RequestMethod.GET, RequestMethod.DELETE]:
+378            raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR)
+379
+380        encoded_params = self.encode_url_params(params=params, method=method)
+381
+382        if encoded_params:
+383            return "%s?%s" % (url, encoded_params)
+384
+385        return url
+
+ + +

Add params to the URL.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/requestor.py b/easypost/requestor.py deleted file mode 100644 index 4f024f2f..00000000 --- a/easypost/requestor.py +++ /dev/null @@ -1,384 +0,0 @@ -import datetime -import json -import platform -import time -import uuid -from enum import Enum -from json import JSONDecodeError -from typing import ( - Any, - Optional, - Tuple, - Union, -) -from urllib.parse import urlencode - -import requests - -from easypost.constant import ( - API_VERSION, - COMMUNICATION_ERROR, - INVALID_REQUEST_LIB_ERROR, - INVALID_REQUEST_METHOD_ERROR, - INVALID_REQUEST_PARAMETERS_ERROR, - INVALID_RESPONSE_BODY_ERROR, - SUPPORT_EMAIL, - TIMEOUT_ERROR, - VERSION, -) -from easypost.easypost_object import EasyPostObject -from easypost.errors import ( - BadRequestError, - EasyPostError, - ForbiddenError, - GatewayTimeoutError, - HttpError, - InternalServerError, - InvalidRequestError, - JsonError, - MethodNotAllowedError, - NotFoundError, - PaymentError, - RateLimitError, - RedirectError, - ServiceUnavailableError, - TimeoutError, - UnauthorizedError, - UnknownApiError, -) - -STATUS_CODE_TO_ERROR_MAPPING: dict[int, Any] = { - 400: BadRequestError, - 401: UnauthorizedError, - 402: PaymentError, - 403: ForbiddenError, - 404: NotFoundError, - 405: MethodNotAllowedError, - 408: TimeoutError, - 422: InvalidRequestError, - 429: RateLimitError, - 500: InternalServerError, - 503: ServiceUnavailableError, - 504: GatewayTimeoutError, -} - - -class RequestMethod(Enum): - GET = "get" - POST = "post" - PUT = "put" - PATCH = "patch" - DELETE = "delete" - - -class Requestor: - def __init__(self, client): - self._client = client - - @classmethod - def _objects_to_ids(cls, param: dict[str, Any]) -> dict[str, Any]: - """If providing an object as a parameter to another object, - only pass along the ID so the API will use the object reference correctly. - """ - if isinstance(param, EasyPostObject): - return {"id": param.id} - elif isinstance(param, dict): - data = {} - for k, v in param.items(): - if isinstance(v, list): - data[k] = [cls._objects_to_ids(item) for item in v] # type: ignore - else: - data[k] = cls._objects_to_ids(v) # type: ignore - return data - else: - return param - - @staticmethod - def form_encode_params( - data: dict[str, Any], - parent_keys: Optional[list[str]] = None, - parent_dict: Optional[dict[str, Any]] = None, - ) -> dict: - """Form-encode a multi-layer dictionary to a one-layer dictionary.""" - result = parent_dict or {} - keys = parent_keys or [] - - for key, value in data.items(): - if isinstance(value, dict): - keys.append(key) - result = Requestor.form_encode_params(data=value, parent_keys=keys, parent_dict=result) - else: - dict_key = Requestor._build_dict_key(keys + [key]) - result[dict_key] = value - - return result - - @staticmethod - def _build_dict_key(keys: list[str]) -> str: - """Build a dict key from a list of keys. - Example: [code, number] -> code[number] - """ - result = keys[0] - - for key in keys[1:]: - result += f"[{key}]" - - return result - - def request( - self, - method: RequestMethod, - url: str, - params: Optional[dict[str, Any]] = None, - beta: bool = False, - ) -> dict[str, Any]: - """Make a request to the EasyPost API.""" - if params is None: - params = {} - - http_body, http_status = self.request_raw( - method=method, - url=url, - params=params, - beta=beta, - ) - - response = self.interpret_response(http_body=http_body, http_status=http_status) - - return response - - def request_raw( - self, - method: RequestMethod, - url: str, - params: Optional[dict[str, Any]] = None, - beta: bool = False, - ) -> Tuple[str, int]: - """Internal logic required to make a request to the EasyPost API.""" - abs_url = f"{self._client.api_base}{url}" - - if beta: - abs_url = abs_url.replace(API_VERSION, "beta") - - params = self._objects_to_ids(param=params or {}) - - # Fallback values for the user-agent header - user_agent = { - "client_version": VERSION, - "implementation": "NA", - "os_arch": "NA", - "os_version": "NA", - "os": "NA", - "python_version": "NA", - } - - # Attempt to populate the user-agent header - for attr, func in ( - ("implementation", platform.python_implementation), - ("os_details", platform.uname), - ("python_version", platform.python_version), - ): - try: - val = func() # type: ignore - if attr == "os_details": - user_agent["os"] = val[0] - user_agent["os_version"] = val[2] - user_agent["os_arch"] = val[4] - else: - user_agent[attr] = val # type: ignore - except Exception: # nosec - # If we fail to get OS info, do nothing as we already set fallbacks for these values - pass - - user_agent = ( - f"EasyPost/{API_VERSION} PythonClient/{VERSION} Python/{user_agent['python_version']}" # type: ignore - f" OS/{user_agent['os']} OSVersion/{user_agent['os_version']} OSArch/{user_agent['os_arch']}" - f" Implementation/{user_agent['implementation']}" - ) - - headers = { - "Authorization": "Bearer %s" % self._client.api_key, - "User-Agent": user_agent, - } - - request_uuid = uuid.uuid4() - request_timestamp = datetime.datetime.now(datetime.timezone.utc) - self._client._request_hook( - method=method, - path=abs_url, - headers=headers, - request_body=params, - request_timestamp=request_timestamp, - request_uuid=request_uuid, - ) - - if self._client._request_lib == "urlfetch": - http_body, http_status, http_headers = self.urlfetch_request( - method=method, abs_url=abs_url, headers=headers, params=params - ) - elif self._client._request_lib == "requests": - http_body, http_status, http_headers = self.requests_request( - method=method, abs_url=abs_url, headers=headers, params=params - ) - else: - raise EasyPostError(INVALID_REQUEST_LIB_ERROR.format(self._client._request_lib, SUPPORT_EMAIL)) - - response_timestamp = datetime.datetime.now(datetime.timezone.utc) - self._client._response_hook( - http_status=http_status, - method=method, - path=abs_url, - headers=http_headers, - response_body=http_body, - request_timestamp=request_timestamp, - response_timestamp=response_timestamp, - request_uuid=request_uuid, - ) - - return http_body, http_status - - def interpret_response(self, http_body: str, http_status: int) -> dict[str, Any]: - """Interpret the response body we receive from the API.""" - if http_status == 204: - # HTTP 204 does not have any response body and we can just return here - return {} - - try: - response = json.loads(http_body) - except JSONDecodeError: - raise JsonError(INVALID_RESPONSE_BODY_ERROR.format(http_body, http_status)) - - if http_status < 200 or http_status >= 300: - self.handle_api_error(http_status=http_status, http_body=http_body, response=response) - - return response - - def requests_request( - self, - method: RequestMethod, - abs_url: str, - headers: dict[str, Any], - params: dict[str, Any], - ) -> Tuple[str, int, dict[str, Any]]: - """Make a request by using the `request` library.""" - if method in [RequestMethod.GET, RequestMethod.DELETE]: - url_params = params - body = None - elif method in [RequestMethod.POST, RequestMethod.PATCH, RequestMethod.PUT]: - url_params = None - body = params - else: - raise EasyPostError(INVALID_REQUEST_METHOD_ERROR.format(method, SUPPORT_EMAIL)) - - if url_params and method not in [RequestMethod.GET, RequestMethod.DELETE]: - raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR) - - try: - result = self._client._requests_session.request( - method=method.value, - url=abs_url, - params=url_params, - headers=headers, - json=body, - timeout=self._client.timeout, - verify=True, - ) - http_body = result.text - http_status = result.status_code - http_headers = result.headers - except requests.exceptions.Timeout: - raise TimeoutError(TIMEOUT_ERROR) - except Exception as e: - raise HttpError(COMMUNICATION_ERROR.format(SUPPORT_EMAIL, e)) - - return http_body, http_status, http_headers - - def urlfetch_request( - self, - method: RequestMethod, - abs_url: str, - headers: dict[str, Any], - params: dict[str, Any], - ) -> Tuple[str, int, dict[str, Any]]: - """Make a request by using the `urlfetch` library.""" - fetch_args = { - "method": method.value, - "headers": headers, - "validate_certificate": False, - "deadline": self._client.timeout, - } - - if method in [RequestMethod.GET, RequestMethod.DELETE]: - # GET/DELETE requests use query params - fetch_args["url"] = self.add_params_to_url(url=abs_url, params=params, method=method) - elif method in [RequestMethod.POST, RequestMethod.PUT]: - fetch_args["url"] = abs_url - # POST/PUT requests use body params - fetch_args["payload"] = json.dumps(params, default=self._utf8) - else: - raise EasyPostError(INVALID_REQUEST_METHOD_ERROR.format(method, SUPPORT_EMAIL)) - - try: - from google.appengine.api import urlfetch # type: ignore - - result = urlfetch.fetch(**fetch_args) # type: ignore - except Exception as e: - raise HttpError(COMMUNICATION_ERROR.format(SUPPORT_EMAIL, e)) - - return result.content, result.status_code, result.headers - - def handle_api_error(self, http_status: int, http_body: str, response: dict[str, Any]) -> None: - """Handles API errors returned from the EasyPost API.""" - try: - error = response["error"] - except (KeyError, TypeError): - raise JsonError( - message=INVALID_RESPONSE_BODY_ERROR.format(http_status, http_body), - http_status=http_status, - http_body=http_body, - ) - - if http_status >= 300 and http_status < 400: - raise RedirectError(message=error, http_status=http_status, http_body=http_body) - - error_type = STATUS_CODE_TO_ERROR_MAPPING.get(http_status, UnknownApiError) - - raise error_type( - message=error.get("message", ""), - http_status=http_status, - http_body=http_body, - ) - - def _utf8(self, value: Union[str, bytes]) -> str: - # Python3's str(bytestring) returns "b'bytestring'" so we use .decode instead - if isinstance(value, bytes): - return value.decode(encoding="utf-8") - return value - - def encode_url_params(self, params: dict[str, Any], method: RequestMethod) -> Union[str, None]: - """Encode params for a URL.""" - if method not in [RequestMethod.GET, RequestMethod.DELETE]: - raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR) - - converted_params = [] - - for key, value in sorted(params.items()): - if value is None: - continue # Don't add Nones to the query - elif isinstance(value, datetime.datetime): - value = int(time.mktime(value.timetuple())) # to UTC timestamp - converted_params.append((key, value)) - - return urlencode(query=converted_params) - - def add_params_to_url(self, url: str, params: dict[str, Any], method: RequestMethod) -> str: - """Add params to the URL.""" - if method not in [RequestMethod.GET, RequestMethod.DELETE]: - raise EasyPostError(INVALID_REQUEST_PARAMETERS_ERROR) - - encoded_params = self.encode_url_params(params=params, method=method) - - if encoded_params: - return "%s?%s" % (url, encoded_params) - - return url diff --git a/easypost/services.html b/easypost/services.html new file mode 100644 index 00000000..a589f687 --- /dev/null +++ b/easypost/services.html @@ -0,0 +1,304 @@ + + + + + + + easypost.services API documentation + + + + + + + + + +
+
+

+easypost.services

+ + + + + + +
 1# flake8: noqa
+ 2from easypost.services.address_service import AddressService
+ 3from easypost.services.api_key_service import ApiKeyService
+ 4from easypost.services.batch_service import BatchService
+ 5from easypost.services.beta_rate_service import BetaRateService
+ 6from easypost.services.beta_referral_customer_service import BetaReferralCustomerService
+ 7from easypost.services.billing_service import BillingService
+ 8from easypost.services.carrier_account_service import CarrierAccountService
+ 9from easypost.services.carrier_metadata_service import CarrierMetadataService
+10from easypost.services.claim_service import ClaimService
+11from easypost.services.customer_portal_service import CustomerPortalService
+12from easypost.services.customs_info_service import CustomsInfoService
+13from easypost.services.customs_item_service import CustomsItemService
+14from easypost.services.embeddable_service import EmbeddableService
+15from easypost.services.end_shipper_service import EndShipperService
+16from easypost.services.event_service import EventService
+17from easypost.services.fedex_registration_service import FedExRegistrationService
+18from easypost.services.insurance_service import InsuranceService
+19from easypost.services.luma_service import LumaService
+20from easypost.services.order_service import OrderService
+21from easypost.services.parcel_service import ParcelService
+22from easypost.services.pickup_service import PickupService
+23from easypost.services.rate_service import RateService
+24from easypost.services.referral_customer_service import ReferralCustomerService
+25from easypost.services.refund_service import RefundService
+26from easypost.services.report_service import ReportService
+27from easypost.services.scan_form_service import ScanFormService
+28from easypost.services.shipment_service import ShipmentService
+29from easypost.services.smartrate_service import SmartRateService
+30from easypost.services.tracker_service import TrackerService
+31from easypost.services.user_service import UserService
+32from easypost.services.webhook_service import WebhookService
+
+ + +
+
+ + \ No newline at end of file diff --git a/easypost/services/__init__.py b/easypost/services/__init__.py deleted file mode 100644 index 61385d14..00000000 --- a/easypost/services/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -# flake8: noqa -from easypost.services.address_service import AddressService -from easypost.services.api_key_service import ApiKeyService -from easypost.services.batch_service import BatchService -from easypost.services.beta_rate_service import BetaRateService -from easypost.services.beta_referral_customer_service import BetaReferralCustomerService -from easypost.services.billing_service import BillingService -from easypost.services.carrier_account_service import CarrierAccountService -from easypost.services.carrier_metadata_service import CarrierMetadataService -from easypost.services.claim_service import ClaimService -from easypost.services.customer_portal_service import CustomerPortalService -from easypost.services.customs_info_service import CustomsInfoService -from easypost.services.customs_item_service import CustomsItemService -from easypost.services.embeddable_service import EmbeddableService -from easypost.services.end_shipper_service import EndShipperService -from easypost.services.event_service import EventService -from easypost.services.fedex_registration_service import FedExRegistrationService -from easypost.services.insurance_service import InsuranceService -from easypost.services.luma_service import LumaService -from easypost.services.order_service import OrderService -from easypost.services.parcel_service import ParcelService -from easypost.services.pickup_service import PickupService -from easypost.services.rate_service import RateService -from easypost.services.referral_customer_service import ReferralCustomerService -from easypost.services.refund_service import RefundService -from easypost.services.report_service import ReportService -from easypost.services.scan_form_service import ScanFormService -from easypost.services.shipment_service import ShipmentService -from easypost.services.smartrate_service import SmartRateService -from easypost.services.tracker_service import TrackerService -from easypost.services.user_service import UserService -from easypost.services.webhook_service import WebhookService diff --git a/easypost/services/address_service.html b/easypost/services/address_service.html new file mode 100644 index 00000000..08cc7e8f --- /dev/null +++ b/easypost/services/address_service.html @@ -0,0 +1,655 @@ + + + + + + + easypost.services.address_service API documentation + + + + + + + + + +
+
+

+easypost.services.address_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.easypost_object import convert_to_easypost_object
+ 7from easypost.models import Address
+ 8from easypost.requestor import (
+ 9    RequestMethod,
+10    Requestor,
+11)
+12from easypost.services.base_service import BaseService
+13
+14
+15class AddressService(BaseService):
+16    def __init__(self, client):
+17        self._client = client
+18        self._model_class = Address.__name__
+19
+20    def create(
+21        self,
+22        verify: Optional[bool] = None,
+23        verify_strict: Optional[bool] = None,
+24        verify_carrier: Optional[str] = None,
+25        **params,
+26    ) -> Address:
+27        """Create an Address."""
+28        url = self._class_url(self._model_class)
+29        wrapped_params = {self._snakecase_name(self._model_class): params}  # type: dict[str, Any]
+30
+31        if verify:
+32            wrapped_params["verify"] = verify
+33        if verify_strict:
+34            wrapped_params["verify_strict"] = verify_strict
+35        if verify_carrier:
+36            wrapped_params["verify_carrier"] = verify_carrier
+37
+38        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+39
+40        return convert_to_easypost_object(response=response)
+41
+42    def all(self, **params) -> dict[str, Any]:
+43        """Retrieve a list of Addresses."""
+44        filters = {
+45            "key": "addresses",
+46        }
+47
+48        return self._all_resources(self._model_class, filters, **params)
+49
+50    def retrieve(self, id) -> Address:
+51        """Retrieve an Address."""
+52        return self._retrieve_resource(self._model_class, id)
+53
+54    def create_and_verify(self, verify_carrier: Optional[str] = None, **params) -> Address:
+55        """Create and verify an Address in one call."""
+56        url = f"{self._class_url('address')}/create_and_verify"
+57        wrapped_params = {self._snakecase_name(self._model_class): params}  # type: dict[str, Any]
+58
+59        if verify_carrier:
+60            wrapped_params["verify_carrier"] = verify_carrier
+61
+62        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+63
+64        return convert_to_easypost_object(response=response["address"])
+65
+66    def verify(self, id) -> Address:
+67        """Verify an already created Address."""
+68        url = f"{self._instance_url('address', id)}/verify"
+69
+70        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+71
+72        return convert_to_easypost_object(response=response["address"])
+73
+74    def get_next_page(
+75        self,
+76        addresses: dict[str, Any],
+77        page_size: int,
+78        optional_params: Optional[dict[str, Any]] = None,
+79    ) -> dict[str, Any]:
+80        """Retrieve the next page of the list Addresses response."""
+81        self._check_has_next_page(collection=addresses)
+82
+83        params = {
+84            "before_id": addresses["addresses"][-1].id,
+85            "page_size": page_size,
+86        }
+87
+88        if optional_params:
+89            params.update(optional_params)
+90
+91        return self.all(**params)
+
+ + +
+
+ +
+ + class + AddressService(easypost.services.base_service.BaseService): + + + +
+ +
16class AddressService(BaseService):
+17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = Address.__name__
+20
+21    def create(
+22        self,
+23        verify: Optional[bool] = None,
+24        verify_strict: Optional[bool] = None,
+25        verify_carrier: Optional[str] = None,
+26        **params,
+27    ) -> Address:
+28        """Create an Address."""
+29        url = self._class_url(self._model_class)
+30        wrapped_params = {self._snakecase_name(self._model_class): params}  # type: dict[str, Any]
+31
+32        if verify:
+33            wrapped_params["verify"] = verify
+34        if verify_strict:
+35            wrapped_params["verify_strict"] = verify_strict
+36        if verify_carrier:
+37            wrapped_params["verify_carrier"] = verify_carrier
+38
+39        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+40
+41        return convert_to_easypost_object(response=response)
+42
+43    def all(self, **params) -> dict[str, Any]:
+44        """Retrieve a list of Addresses."""
+45        filters = {
+46            "key": "addresses",
+47        }
+48
+49        return self._all_resources(self._model_class, filters, **params)
+50
+51    def retrieve(self, id) -> Address:
+52        """Retrieve an Address."""
+53        return self._retrieve_resource(self._model_class, id)
+54
+55    def create_and_verify(self, verify_carrier: Optional[str] = None, **params) -> Address:
+56        """Create and verify an Address in one call."""
+57        url = f"{self._class_url('address')}/create_and_verify"
+58        wrapped_params = {self._snakecase_name(self._model_class): params}  # type: dict[str, Any]
+59
+60        if verify_carrier:
+61            wrapped_params["verify_carrier"] = verify_carrier
+62
+63        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+64
+65        return convert_to_easypost_object(response=response["address"])
+66
+67    def verify(self, id) -> Address:
+68        """Verify an already created Address."""
+69        url = f"{self._instance_url('address', id)}/verify"
+70
+71        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+72
+73        return convert_to_easypost_object(response=response["address"])
+74
+75    def get_next_page(
+76        self,
+77        addresses: dict[str, Any],
+78        page_size: int,
+79        optional_params: Optional[dict[str, Any]] = None,
+80    ) -> dict[str, Any]:
+81        """Retrieve the next page of the list Addresses response."""
+82        self._check_has_next_page(collection=addresses)
+83
+84        params = {
+85            "before_id": addresses["addresses"][-1].id,
+86            "page_size": page_size,
+87        }
+88
+89        if optional_params:
+90            params.update(optional_params)
+91
+92        return self.all(**params)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + AddressService(client) + + + +
+ +
17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = Address.__name__
+
+ + + + +
+
+ +
+ + def + create( self, verify: bool | None = None, verify_strict: bool | None = None, verify_carrier: str | None = None, **params) -> easypost.models.address.Address: + + + +
+ +
21    def create(
+22        self,
+23        verify: Optional[bool] = None,
+24        verify_strict: Optional[bool] = None,
+25        verify_carrier: Optional[str] = None,
+26        **params,
+27    ) -> Address:
+28        """Create an Address."""
+29        url = self._class_url(self._model_class)
+30        wrapped_params = {self._snakecase_name(self._model_class): params}  # type: dict[str, Any]
+31
+32        if verify:
+33            wrapped_params["verify"] = verify
+34        if verify_strict:
+35            wrapped_params["verify_strict"] = verify_strict
+36        if verify_carrier:
+37            wrapped_params["verify_carrier"] = verify_carrier
+38
+39        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+40
+41        return convert_to_easypost_object(response=response)
+
+ + +

Create an Address.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
43    def all(self, **params) -> dict[str, Any]:
+44        """Retrieve a list of Addresses."""
+45        filters = {
+46            "key": "addresses",
+47        }
+48
+49        return self._all_resources(self._model_class, filters, **params)
+
+ + +

Retrieve a list of Addresses.

+
+ + +
+
+ +
+ + def + retrieve(self, id) -> easypost.models.address.Address: + + + +
+ +
51    def retrieve(self, id) -> Address:
+52        """Retrieve an Address."""
+53        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve an Address.

+
+ + +
+
+ +
+ + def + create_and_verify( self, verify_carrier: str | None = None, **params) -> easypost.models.address.Address: + + + +
+ +
55    def create_and_verify(self, verify_carrier: Optional[str] = None, **params) -> Address:
+56        """Create and verify an Address in one call."""
+57        url = f"{self._class_url('address')}/create_and_verify"
+58        wrapped_params = {self._snakecase_name(self._model_class): params}  # type: dict[str, Any]
+59
+60        if verify_carrier:
+61            wrapped_params["verify_carrier"] = verify_carrier
+62
+63        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+64
+65        return convert_to_easypost_object(response=response["address"])
+
+ + +

Create and verify an Address in one call.

+
+ + +
+
+ +
+ + def + verify(self, id) -> easypost.models.address.Address: + + + +
+ +
67    def verify(self, id) -> Address:
+68        """Verify an already created Address."""
+69        url = f"{self._instance_url('address', id)}/verify"
+70
+71        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+72
+73        return convert_to_easypost_object(response=response["address"])
+
+ + +

Verify an already created Address.

+
+ + +
+
+ +
+ + def + get_next_page( self, addresses: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
75    def get_next_page(
+76        self,
+77        addresses: dict[str, Any],
+78        page_size: int,
+79        optional_params: Optional[dict[str, Any]] = None,
+80    ) -> dict[str, Any]:
+81        """Retrieve the next page of the list Addresses response."""
+82        self._check_has_next_page(collection=addresses)
+83
+84        params = {
+85            "before_id": addresses["addresses"][-1].id,
+86            "page_size": page_size,
+87        }
+88
+89        if optional_params:
+90            params.update(optional_params)
+91
+92        return self.all(**params)
+
+ + +

Retrieve the next page of the list Addresses response.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/address_service.py b/easypost/services/address_service.py deleted file mode 100644 index bea69baa..00000000 --- a/easypost/services/address_service.py +++ /dev/null @@ -1,91 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import Address -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class AddressService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Address.__name__ - - def create( - self, - verify: Optional[bool] = None, - verify_strict: Optional[bool] = None, - verify_carrier: Optional[str] = None, - **params, - ) -> Address: - """Create an Address.""" - url = self._class_url(self._model_class) - wrapped_params = {self._snakecase_name(self._model_class): params} # type: dict[str, Any] - - if verify: - wrapped_params["verify"] = verify - if verify_strict: - wrapped_params["verify_strict"] = verify_strict - if verify_carrier: - wrapped_params["verify_carrier"] = verify_carrier - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Addresses.""" - filters = { - "key": "addresses", - } - - return self._all_resources(self._model_class, filters, **params) - - def retrieve(self, id) -> Address: - """Retrieve an Address.""" - return self._retrieve_resource(self._model_class, id) - - def create_and_verify(self, verify_carrier: Optional[str] = None, **params) -> Address: - """Create and verify an Address in one call.""" - url = f"{self._class_url('address')}/create_and_verify" - wrapped_params = {self._snakecase_name(self._model_class): params} # type: dict[str, Any] - - if verify_carrier: - wrapped_params["verify_carrier"] = verify_carrier - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response["address"]) - - def verify(self, id) -> Address: - """Verify an already created Address.""" - url = f"{self._instance_url('address', id)}/verify" - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url) - - return convert_to_easypost_object(response=response["address"]) - - def get_next_page( - self, - addresses: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve the next page of the list Addresses response.""" - self._check_has_next_page(collection=addresses) - - params = { - "before_id": addresses["addresses"][-1].id, - "page_size": page_size, - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) diff --git a/easypost/services/api_key_service.html b/easypost/services/api_key_service.html new file mode 100644 index 00000000..bd38e809 --- /dev/null +++ b/easypost/services/api_key_service.html @@ -0,0 +1,591 @@ + + + + + + + easypost.services.api_key_service API documentation + + + + + + + + + +
+
+

+easypost.services.api_key_service

+ + + + + + +
 1from typing import Any
+ 2
+ 3from easypost.constant import NO_USER_FOUND
+ 4from easypost.easypost_object import convert_to_easypost_object
+ 5from easypost.errors import FilteringError
+ 6from easypost.models import ApiKey
+ 7from easypost.requestor import RequestMethod, Requestor
+ 8from easypost.services.base_service import BaseService
+ 9
+10
+11class ApiKeyService(BaseService):
+12    def __init__(self, client):
+13        self._client = client
+14        self._model_class = ApiKey.__name__
+15
+16    def retrieve_api_keys_for_user(self, id: str) -> list[ApiKey]:
+17        """Retrieve a list of API keys (works for the authenticated User or a child User)."""
+18        api_keys = self.all()
+19
+20        if api_keys["id"] == id:
+21            # This function was called on the authenticated user
+22            return api_keys["keys"]
+23
+24        # This function was called on a child user (authenticated as parent, only return
+25        # this child user's details).
+26        for child in api_keys["children"]:
+27            if child.id == id:
+28                return child.keys
+29
+30        raise FilteringError(message=NO_USER_FOUND)
+31
+32    def all(self) -> dict[str, Any]:
+33        """Retrieve a list of all API keys."""
+34        url = "/api_keys"
+35
+36        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+37
+38        return convert_to_easypost_object(response=response)
+39
+40    def create(self, mode: str) -> ApiKey:
+41        """Create an API key for a child or referral customer user."""
+42        url = "/api_keys"
+43        params = {"mode": mode}
+44
+45        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+46
+47        return convert_to_easypost_object(response=response)
+48
+49    def delete(self, id: str) -> None:
+50        """Delete an API key for a child or referral customer user."""
+51        self._delete_resource(self._model_class, id)
+52
+53    def enable(self, id: str) -> ApiKey:
+54        """Enable a child or referral customer API key."""
+55        url = f"/api_keys/{id}/enable"
+56
+57        response = Requestor(self._client).request(method=RequestMethod.POST, url=url)
+58
+59        return convert_to_easypost_object(response=response)
+60
+61    def disable(self, id: str) -> ApiKey:
+62        """Disable a child or referral customer API key."""
+63        url = f"/api_keys/{id}/disable"
+64
+65        response = Requestor(self._client).request(method=RequestMethod.POST, url=url)
+66
+67        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + ApiKeyService(easypost.services.base_service.BaseService): + + + +
+ +
12class ApiKeyService(BaseService):
+13    def __init__(self, client):
+14        self._client = client
+15        self._model_class = ApiKey.__name__
+16
+17    def retrieve_api_keys_for_user(self, id: str) -> list[ApiKey]:
+18        """Retrieve a list of API keys (works for the authenticated User or a child User)."""
+19        api_keys = self.all()
+20
+21        if api_keys["id"] == id:
+22            # This function was called on the authenticated user
+23            return api_keys["keys"]
+24
+25        # This function was called on a child user (authenticated as parent, only return
+26        # this child user's details).
+27        for child in api_keys["children"]:
+28            if child.id == id:
+29                return child.keys
+30
+31        raise FilteringError(message=NO_USER_FOUND)
+32
+33    def all(self) -> dict[str, Any]:
+34        """Retrieve a list of all API keys."""
+35        url = "/api_keys"
+36
+37        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+38
+39        return convert_to_easypost_object(response=response)
+40
+41    def create(self, mode: str) -> ApiKey:
+42        """Create an API key for a child or referral customer user."""
+43        url = "/api_keys"
+44        params = {"mode": mode}
+45
+46        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+47
+48        return convert_to_easypost_object(response=response)
+49
+50    def delete(self, id: str) -> None:
+51        """Delete an API key for a child or referral customer user."""
+52        self._delete_resource(self._model_class, id)
+53
+54    def enable(self, id: str) -> ApiKey:
+55        """Enable a child or referral customer API key."""
+56        url = f"/api_keys/{id}/enable"
+57
+58        response = Requestor(self._client).request(method=RequestMethod.POST, url=url)
+59
+60        return convert_to_easypost_object(response=response)
+61
+62    def disable(self, id: str) -> ApiKey:
+63        """Disable a child or referral customer API key."""
+64        url = f"/api_keys/{id}/disable"
+65
+66        response = Requestor(self._client).request(method=RequestMethod.POST, url=url)
+67
+68        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + ApiKeyService(client) + + + +
+ +
13    def __init__(self, client):
+14        self._client = client
+15        self._model_class = ApiKey.__name__
+
+ + + + +
+
+ +
+ + def + retrieve_api_keys_for_user(self, id: str) -> list[easypost.models.api_key.ApiKey]: + + + +
+ +
17    def retrieve_api_keys_for_user(self, id: str) -> list[ApiKey]:
+18        """Retrieve a list of API keys (works for the authenticated User or a child User)."""
+19        api_keys = self.all()
+20
+21        if api_keys["id"] == id:
+22            # This function was called on the authenticated user
+23            return api_keys["keys"]
+24
+25        # This function was called on a child user (authenticated as parent, only return
+26        # this child user's details).
+27        for child in api_keys["children"]:
+28            if child.id == id:
+29                return child.keys
+30
+31        raise FilteringError(message=NO_USER_FOUND)
+
+ + +

Retrieve a list of API keys (works for the authenticated User or a child User).

+
+ + +
+
+ +
+ + def + all(self) -> dict[str, typing.Any]: + + + +
+ +
33    def all(self) -> dict[str, Any]:
+34        """Retrieve a list of all API keys."""
+35        url = "/api_keys"
+36
+37        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+38
+39        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve a list of all API keys.

+
+ + +
+
+ +
+ + def + create(self, mode: str) -> easypost.models.api_key.ApiKey: + + + +
+ +
41    def create(self, mode: str) -> ApiKey:
+42        """Create an API key for a child or referral customer user."""
+43        url = "/api_keys"
+44        params = {"mode": mode}
+45
+46        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+47
+48        return convert_to_easypost_object(response=response)
+
+ + +

Create an API key for a child or referral customer user.

+
+ + +
+
+ +
+ + def + delete(self, id: str) -> None: + + + +
+ +
50    def delete(self, id: str) -> None:
+51        """Delete an API key for a child or referral customer user."""
+52        self._delete_resource(self._model_class, id)
+
+ + +

Delete an API key for a child or referral customer user.

+
+ + +
+
+ +
+ + def + enable(self, id: str) -> easypost.models.api_key.ApiKey: + + + +
+ +
54    def enable(self, id: str) -> ApiKey:
+55        """Enable a child or referral customer API key."""
+56        url = f"/api_keys/{id}/enable"
+57
+58        response = Requestor(self._client).request(method=RequestMethod.POST, url=url)
+59
+60        return convert_to_easypost_object(response=response)
+
+ + +

Enable a child or referral customer API key.

+
+ + +
+
+ +
+ + def + disable(self, id: str) -> easypost.models.api_key.ApiKey: + + + +
+ +
62    def disable(self, id: str) -> ApiKey:
+63        """Disable a child or referral customer API key."""
+64        url = f"/api_keys/{id}/disable"
+65
+66        response = Requestor(self._client).request(method=RequestMethod.POST, url=url)
+67
+68        return convert_to_easypost_object(response=response)
+
+ + +

Disable a child or referral customer API key.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/api_key_service.py b/easypost/services/api_key_service.py deleted file mode 100644 index f59247d2..00000000 --- a/easypost/services/api_key_service.py +++ /dev/null @@ -1,67 +0,0 @@ -from typing import Any - -from easypost.constant import NO_USER_FOUND -from easypost.easypost_object import convert_to_easypost_object -from easypost.errors import FilteringError -from easypost.models import ApiKey -from easypost.requestor import RequestMethod, Requestor -from easypost.services.base_service import BaseService - - -class ApiKeyService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = ApiKey.__name__ - - def retrieve_api_keys_for_user(self, id: str) -> list[ApiKey]: - """Retrieve a list of API keys (works for the authenticated User or a child User).""" - api_keys = self.all() - - if api_keys["id"] == id: - # This function was called on the authenticated user - return api_keys["keys"] - - # This function was called on a child user (authenticated as parent, only return - # this child user's details). - for child in api_keys["children"]: - if child.id == id: - return child.keys - - raise FilteringError(message=NO_USER_FOUND) - - def all(self) -> dict[str, Any]: - """Retrieve a list of all API keys.""" - url = "/api_keys" - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url) - - return convert_to_easypost_object(response=response) - - def create(self, mode: str) -> ApiKey: - """Create an API key for a child or referral customer user.""" - url = "/api_keys" - params = {"mode": mode} - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def delete(self, id: str) -> None: - """Delete an API key for a child or referral customer user.""" - self._delete_resource(self._model_class, id) - - def enable(self, id: str) -> ApiKey: - """Enable a child or referral customer API key.""" - url = f"/api_keys/{id}/enable" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url) - - return convert_to_easypost_object(response=response) - - def disable(self, id: str) -> ApiKey: - """Disable a child or referral customer API key.""" - url = f"/api_keys/{id}/disable" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/base_service.html b/easypost/services/base_service.html new file mode 100644 index 00000000..c0b4d918 --- /dev/null +++ b/easypost/services/base_service.html @@ -0,0 +1,471 @@ + + + + + + + easypost.services.base_service API documentation + + + + + + + + + +
+
+

+easypost.services.base_service

+ + + + + + +
  1import re
+  2from typing import (
+  3    Any,
+  4    Optional,
+  5)
+  6
+  7from easypost.constant import (
+  8    _FILTERS_KEY,
+  9    NO_MORE_PAGES_ERROR,
+ 10)
+ 11from easypost.easypost_object import convert_to_easypost_object
+ 12from easypost.errors import EndOfPaginationError
+ 13from easypost.requestor import (
+ 14    RequestMethod,
+ 15    Requestor,
+ 16)
+ 17
+ 18
+ 19class BaseService:
+ 20    """The base service that all other services inherit containing shared logic."""
+ 21
+ 22    def __init__(self, client):
+ 23        self._client = client
+ 24
+ 25    def _snakecase_name(self, class_name: str) -> str:
+ 26        """Return the class name as snake_case."""
+ 27        return re.sub(r"(?<!^)(?=[A-Z])", "_", class_name).lower()
+ 28
+ 29    def _class_url(self, class_name: str) -> str:
+ 30        """Generate a URL based on class name."""
+ 31        transformed_class_name = self._snakecase_name(class_name)
+ 32        if transformed_class_name[-1:] in ("s", "h"):
+ 33            return f"/{transformed_class_name}es"
+ 34        else:
+ 35            return f"/{transformed_class_name}s"
+ 36
+ 37    def _instance_url(self, class_name: str, id: str) -> str:
+ 38        """Generate an instance URL based on a class name and ID."""
+ 39        return f"{self._class_url(class_name)}/{id}"
+ 40
+ 41    def _create_resource(self, class_name: str, beta: bool = False, **params) -> Any:
+ 42        """Create an EasyPost object via the EasyPost API."""
+ 43        url = self._class_url(class_name)
+ 44        wrapped_params = {self._snakecase_name(class_name): params}
+ 45
+ 46        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params, beta=beta)
+ 47
+ 48        return convert_to_easypost_object(response=response)
+ 49
+ 50    def _all_resources(
+ 51        self,
+ 52        class_name: str,
+ 53        filters: Optional[dict[str, Any]] = None,
+ 54        beta: bool = False,
+ 55        **params,
+ 56    ) -> Any:
+ 57        """Retrieve a list of EasyPostObjects from the EasyPost API."""
+ 58        url = self._class_url(class_name)
+ 59        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params, beta=beta)
+ 60
+ 61        if filters:  # presence of filters indicates we are dealing with a paginated response
+ 62            response[_FILTERS_KEY] = filters  # Save the filters used to reference in potential get_next_page call
+ 63
+ 64        return convert_to_easypost_object(response=response)
+ 65
+ 66    def _retrieve_resource(self, class_name: str, id: str, beta: bool = False) -> Any:
+ 67        """Retrieve an object from the EasyPost API."""
+ 68        url = self._instance_url(class_name, id)
+ 69
+ 70        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, beta=beta)
+ 71
+ 72        return convert_to_easypost_object(response=response)
+ 73
+ 74    def _update_resource(
+ 75        self,
+ 76        class_name: str,
+ 77        id: str,
+ 78        method: RequestMethod = RequestMethod.PATCH,
+ 79        beta: bool = False,
+ 80        **params,
+ 81    ) -> Any:
+ 82        """Update an EasyPost object via the EasyPost API."""
+ 83        url = self._instance_url(class_name, id)
+ 84        wrapped_params = {self._snakecase_name(class_name): params}
+ 85
+ 86        response = Requestor(self._client).request(method=method, url=url, params=wrapped_params, beta=beta)
+ 87
+ 88        return convert_to_easypost_object(response=response)
+ 89
+ 90    def _delete_resource(self, class_name: str, id: str, beta: bool = False) -> Any:
+ 91        """Delete an EasyPost object via the EasyPost API."""
+ 92        url = self._instance_url(class_name, id)
+ 93
+ 94        response = Requestor(self._client).request(method=RequestMethod.DELETE, url=url, beta=beta)
+ 95
+ 96        return convert_to_easypost_object(response=response)
+ 97
+ 98    def _check_has_next_page(self, collection: dict[str, Any]) -> None:
+ 99        """Raise exception if there is no next page of a collection."""
+100        if not collection.get("has_more", False):
+101            raise EndOfPaginationError(NO_MORE_PAGES_ERROR)
+
+ + +
+
+ +
+ + class + BaseService: + + + +
+ +
 20class BaseService:
+ 21    """The base service that all other services inherit containing shared logic."""
+ 22
+ 23    def __init__(self, client):
+ 24        self._client = client
+ 25
+ 26    def _snakecase_name(self, class_name: str) -> str:
+ 27        """Return the class name as snake_case."""
+ 28        return re.sub(r"(?<!^)(?=[A-Z])", "_", class_name).lower()
+ 29
+ 30    def _class_url(self, class_name: str) -> str:
+ 31        """Generate a URL based on class name."""
+ 32        transformed_class_name = self._snakecase_name(class_name)
+ 33        if transformed_class_name[-1:] in ("s", "h"):
+ 34            return f"/{transformed_class_name}es"
+ 35        else:
+ 36            return f"/{transformed_class_name}s"
+ 37
+ 38    def _instance_url(self, class_name: str, id: str) -> str:
+ 39        """Generate an instance URL based on a class name and ID."""
+ 40        return f"{self._class_url(class_name)}/{id}"
+ 41
+ 42    def _create_resource(self, class_name: str, beta: bool = False, **params) -> Any:
+ 43        """Create an EasyPost object via the EasyPost API."""
+ 44        url = self._class_url(class_name)
+ 45        wrapped_params = {self._snakecase_name(class_name): params}
+ 46
+ 47        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params, beta=beta)
+ 48
+ 49        return convert_to_easypost_object(response=response)
+ 50
+ 51    def _all_resources(
+ 52        self,
+ 53        class_name: str,
+ 54        filters: Optional[dict[str, Any]] = None,
+ 55        beta: bool = False,
+ 56        **params,
+ 57    ) -> Any:
+ 58        """Retrieve a list of EasyPostObjects from the EasyPost API."""
+ 59        url = self._class_url(class_name)
+ 60        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params, beta=beta)
+ 61
+ 62        if filters:  # presence of filters indicates we are dealing with a paginated response
+ 63            response[_FILTERS_KEY] = filters  # Save the filters used to reference in potential get_next_page call
+ 64
+ 65        return convert_to_easypost_object(response=response)
+ 66
+ 67    def _retrieve_resource(self, class_name: str, id: str, beta: bool = False) -> Any:
+ 68        """Retrieve an object from the EasyPost API."""
+ 69        url = self._instance_url(class_name, id)
+ 70
+ 71        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, beta=beta)
+ 72
+ 73        return convert_to_easypost_object(response=response)
+ 74
+ 75    def _update_resource(
+ 76        self,
+ 77        class_name: str,
+ 78        id: str,
+ 79        method: RequestMethod = RequestMethod.PATCH,
+ 80        beta: bool = False,
+ 81        **params,
+ 82    ) -> Any:
+ 83        """Update an EasyPost object via the EasyPost API."""
+ 84        url = self._instance_url(class_name, id)
+ 85        wrapped_params = {self._snakecase_name(class_name): params}
+ 86
+ 87        response = Requestor(self._client).request(method=method, url=url, params=wrapped_params, beta=beta)
+ 88
+ 89        return convert_to_easypost_object(response=response)
+ 90
+ 91    def _delete_resource(self, class_name: str, id: str, beta: bool = False) -> Any:
+ 92        """Delete an EasyPost object via the EasyPost API."""
+ 93        url = self._instance_url(class_name, id)
+ 94
+ 95        response = Requestor(self._client).request(method=RequestMethod.DELETE, url=url, beta=beta)
+ 96
+ 97        return convert_to_easypost_object(response=response)
+ 98
+ 99    def _check_has_next_page(self, collection: dict[str, Any]) -> None:
+100        """Raise exception if there is no next page of a collection."""
+101        if not collection.get("has_more", False):
+102            raise EndOfPaginationError(NO_MORE_PAGES_ERROR)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + BaseService(client) + + + +
+ +
23    def __init__(self, client):
+24        self._client = client
+
+ + + + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/base_service.py b/easypost/services/base_service.py deleted file mode 100644 index 7dc643e0..00000000 --- a/easypost/services/base_service.py +++ /dev/null @@ -1,101 +0,0 @@ -import re -from typing import ( - Any, - Optional, -) - -from easypost.constant import ( - _FILTERS_KEY, - NO_MORE_PAGES_ERROR, -) -from easypost.easypost_object import convert_to_easypost_object -from easypost.errors import EndOfPaginationError -from easypost.requestor import ( - RequestMethod, - Requestor, -) - - -class BaseService: - """The base service that all other services inherit containing shared logic.""" - - def __init__(self, client): - self._client = client - - def _snakecase_name(self, class_name: str) -> str: - """Return the class name as snake_case.""" - return re.sub(r"(? str: - """Generate a URL based on class name.""" - transformed_class_name = self._snakecase_name(class_name) - if transformed_class_name[-1:] in ("s", "h"): - return f"/{transformed_class_name}es" - else: - return f"/{transformed_class_name}s" - - def _instance_url(self, class_name: str, id: str) -> str: - """Generate an instance URL based on a class name and ID.""" - return f"{self._class_url(class_name)}/{id}" - - def _create_resource(self, class_name: str, beta: bool = False, **params) -> Any: - """Create an EasyPost object via the EasyPost API.""" - url = self._class_url(class_name) - wrapped_params = {self._snakecase_name(class_name): params} - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params, beta=beta) - - return convert_to_easypost_object(response=response) - - def _all_resources( - self, - class_name: str, - filters: Optional[dict[str, Any]] = None, - beta: bool = False, - **params, - ) -> Any: - """Retrieve a list of EasyPostObjects from the EasyPost API.""" - url = self._class_url(class_name) - response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params, beta=beta) - - if filters: # presence of filters indicates we are dealing with a paginated response - response[_FILTERS_KEY] = filters # Save the filters used to reference in potential get_next_page call - - return convert_to_easypost_object(response=response) - - def _retrieve_resource(self, class_name: str, id: str, beta: bool = False) -> Any: - """Retrieve an object from the EasyPost API.""" - url = self._instance_url(class_name, id) - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url, beta=beta) - - return convert_to_easypost_object(response=response) - - def _update_resource( - self, - class_name: str, - id: str, - method: RequestMethod = RequestMethod.PATCH, - beta: bool = False, - **params, - ) -> Any: - """Update an EasyPost object via the EasyPost API.""" - url = self._instance_url(class_name, id) - wrapped_params = {self._snakecase_name(class_name): params} - - response = Requestor(self._client).request(method=method, url=url, params=wrapped_params, beta=beta) - - return convert_to_easypost_object(response=response) - - def _delete_resource(self, class_name: str, id: str, beta: bool = False) -> Any: - """Delete an EasyPost object via the EasyPost API.""" - url = self._instance_url(class_name, id) - - response = Requestor(self._client).request(method=RequestMethod.DELETE, url=url, beta=beta) - - return convert_to_easypost_object(response=response) - - def _check_has_next_page(self, collection: dict[str, Any]) -> None: - """Raise exception if there is no next page of a collection.""" - if not collection.get("has_more", False): - raise EndOfPaginationError(NO_MORE_PAGES_ERROR) diff --git a/easypost/services/batch_service.html b/easypost/services/batch_service.html new file mode 100644 index 00000000..4ef216f9 --- /dev/null +++ b/easypost/services/batch_service.html @@ -0,0 +1,745 @@ + + + + + + + easypost.services.batch_service API documentation + + + + + + + + + +
+
+

+easypost.services.batch_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.easypost_object import convert_to_easypost_object
+ 7from easypost.models import Batch
+ 8from easypost.requestor import (
+ 9    RequestMethod,
+10    Requestor,
+11)
+12from easypost.services.base_service import BaseService
+13
+14
+15class BatchService(BaseService):
+16    def __init__(self, client):
+17        self._client = client
+18        self._model_class = Batch.__name__
+19
+20    def create(self, **params) -> Batch:
+21        """Create a Batch."""
+22        return self._create_resource(self._model_class, **params)
+23
+24    def all(self, **params) -> dict[str, Any]:
+25        """Retrieve a list of Batches."""
+26        filters = {
+27            "key": "batches",
+28        }
+29
+30        return self._all_resources(self._model_class, filters, **params)
+31
+32    def retrieve(self, id: str) -> Batch:
+33        """Retrieve a Batch."""
+34        return self._retrieve_resource(self._model_class, id)
+35
+36    def buy(self, id: str, **params) -> Batch:
+37        """Buy a Batch."""
+38        url = f"{self._instance_url(self._model_class, id)}/buy"
+39
+40        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+41
+42        return convert_to_easypost_object(response=response)
+43
+44    def label(self, id: str, **params) -> Batch:
+45        """Create a Batch label."""
+46        url = f"{self._instance_url(self._model_class, id)}/label"
+47
+48        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+49
+50        return convert_to_easypost_object(response=response)
+51
+52    def remove_shipments(self, id: str, **params) -> Batch:
+53        """Remove Shipments from a Batch."""
+54        url = f"{self._instance_url(self._model_class, id)}/remove_shipments"
+55
+56        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+57
+58        return convert_to_easypost_object(response=response)
+59
+60    def add_shipments(self, id: str, **params) -> Batch:
+61        """Add Shipments to a Batch."""
+62        url = f"{self._instance_url(self._model_class, id)}/add_shipments"
+63
+64        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+65
+66        return convert_to_easypost_object(response=response)
+67
+68    def create_scan_form(self, id: str, **params) -> Batch:
+69        """Create a ScanForm for a Batch."""
+70        url = f"{self._instance_url(self._model_class, id)}/scan_form"
+71
+72        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+73
+74        return convert_to_easypost_object(response=response)
+75
+76    def get_next_page(
+77        self,
+78        batches: dict[str, Any],
+79        page_size: int,
+80        optional_params: Optional[dict[str, Any]] = None,
+81    ) -> dict[str, Any]:
+82        """
+83        Retrieve the next page of the list Batch response.
+84
+85        NOTE: This function has known issues with retrieving pages in order due to server-side issues.
+86        It is not recommended to be used currently.
+87        """
+88        # API doesn't return batches newest to oldest, so these parameters don't work as expected
+89        self._check_has_next_page(collection=batches)
+90
+91        params = {
+92            "before_id": batches["batches"][-1].id,
+93            "page_size": page_size,
+94        }
+95
+96        if optional_params:
+97            params.update(optional_params)
+98
+99        return self.all(**params)
+
+ + +
+
+ +
+ + class + BatchService(easypost.services.base_service.BaseService): + + + +
+ +
 16class BatchService(BaseService):
+ 17    def __init__(self, client):
+ 18        self._client = client
+ 19        self._model_class = Batch.__name__
+ 20
+ 21    def create(self, **params) -> Batch:
+ 22        """Create a Batch."""
+ 23        return self._create_resource(self._model_class, **params)
+ 24
+ 25    def all(self, **params) -> dict[str, Any]:
+ 26        """Retrieve a list of Batches."""
+ 27        filters = {
+ 28            "key": "batches",
+ 29        }
+ 30
+ 31        return self._all_resources(self._model_class, filters, **params)
+ 32
+ 33    def retrieve(self, id: str) -> Batch:
+ 34        """Retrieve a Batch."""
+ 35        return self._retrieve_resource(self._model_class, id)
+ 36
+ 37    def buy(self, id: str, **params) -> Batch:
+ 38        """Buy a Batch."""
+ 39        url = f"{self._instance_url(self._model_class, id)}/buy"
+ 40
+ 41        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+ 42
+ 43        return convert_to_easypost_object(response=response)
+ 44
+ 45    def label(self, id: str, **params) -> Batch:
+ 46        """Create a Batch label."""
+ 47        url = f"{self._instance_url(self._model_class, id)}/label"
+ 48
+ 49        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+ 50
+ 51        return convert_to_easypost_object(response=response)
+ 52
+ 53    def remove_shipments(self, id: str, **params) -> Batch:
+ 54        """Remove Shipments from a Batch."""
+ 55        url = f"{self._instance_url(self._model_class, id)}/remove_shipments"
+ 56
+ 57        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+ 58
+ 59        return convert_to_easypost_object(response=response)
+ 60
+ 61    def add_shipments(self, id: str, **params) -> Batch:
+ 62        """Add Shipments to a Batch."""
+ 63        url = f"{self._instance_url(self._model_class, id)}/add_shipments"
+ 64
+ 65        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+ 66
+ 67        return convert_to_easypost_object(response=response)
+ 68
+ 69    def create_scan_form(self, id: str, **params) -> Batch:
+ 70        """Create a ScanForm for a Batch."""
+ 71        url = f"{self._instance_url(self._model_class, id)}/scan_form"
+ 72
+ 73        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+ 74
+ 75        return convert_to_easypost_object(response=response)
+ 76
+ 77    def get_next_page(
+ 78        self,
+ 79        batches: dict[str, Any],
+ 80        page_size: int,
+ 81        optional_params: Optional[dict[str, Any]] = None,
+ 82    ) -> dict[str, Any]:
+ 83        """
+ 84        Retrieve the next page of the list Batch response.
+ 85
+ 86        NOTE: This function has known issues with retrieving pages in order due to server-side issues.
+ 87        It is not recommended to be used currently.
+ 88        """
+ 89        # API doesn't return batches newest to oldest, so these parameters don't work as expected
+ 90        self._check_has_next_page(collection=batches)
+ 91
+ 92        params = {
+ 93            "before_id": batches["batches"][-1].id,
+ 94            "page_size": page_size,
+ 95        }
+ 96
+ 97        if optional_params:
+ 98            params.update(optional_params)
+ 99
+100        return self.all(**params)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + BatchService(client) + + + +
+ +
17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = Batch.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.batch.Batch: + + + +
+ +
21    def create(self, **params) -> Batch:
+22        """Create a Batch."""
+23        return self._create_resource(self._model_class, **params)
+
+ + +

Create a Batch.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
25    def all(self, **params) -> dict[str, Any]:
+26        """Retrieve a list of Batches."""
+27        filters = {
+28            "key": "batches",
+29        }
+30
+31        return self._all_resources(self._model_class, filters, **params)
+
+ + +

Retrieve a list of Batches.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.batch.Batch: + + + +
+ +
33    def retrieve(self, id: str) -> Batch:
+34        """Retrieve a Batch."""
+35        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a Batch.

+
+ + +
+
+ +
+ + def + buy(self, id: str, **params) -> easypost.models.batch.Batch: + + + +
+ +
37    def buy(self, id: str, **params) -> Batch:
+38        """Buy a Batch."""
+39        url = f"{self._instance_url(self._model_class, id)}/buy"
+40
+41        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+42
+43        return convert_to_easypost_object(response=response)
+
+ + +

Buy a Batch.

+
+ + +
+
+ +
+ + def + label(self, id: str, **params) -> easypost.models.batch.Batch: + + + +
+ +
45    def label(self, id: str, **params) -> Batch:
+46        """Create a Batch label."""
+47        url = f"{self._instance_url(self._model_class, id)}/label"
+48
+49        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+50
+51        return convert_to_easypost_object(response=response)
+
+ + +

Create a Batch label.

+
+ + +
+
+ +
+ + def + remove_shipments(self, id: str, **params) -> easypost.models.batch.Batch: + + + +
+ +
53    def remove_shipments(self, id: str, **params) -> Batch:
+54        """Remove Shipments from a Batch."""
+55        url = f"{self._instance_url(self._model_class, id)}/remove_shipments"
+56
+57        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+58
+59        return convert_to_easypost_object(response=response)
+
+ + +

Remove Shipments from a Batch.

+
+ + +
+
+ +
+ + def + add_shipments(self, id: str, **params) -> easypost.models.batch.Batch: + + + +
+ +
61    def add_shipments(self, id: str, **params) -> Batch:
+62        """Add Shipments to a Batch."""
+63        url = f"{self._instance_url(self._model_class, id)}/add_shipments"
+64
+65        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+66
+67        return convert_to_easypost_object(response=response)
+
+ + +

Add Shipments to a Batch.

+
+ + +
+
+ +
+ + def + create_scan_form(self, id: str, **params) -> easypost.models.batch.Batch: + + + +
+ +
69    def create_scan_form(self, id: str, **params) -> Batch:
+70        """Create a ScanForm for a Batch."""
+71        url = f"{self._instance_url(self._model_class, id)}/scan_form"
+72
+73        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+74
+75        return convert_to_easypost_object(response=response)
+
+ + +

Create a ScanForm for a Batch.

+
+ + +
+
+ +
+ + def + get_next_page( self, batches: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
 77    def get_next_page(
+ 78        self,
+ 79        batches: dict[str, Any],
+ 80        page_size: int,
+ 81        optional_params: Optional[dict[str, Any]] = None,
+ 82    ) -> dict[str, Any]:
+ 83        """
+ 84        Retrieve the next page of the list Batch response.
+ 85
+ 86        NOTE: This function has known issues with retrieving pages in order due to server-side issues.
+ 87        It is not recommended to be used currently.
+ 88        """
+ 89        # API doesn't return batches newest to oldest, so these parameters don't work as expected
+ 90        self._check_has_next_page(collection=batches)
+ 91
+ 92        params = {
+ 93            "before_id": batches["batches"][-1].id,
+ 94            "page_size": page_size,
+ 95        }
+ 96
+ 97        if optional_params:
+ 98            params.update(optional_params)
+ 99
+100        return self.all(**params)
+
+ + +

Retrieve the next page of the list Batch response.

+ +

NOTE: This function has known issues with retrieving pages in order due to server-side issues. +It is not recommended to be used currently.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/batch_service.py b/easypost/services/batch_service.py deleted file mode 100644 index 4352f617..00000000 --- a/easypost/services/batch_service.py +++ /dev/null @@ -1,99 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import Batch -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class BatchService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Batch.__name__ - - def create(self, **params) -> Batch: - """Create a Batch.""" - return self._create_resource(self._model_class, **params) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Batches.""" - filters = { - "key": "batches", - } - - return self._all_resources(self._model_class, filters, **params) - - def retrieve(self, id: str) -> Batch: - """Retrieve a Batch.""" - return self._retrieve_resource(self._model_class, id) - - def buy(self, id: str, **params) -> Batch: - """Buy a Batch.""" - url = f"{self._instance_url(self._model_class, id)}/buy" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def label(self, id: str, **params) -> Batch: - """Create a Batch label.""" - url = f"{self._instance_url(self._model_class, id)}/label" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def remove_shipments(self, id: str, **params) -> Batch: - """Remove Shipments from a Batch.""" - url = f"{self._instance_url(self._model_class, id)}/remove_shipments" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def add_shipments(self, id: str, **params) -> Batch: - """Add Shipments to a Batch.""" - url = f"{self._instance_url(self._model_class, id)}/add_shipments" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def create_scan_form(self, id: str, **params) -> Batch: - """Create a ScanForm for a Batch.""" - url = f"{self._instance_url(self._model_class, id)}/scan_form" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def get_next_page( - self, - batches: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """ - Retrieve the next page of the list Batch response. - - NOTE: This function has known issues with retrieving pages in order due to server-side issues. - It is not recommended to be used currently. - """ - # API doesn't return batches newest to oldest, so these parameters don't work as expected - self._check_has_next_page(collection=batches) - - params = { - "before_id": batches["batches"][-1].id, - "page_size": page_size, - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) diff --git a/easypost/services/beta_rate_service.html b/easypost/services/beta_rate_service.html new file mode 100644 index 00000000..d3913c3f --- /dev/null +++ b/easypost/services/beta_rate_service.html @@ -0,0 +1,372 @@ + + + + + + + easypost.services.beta_rate_service API documentation + + + + + + + + + +
+
+

+easypost.services.beta_rate_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3)
+ 4
+ 5from easypost.easypost_object import convert_to_easypost_object
+ 6from easypost.models import Rate
+ 7from easypost.requestor import (
+ 8    RequestMethod,
+ 9    Requestor,
+10)
+11from easypost.services.base_service import BaseService
+12
+13
+14class BetaRateService(BaseService):
+15    def __init__(self, client):
+16        self._client = client
+17        self._model_class = Rate.__name__
+18
+19    def retrieve_stateless_rates(self, **params) -> dict[str, Any]:
+20        """Retrieves stateless rates by passing shipment data."""
+21        url = self._class_url(self._model_class)
+22        wrapped_params = {"shipment": params}
+23
+24        response = Requestor(self._client).request(
+25            method=RequestMethod.POST,
+26            url=url,
+27            params=wrapped_params,
+28            beta=True,
+29        )
+30
+31        return convert_to_easypost_object(response=response.get("rates", None))
+
+ + +
+
+ +
+ + class + BetaRateService(easypost.services.base_service.BaseService): + + + +
+ +
15class BetaRateService(BaseService):
+16    def __init__(self, client):
+17        self._client = client
+18        self._model_class = Rate.__name__
+19
+20    def retrieve_stateless_rates(self, **params) -> dict[str, Any]:
+21        """Retrieves stateless rates by passing shipment data."""
+22        url = self._class_url(self._model_class)
+23        wrapped_params = {"shipment": params}
+24
+25        response = Requestor(self._client).request(
+26            method=RequestMethod.POST,
+27            url=url,
+28            params=wrapped_params,
+29            beta=True,
+30        )
+31
+32        return convert_to_easypost_object(response=response.get("rates", None))
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + BetaRateService(client) + + + +
+ +
16    def __init__(self, client):
+17        self._client = client
+18        self._model_class = Rate.__name__
+
+ + + + +
+
+ +
+ + def + retrieve_stateless_rates(self, **params) -> dict[str, typing.Any]: + + + +
+ +
20    def retrieve_stateless_rates(self, **params) -> dict[str, Any]:
+21        """Retrieves stateless rates by passing shipment data."""
+22        url = self._class_url(self._model_class)
+23        wrapped_params = {"shipment": params}
+24
+25        response = Requestor(self._client).request(
+26            method=RequestMethod.POST,
+27            url=url,
+28            params=wrapped_params,
+29            beta=True,
+30        )
+31
+32        return convert_to_easypost_object(response=response.get("rates", None))
+
+ + +

Retrieves stateless rates by passing shipment data.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/beta_rate_service.py b/easypost/services/beta_rate_service.py deleted file mode 100644 index 82e05356..00000000 --- a/easypost/services/beta_rate_service.py +++ /dev/null @@ -1,31 +0,0 @@ -from typing import ( - Any, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import Rate -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class BetaRateService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Rate.__name__ - - def retrieve_stateless_rates(self, **params) -> dict[str, Any]: - """Retrieves stateless rates by passing shipment data.""" - url = self._class_url(self._model_class) - wrapped_params = {"shipment": params} - - response = Requestor(self._client).request( - method=RequestMethod.POST, - url=url, - params=wrapped_params, - beta=True, - ) - - return convert_to_easypost_object(response=response.get("rates", None)) diff --git a/easypost/services/beta_referral_customer_service.html b/easypost/services/beta_referral_customer_service.html new file mode 100644 index 00000000..c53a91c3 --- /dev/null +++ b/easypost/services/beta_referral_customer_service.html @@ -0,0 +1,635 @@ + + + + + + + easypost.services.beta_referral_customer_service API documentation + + + + + + + + + +
+
+

+easypost.services.beta_referral_customer_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.easypost_object import convert_to_easypost_object
+ 7from easypost.requestor import (
+ 8    RequestMethod,
+ 9    Requestor,
+10)
+11from easypost.services.base_service import BaseService
+12
+13
+14class BetaReferralCustomerService(BaseService):
+15    def add_payment_method(
+16        self,
+17        stripe_customer_id: str,
+18        payment_method_reference: str,
+19        priority: str = "primary",
+20    ) -> dict[str, Any]:
+21        """Add a Stripe payment method to your EasyPost account.
+22
+23        This endpoint uses a user's personal Stripe account. The `stripe_customer_id`
+24        and `payment_method_reference` IDs both come from Stripe. By adding these to
+25        EasyPost, we will associate your Stripe payment method with either your primary
+26        or secondary EasyPost payment method.
+27        """
+28        params = {
+29            "payment_method": {
+30                "stripe_customer_id": stripe_customer_id,
+31                "payment_method_reference": payment_method_reference,
+32                "priority": priority,
+33            }
+34        }
+35
+36        response = Requestor(self._client).request(
+37            method=RequestMethod.POST,
+38            url="/referral_customers/payment_method",
+39            params=params,
+40            beta=True,
+41        )
+42
+43        return convert_to_easypost_object(response=response)
+44
+45    def refund_by_amount(self, refund_amount: int) -> dict[str, Any]:
+46        """Refund a ReferralCustomer wallet by specifying an amount."""
+47        params = {"refund_amount": refund_amount}
+48
+49        response = Requestor(self._client).request(
+50            method=RequestMethod.POST,
+51            url="/referral_customers/refunds",
+52            params=params,
+53            beta=True,
+54        )
+55
+56        return convert_to_easypost_object(response=response)
+57
+58    def refund_by_payment_log(self, payment_log_id: str) -> dict[str, Any]:
+59        """Refund a ReferralCustomer wallet by specifying a payment log ID to completely refund."""
+60        params = {"payment_log_id": payment_log_id}
+61
+62        response = Requestor(self._client).request(
+63            method=RequestMethod.POST,
+64            url="/referral_customers/refunds",
+65            params=params,
+66            beta=True,
+67        )
+68
+69        return convert_to_easypost_object(response=response)
+70
+71    def create_credit_card_client_secret(self) -> dict[str, Any]:
+72        """Creates a client secret to use with Stripe when adding a credit card."""
+73        response = Requestor(self._client).request(
+74            method=RequestMethod.POST,
+75            url="/setup_intents",
+76            beta=True,
+77        )
+78
+79        return convert_to_easypost_object(response=response)
+80
+81    def create_bank_account_client_secret(self, return_url: Optional[str] = None) -> dict[str, Any]:
+82        """Creates a client secret to use with Stripe when adding a bank account."""
+83        params = {"return_url": return_url}
+84
+85        response = Requestor(self._client).request(
+86            method=RequestMethod.POST,
+87            url="/financial_connections_sessions",
+88            params=params if return_url else None,
+89            beta=True,
+90        )
+91
+92        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + BetaReferralCustomerService(easypost.services.base_service.BaseService): + + + +
+ +
15class BetaReferralCustomerService(BaseService):
+16    def add_payment_method(
+17        self,
+18        stripe_customer_id: str,
+19        payment_method_reference: str,
+20        priority: str = "primary",
+21    ) -> dict[str, Any]:
+22        """Add a Stripe payment method to your EasyPost account.
+23
+24        This endpoint uses a user's personal Stripe account. The `stripe_customer_id`
+25        and `payment_method_reference` IDs both come from Stripe. By adding these to
+26        EasyPost, we will associate your Stripe payment method with either your primary
+27        or secondary EasyPost payment method.
+28        """
+29        params = {
+30            "payment_method": {
+31                "stripe_customer_id": stripe_customer_id,
+32                "payment_method_reference": payment_method_reference,
+33                "priority": priority,
+34            }
+35        }
+36
+37        response = Requestor(self._client).request(
+38            method=RequestMethod.POST,
+39            url="/referral_customers/payment_method",
+40            params=params,
+41            beta=True,
+42        )
+43
+44        return convert_to_easypost_object(response=response)
+45
+46    def refund_by_amount(self, refund_amount: int) -> dict[str, Any]:
+47        """Refund a ReferralCustomer wallet by specifying an amount."""
+48        params = {"refund_amount": refund_amount}
+49
+50        response = Requestor(self._client).request(
+51            method=RequestMethod.POST,
+52            url="/referral_customers/refunds",
+53            params=params,
+54            beta=True,
+55        )
+56
+57        return convert_to_easypost_object(response=response)
+58
+59    def refund_by_payment_log(self, payment_log_id: str) -> dict[str, Any]:
+60        """Refund a ReferralCustomer wallet by specifying a payment log ID to completely refund."""
+61        params = {"payment_log_id": payment_log_id}
+62
+63        response = Requestor(self._client).request(
+64            method=RequestMethod.POST,
+65            url="/referral_customers/refunds",
+66            params=params,
+67            beta=True,
+68        )
+69
+70        return convert_to_easypost_object(response=response)
+71
+72    def create_credit_card_client_secret(self) -> dict[str, Any]:
+73        """Creates a client secret to use with Stripe when adding a credit card."""
+74        response = Requestor(self._client).request(
+75            method=RequestMethod.POST,
+76            url="/setup_intents",
+77            beta=True,
+78        )
+79
+80        return convert_to_easypost_object(response=response)
+81
+82    def create_bank_account_client_secret(self, return_url: Optional[str] = None) -> dict[str, Any]:
+83        """Creates a client secret to use with Stripe when adding a bank account."""
+84        params = {"return_url": return_url}
+85
+86        response = Requestor(self._client).request(
+87            method=RequestMethod.POST,
+88            url="/financial_connections_sessions",
+89            params=params if return_url else None,
+90            beta=True,
+91        )
+92
+93        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + def + add_payment_method( self, stripe_customer_id: str, payment_method_reference: str, priority: str = 'primary') -> dict[str, typing.Any]: + + + +
+ +
16    def add_payment_method(
+17        self,
+18        stripe_customer_id: str,
+19        payment_method_reference: str,
+20        priority: str = "primary",
+21    ) -> dict[str, Any]:
+22        """Add a Stripe payment method to your EasyPost account.
+23
+24        This endpoint uses a user's personal Stripe account. The `stripe_customer_id`
+25        and `payment_method_reference` IDs both come from Stripe. By adding these to
+26        EasyPost, we will associate your Stripe payment method with either your primary
+27        or secondary EasyPost payment method.
+28        """
+29        params = {
+30            "payment_method": {
+31                "stripe_customer_id": stripe_customer_id,
+32                "payment_method_reference": payment_method_reference,
+33                "priority": priority,
+34            }
+35        }
+36
+37        response = Requestor(self._client).request(
+38            method=RequestMethod.POST,
+39            url="/referral_customers/payment_method",
+40            params=params,
+41            beta=True,
+42        )
+43
+44        return convert_to_easypost_object(response=response)
+
+ + +

Add a Stripe payment method to your EasyPost account.

+ +

This endpoint uses a user's personal Stripe account. The stripe_customer_id +and payment_method_reference IDs both come from Stripe. By adding these to +EasyPost, we will associate your Stripe payment method with either your primary +or secondary EasyPost payment method.

+
+ + +
+
+ +
+ + def + refund_by_amount(self, refund_amount: int) -> dict[str, typing.Any]: + + + +
+ +
46    def refund_by_amount(self, refund_amount: int) -> dict[str, Any]:
+47        """Refund a ReferralCustomer wallet by specifying an amount."""
+48        params = {"refund_amount": refund_amount}
+49
+50        response = Requestor(self._client).request(
+51            method=RequestMethod.POST,
+52            url="/referral_customers/refunds",
+53            params=params,
+54            beta=True,
+55        )
+56
+57        return convert_to_easypost_object(response=response)
+
+ + +

Refund a ReferralCustomer wallet by specifying an amount.

+
+ + +
+
+ +
+ + def + refund_by_payment_log(self, payment_log_id: str) -> dict[str, typing.Any]: + + + +
+ +
59    def refund_by_payment_log(self, payment_log_id: str) -> dict[str, Any]:
+60        """Refund a ReferralCustomer wallet by specifying a payment log ID to completely refund."""
+61        params = {"payment_log_id": payment_log_id}
+62
+63        response = Requestor(self._client).request(
+64            method=RequestMethod.POST,
+65            url="/referral_customers/refunds",
+66            params=params,
+67            beta=True,
+68        )
+69
+70        return convert_to_easypost_object(response=response)
+
+ + +

Refund a ReferralCustomer wallet by specifying a payment log ID to completely refund.

+
+ + +
+
+ +
+ + def + create_credit_card_client_secret(self) -> dict[str, typing.Any]: + + + +
+ +
72    def create_credit_card_client_secret(self) -> dict[str, Any]:
+73        """Creates a client secret to use with Stripe when adding a credit card."""
+74        response = Requestor(self._client).request(
+75            method=RequestMethod.POST,
+76            url="/setup_intents",
+77            beta=True,
+78        )
+79
+80        return convert_to_easypost_object(response=response)
+
+ + +

Creates a client secret to use with Stripe when adding a credit card.

+
+ + +
+
+ +
+ + def + create_bank_account_client_secret(self, return_url: str | None = None) -> dict[str, typing.Any]: + + + +
+ +
82    def create_bank_account_client_secret(self, return_url: Optional[str] = None) -> dict[str, Any]:
+83        """Creates a client secret to use with Stripe when adding a bank account."""
+84        params = {"return_url": return_url}
+85
+86        response = Requestor(self._client).request(
+87            method=RequestMethod.POST,
+88            url="/financial_connections_sessions",
+89            params=params if return_url else None,
+90            beta=True,
+91        )
+92
+93        return convert_to_easypost_object(response=response)
+
+ + +

Creates a client secret to use with Stripe when adding a bank account.

+
+ + +
+
+
Inherited Members
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/easypost/services/beta_referral_customer_service.py b/easypost/services/beta_referral_customer_service.py deleted file mode 100644 index d13843b8..00000000 --- a/easypost/services/beta_referral_customer_service.py +++ /dev/null @@ -1,92 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class BetaReferralCustomerService(BaseService): - def add_payment_method( - self, - stripe_customer_id: str, - payment_method_reference: str, - priority: str = "primary", - ) -> dict[str, Any]: - """Add a Stripe payment method to your EasyPost account. - - This endpoint uses a user's personal Stripe account. The `stripe_customer_id` - and `payment_method_reference` IDs both come from Stripe. By adding these to - EasyPost, we will associate your Stripe payment method with either your primary - or secondary EasyPost payment method. - """ - params = { - "payment_method": { - "stripe_customer_id": stripe_customer_id, - "payment_method_reference": payment_method_reference, - "priority": priority, - } - } - - response = Requestor(self._client).request( - method=RequestMethod.POST, - url="/referral_customers/payment_method", - params=params, - beta=True, - ) - - return convert_to_easypost_object(response=response) - - def refund_by_amount(self, refund_amount: int) -> dict[str, Any]: - """Refund a ReferralCustomer wallet by specifying an amount.""" - params = {"refund_amount": refund_amount} - - response = Requestor(self._client).request( - method=RequestMethod.POST, - url="/referral_customers/refunds", - params=params, - beta=True, - ) - - return convert_to_easypost_object(response=response) - - def refund_by_payment_log(self, payment_log_id: str) -> dict[str, Any]: - """Refund a ReferralCustomer wallet by specifying a payment log ID to completely refund.""" - params = {"payment_log_id": payment_log_id} - - response = Requestor(self._client).request( - method=RequestMethod.POST, - url="/referral_customers/refunds", - params=params, - beta=True, - ) - - return convert_to_easypost_object(response=response) - - def create_credit_card_client_secret(self) -> dict[str, Any]: - """Creates a client secret to use with Stripe when adding a credit card.""" - response = Requestor(self._client).request( - method=RequestMethod.POST, - url="/setup_intents", - beta=True, - ) - - return convert_to_easypost_object(response=response) - - def create_bank_account_client_secret(self, return_url: Optional[str] = None) -> dict[str, Any]: - """Creates a client secret to use with Stripe when adding a bank account.""" - params = {"return_url": return_url} - - response = Requestor(self._client).request( - method=RequestMethod.POST, - url="/financial_connections_sessions", - params=params if return_url else None, - beta=True, - ) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/billing_service.html b/easypost/services/billing_service.html new file mode 100644 index 00000000..fbbf66e3 --- /dev/null +++ b/easypost/services/billing_service.html @@ -0,0 +1,517 @@ + + + + + + + easypost.services.billing_service API documentation + + + + + + + + + +
+
+

+easypost.services.billing_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3)
+ 4
+ 5from easypost.constant import (
+ 6    INVALID_PAYMENT_METHOD_ERROR,
+ 7    NO_BILLING_ERROR,
+ 8)
+ 9from easypost.easypost_object import convert_to_easypost_object
+10from easypost.errors import InvalidObjectError
+11from easypost.models import Billing
+12from easypost.requestor import (
+13    RequestMethod,
+14    Requestor,
+15)
+16from easypost.services.base_service import BaseService
+17
+18
+19class BillingService(BaseService):
+20    def __init__(self, client):
+21        self._client = client
+22        self._model_class = Billing.__name__
+23
+24    def fund_wallet(self, amount: str, priority: str = "primary") -> None:
+25        """Fund your EasyPost wallet by charging your primary or secondary payment method on file."""
+26        endpoint, payment_method_id = self._get_payment_method_info(priority=priority)
+27
+28        url = f"{endpoint}/{payment_method_id}/charges"
+29        wrapped_params = {"amount": amount}
+30
+31        Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+32
+33    def delete_payment_method(self, priority: str) -> None:
+34        """Delete a payment method."""
+35        endpoint, payment_method_id = self._get_payment_method_info(priority=priority)
+36
+37        url = f"{endpoint}/{payment_method_id}"
+38
+39        Requestor(self._client).request(method=RequestMethod.DELETE, url=url)
+40
+41    def retrieve_payment_methods(self, **params) -> dict[str, Any]:
+42        """Retrieve payment methods."""
+43        response = Requestor(self._client).request(
+44            method=RequestMethod.GET,
+45            url="/payment_methods",
+46            params=params,
+47        )
+48
+49        if response.get("id") is None:
+50            raise InvalidObjectError(message=NO_BILLING_ERROR)
+51
+52        return convert_to_easypost_object(response=response)
+53
+54    def _get_payment_method_info(self, priority: str = "primary") -> list[str]:
+55        """Get payment method info (type of the payment method and ID of the payment method)"""
+56        payment_methods = self.retrieve_payment_methods()
+57
+58        payment_method_map = {
+59            "primary": "primary_payment_method",
+60            "secondary": "secondary_payment_method",
+61        }
+62
+63        payment_method_to_use = payment_method_map.get(priority)
+64
+65        if payment_method_to_use and payment_methods[payment_method_to_use]:
+66            payment_method_id = payment_methods[payment_method_to_use]["id"]
+67            payment_method_object_type = payment_methods[payment_method_to_use].get("object", None)
+68            if payment_method_object_type == "CreditCard":
+69                endpoint = "/credit_cards"
+70            elif payment_method_object_type == "BankAccount":
+71                endpoint = "/bank_accounts"
+72            else:
+73                raise InvalidObjectError(message=INVALID_PAYMENT_METHOD_ERROR)
+74        else:
+75            raise InvalidObjectError(message=INVALID_PAYMENT_METHOD_ERROR)
+76
+77        return [endpoint, payment_method_id]
+
+ + +
+
+ +
+ + class + BillingService(easypost.services.base_service.BaseService): + + + +
+ +
20class BillingService(BaseService):
+21    def __init__(self, client):
+22        self._client = client
+23        self._model_class = Billing.__name__
+24
+25    def fund_wallet(self, amount: str, priority: str = "primary") -> None:
+26        """Fund your EasyPost wallet by charging your primary or secondary payment method on file."""
+27        endpoint, payment_method_id = self._get_payment_method_info(priority=priority)
+28
+29        url = f"{endpoint}/{payment_method_id}/charges"
+30        wrapped_params = {"amount": amount}
+31
+32        Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+33
+34    def delete_payment_method(self, priority: str) -> None:
+35        """Delete a payment method."""
+36        endpoint, payment_method_id = self._get_payment_method_info(priority=priority)
+37
+38        url = f"{endpoint}/{payment_method_id}"
+39
+40        Requestor(self._client).request(method=RequestMethod.DELETE, url=url)
+41
+42    def retrieve_payment_methods(self, **params) -> dict[str, Any]:
+43        """Retrieve payment methods."""
+44        response = Requestor(self._client).request(
+45            method=RequestMethod.GET,
+46            url="/payment_methods",
+47            params=params,
+48        )
+49
+50        if response.get("id") is None:
+51            raise InvalidObjectError(message=NO_BILLING_ERROR)
+52
+53        return convert_to_easypost_object(response=response)
+54
+55    def _get_payment_method_info(self, priority: str = "primary") -> list[str]:
+56        """Get payment method info (type of the payment method and ID of the payment method)"""
+57        payment_methods = self.retrieve_payment_methods()
+58
+59        payment_method_map = {
+60            "primary": "primary_payment_method",
+61            "secondary": "secondary_payment_method",
+62        }
+63
+64        payment_method_to_use = payment_method_map.get(priority)
+65
+66        if payment_method_to_use and payment_methods[payment_method_to_use]:
+67            payment_method_id = payment_methods[payment_method_to_use]["id"]
+68            payment_method_object_type = payment_methods[payment_method_to_use].get("object", None)
+69            if payment_method_object_type == "CreditCard":
+70                endpoint = "/credit_cards"
+71            elif payment_method_object_type == "BankAccount":
+72                endpoint = "/bank_accounts"
+73            else:
+74                raise InvalidObjectError(message=INVALID_PAYMENT_METHOD_ERROR)
+75        else:
+76            raise InvalidObjectError(message=INVALID_PAYMENT_METHOD_ERROR)
+77
+78        return [endpoint, payment_method_id]
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + BillingService(client) + + + +
+ +
21    def __init__(self, client):
+22        self._client = client
+23        self._model_class = Billing.__name__
+
+ + + + +
+
+ +
+ + def + fund_wallet(self, amount: str, priority: str = 'primary') -> None: + + + +
+ +
25    def fund_wallet(self, amount: str, priority: str = "primary") -> None:
+26        """Fund your EasyPost wallet by charging your primary or secondary payment method on file."""
+27        endpoint, payment_method_id = self._get_payment_method_info(priority=priority)
+28
+29        url = f"{endpoint}/{payment_method_id}/charges"
+30        wrapped_params = {"amount": amount}
+31
+32        Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+
+ + +

Fund your EasyPost wallet by charging your primary or secondary payment method on file.

+
+ + +
+
+ +
+ + def + delete_payment_method(self, priority: str) -> None: + + + +
+ +
34    def delete_payment_method(self, priority: str) -> None:
+35        """Delete a payment method."""
+36        endpoint, payment_method_id = self._get_payment_method_info(priority=priority)
+37
+38        url = f"{endpoint}/{payment_method_id}"
+39
+40        Requestor(self._client).request(method=RequestMethod.DELETE, url=url)
+
+ + +

Delete a payment method.

+
+ + +
+
+ +
+ + def + retrieve_payment_methods(self, **params) -> dict[str, typing.Any]: + + + +
+ +
42    def retrieve_payment_methods(self, **params) -> dict[str, Any]:
+43        """Retrieve payment methods."""
+44        response = Requestor(self._client).request(
+45            method=RequestMethod.GET,
+46            url="/payment_methods",
+47            params=params,
+48        )
+49
+50        if response.get("id") is None:
+51            raise InvalidObjectError(message=NO_BILLING_ERROR)
+52
+53        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve payment methods.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/billing_service.py b/easypost/services/billing_service.py deleted file mode 100644 index 7d80d994..00000000 --- a/easypost/services/billing_service.py +++ /dev/null @@ -1,77 +0,0 @@ -from typing import ( - Any, -) - -from easypost.constant import ( - INVALID_PAYMENT_METHOD_ERROR, - NO_BILLING_ERROR, -) -from easypost.easypost_object import convert_to_easypost_object -from easypost.errors import InvalidObjectError -from easypost.models import Billing -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class BillingService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Billing.__name__ - - def fund_wallet(self, amount: str, priority: str = "primary") -> None: - """Fund your EasyPost wallet by charging your primary or secondary payment method on file.""" - endpoint, payment_method_id = self._get_payment_method_info(priority=priority) - - url = f"{endpoint}/{payment_method_id}/charges" - wrapped_params = {"amount": amount} - - Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - def delete_payment_method(self, priority: str) -> None: - """Delete a payment method.""" - endpoint, payment_method_id = self._get_payment_method_info(priority=priority) - - url = f"{endpoint}/{payment_method_id}" - - Requestor(self._client).request(method=RequestMethod.DELETE, url=url) - - def retrieve_payment_methods(self, **params) -> dict[str, Any]: - """Retrieve payment methods.""" - response = Requestor(self._client).request( - method=RequestMethod.GET, - url="/payment_methods", - params=params, - ) - - if response.get("id") is None: - raise InvalidObjectError(message=NO_BILLING_ERROR) - - return convert_to_easypost_object(response=response) - - def _get_payment_method_info(self, priority: str = "primary") -> list[str]: - """Get payment method info (type of the payment method and ID of the payment method)""" - payment_methods = self.retrieve_payment_methods() - - payment_method_map = { - "primary": "primary_payment_method", - "secondary": "secondary_payment_method", - } - - payment_method_to_use = payment_method_map.get(priority) - - if payment_method_to_use and payment_methods[payment_method_to_use]: - payment_method_id = payment_methods[payment_method_to_use]["id"] - payment_method_object_type = payment_methods[payment_method_to_use].get("object", None) - if payment_method_object_type == "CreditCard": - endpoint = "/credit_cards" - elif payment_method_object_type == "BankAccount": - endpoint = "/bank_accounts" - else: - raise InvalidObjectError(message=INVALID_PAYMENT_METHOD_ERROR) - else: - raise InvalidObjectError(message=INVALID_PAYMENT_METHOD_ERROR) - - return [endpoint, payment_method_id] diff --git a/easypost/services/carrier_account_service.html b/easypost/services/carrier_account_service.html new file mode 100644 index 00000000..80032b82 --- /dev/null +++ b/easypost/services/carrier_account_service.html @@ -0,0 +1,574 @@ + + + + + + + easypost.services.carrier_account_service API documentation + + + + + + + + + +
+
+

+easypost.services.carrier_account_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.constant import (
+ 7    _CARRIER_ACCOUNT_CREATE_ENDPOINT_TYPES,
+ 8    MISSING_PARAMETER_ERROR,
+ 9)
+10from easypost.easypost_object import convert_to_easypost_object
+11from easypost.errors import MissingParameterError
+12from easypost.models import CarrierAccount
+13from easypost.requestor import (
+14    RequestMethod,
+15    Requestor,
+16)
+17from easypost.services.base_service import BaseService
+18
+19
+20class CarrierAccountService(BaseService):
+21    def __init__(self, client):
+22        self._client = client
+23        self._model_class = CarrierAccount.__name__
+24
+25    def create(self, **params) -> CarrierAccount:
+26        """Create a CarrierAccount."""
+27        carrier_account_type = params.get("type")
+28
+29        if carrier_account_type is None:
+30            raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type"))
+31
+32        url = self._select_carrier_account_creation_endpoint(carrier_account_type=carrier_account_type)
+33        if url == "/carrier_accounts/register_oauth":
+34            wrapped_params = {"carrier_account_oauth_registrations": params}
+35        else:
+36            wrapped_params = {self._snakecase_name(self._model_class): params}
+37
+38        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+39
+40        return convert_to_easypost_object(response=response)
+41
+42    def all(self, **params) -> list[dict[str, Any]]:
+43        """Retrieve a list of CarrierAccounts."""
+44        return self._all_resources(self._model_class, **params)
+45
+46    def retrieve(self, id: str) -> CarrierAccount:
+47        """Retrieve a CarrierAccount."""
+48        return self._retrieve_resource(self._model_class, id)
+49
+50    def update(self, id: str, **params) -> CarrierAccount:
+51        """Update a CarrierAccount."""
+52        return self._update_resource(self._model_class, id, **params)
+53
+54    def delete(self, id: str) -> None:
+55        """Delete a CarrierAccount."""
+56        self._delete_resource(self._model_class, id)
+57
+58    def types(self) -> list[dict[str, Any]]:
+59        """Get the types of CarrierAccounts available to the User."""
+60        response = Requestor(self._client).request(method=RequestMethod.GET, url="/carrier_types")
+61
+62        return convert_to_easypost_object(response=response)
+63
+64    def _select_carrier_account_creation_endpoint(self, carrier_account_type: Optional[Any]) -> str:
+65        """Determines which API endpoint to use for the creation call."""
+66        for endpoint, carrier_account_types in _CARRIER_ACCOUNT_CREATE_ENDPOINT_TYPES.items():
+67            if carrier_account_type in carrier_account_types:
+68                return endpoint
+69
+70        return "/carrier_accounts"
+
+ + +
+
+ +
+ + class + CarrierAccountService(easypost.services.base_service.BaseService): + + + +
+ +
21class CarrierAccountService(BaseService):
+22    def __init__(self, client):
+23        self._client = client
+24        self._model_class = CarrierAccount.__name__
+25
+26    def create(self, **params) -> CarrierAccount:
+27        """Create a CarrierAccount."""
+28        carrier_account_type = params.get("type")
+29
+30        if carrier_account_type is None:
+31            raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type"))
+32
+33        url = self._select_carrier_account_creation_endpoint(carrier_account_type=carrier_account_type)
+34        if url == "/carrier_accounts/register_oauth":
+35            wrapped_params = {"carrier_account_oauth_registrations": params}
+36        else:
+37            wrapped_params = {self._snakecase_name(self._model_class): params}
+38
+39        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+40
+41        return convert_to_easypost_object(response=response)
+42
+43    def all(self, **params) -> list[dict[str, Any]]:
+44        """Retrieve a list of CarrierAccounts."""
+45        return self._all_resources(self._model_class, **params)
+46
+47    def retrieve(self, id: str) -> CarrierAccount:
+48        """Retrieve a CarrierAccount."""
+49        return self._retrieve_resource(self._model_class, id)
+50
+51    def update(self, id: str, **params) -> CarrierAccount:
+52        """Update a CarrierAccount."""
+53        return self._update_resource(self._model_class, id, **params)
+54
+55    def delete(self, id: str) -> None:
+56        """Delete a CarrierAccount."""
+57        self._delete_resource(self._model_class, id)
+58
+59    def types(self) -> list[dict[str, Any]]:
+60        """Get the types of CarrierAccounts available to the User."""
+61        response = Requestor(self._client).request(method=RequestMethod.GET, url="/carrier_types")
+62
+63        return convert_to_easypost_object(response=response)
+64
+65    def _select_carrier_account_creation_endpoint(self, carrier_account_type: Optional[Any]) -> str:
+66        """Determines which API endpoint to use for the creation call."""
+67        for endpoint, carrier_account_types in _CARRIER_ACCOUNT_CREATE_ENDPOINT_TYPES.items():
+68            if carrier_account_type in carrier_account_types:
+69                return endpoint
+70
+71        return "/carrier_accounts"
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + CarrierAccountService(client) + + + +
+ +
22    def __init__(self, client):
+23        self._client = client
+24        self._model_class = CarrierAccount.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.carrier_account.CarrierAccount: + + + +
+ +
26    def create(self, **params) -> CarrierAccount:
+27        """Create a CarrierAccount."""
+28        carrier_account_type = params.get("type")
+29
+30        if carrier_account_type is None:
+31            raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type"))
+32
+33        url = self._select_carrier_account_creation_endpoint(carrier_account_type=carrier_account_type)
+34        if url == "/carrier_accounts/register_oauth":
+35            wrapped_params = {"carrier_account_oauth_registrations": params}
+36        else:
+37            wrapped_params = {self._snakecase_name(self._model_class): params}
+38
+39        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+40
+41        return convert_to_easypost_object(response=response)
+
+ + +

Create a CarrierAccount.

+
+ + +
+
+ +
+ + def + all(self, **params) -> list[dict[str, typing.Any]]: + + + +
+ +
43    def all(self, **params) -> list[dict[str, Any]]:
+44        """Retrieve a list of CarrierAccounts."""
+45        return self._all_resources(self._model_class, **params)
+
+ + +

Retrieve a list of CarrierAccounts.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.carrier_account.CarrierAccount: + + + +
+ +
47    def retrieve(self, id: str) -> CarrierAccount:
+48        """Retrieve a CarrierAccount."""
+49        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a CarrierAccount.

+
+ + +
+
+ +
+ + def + update( self, id: str, **params) -> easypost.models.carrier_account.CarrierAccount: + + + +
+ +
51    def update(self, id: str, **params) -> CarrierAccount:
+52        """Update a CarrierAccount."""
+53        return self._update_resource(self._model_class, id, **params)
+
+ + +

Update a CarrierAccount.

+
+ + +
+
+ +
+ + def + delete(self, id: str) -> None: + + + +
+ +
55    def delete(self, id: str) -> None:
+56        """Delete a CarrierAccount."""
+57        self._delete_resource(self._model_class, id)
+
+ + +

Delete a CarrierAccount.

+
+ + +
+
+ +
+ + def + types(self) -> list[dict[str, typing.Any]]: + + + +
+ +
59    def types(self) -> list[dict[str, Any]]:
+60        """Get the types of CarrierAccounts available to the User."""
+61        response = Requestor(self._client).request(method=RequestMethod.GET, url="/carrier_types")
+62
+63        return convert_to_easypost_object(response=response)
+
+ + +

Get the types of CarrierAccounts available to the User.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/carrier_account_service.py b/easypost/services/carrier_account_service.py deleted file mode 100644 index 9f5d9e1f..00000000 --- a/easypost/services/carrier_account_service.py +++ /dev/null @@ -1,70 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.constant import ( - _CARRIER_ACCOUNT_CREATE_ENDPOINT_TYPES, - MISSING_PARAMETER_ERROR, -) -from easypost.easypost_object import convert_to_easypost_object -from easypost.errors import MissingParameterError -from easypost.models import CarrierAccount -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class CarrierAccountService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = CarrierAccount.__name__ - - def create(self, **params) -> CarrierAccount: - """Create a CarrierAccount.""" - carrier_account_type = params.get("type") - - if carrier_account_type is None: - raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type")) - - url = self._select_carrier_account_creation_endpoint(carrier_account_type=carrier_account_type) - if url == "/carrier_accounts/register_oauth": - wrapped_params = {"carrier_account_oauth_registrations": params} - else: - wrapped_params = {self._snakecase_name(self._model_class): params} - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) - - def all(self, **params) -> list[dict[str, Any]]: - """Retrieve a list of CarrierAccounts.""" - return self._all_resources(self._model_class, **params) - - def retrieve(self, id: str) -> CarrierAccount: - """Retrieve a CarrierAccount.""" - return self._retrieve_resource(self._model_class, id) - - def update(self, id: str, **params) -> CarrierAccount: - """Update a CarrierAccount.""" - return self._update_resource(self._model_class, id, **params) - - def delete(self, id: str) -> None: - """Delete a CarrierAccount.""" - self._delete_resource(self._model_class, id) - - def types(self) -> list[dict[str, Any]]: - """Get the types of CarrierAccounts available to the User.""" - response = Requestor(self._client).request(method=RequestMethod.GET, url="/carrier_types") - - return convert_to_easypost_object(response=response) - - def _select_carrier_account_creation_endpoint(self, carrier_account_type: Optional[Any]) -> str: - """Determines which API endpoint to use for the creation call.""" - for endpoint, carrier_account_types in _CARRIER_ACCOUNT_CREATE_ENDPOINT_TYPES.items(): - if carrier_account_type in carrier_account_types: - return endpoint - - return "/carrier_accounts" diff --git a/easypost/services/carrier_metadata_service.html b/easypost/services/carrier_metadata_service.html new file mode 100644 index 00000000..bea022f2 --- /dev/null +++ b/easypost/services/carrier_metadata_service.html @@ -0,0 +1,384 @@ + + + + + + + easypost.services.carrier_metadata_service API documentation + + + + + + + + + +
+
+

+easypost.services.carrier_metadata_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.easypost_object import convert_to_easypost_object
+ 7from easypost.requestor import (
+ 8    RequestMethod,
+ 9    Requestor,
+10)
+11from easypost.services.base_service import BaseService
+12
+13
+14class CarrierMetadataService(BaseService):
+15    def __init__(self, client):
+16        self._client = client
+17
+18    def retrieve(
+19        self,
+20        carriers: Optional[list[str]] = None,
+21        types: Optional[list[str]] = None,
+22    ) -> list[dict[str, Any]]:
+23        """Get metadata for all carriers on the EasyPost platform or specify optional filters."""
+24        params = {
+25            "carriers": ",".join(carriers) if carriers else None,
+26            "types": ",".join(types) if types else None,
+27        }
+28
+29        response = Requestor(self._client).request(
+30            method=RequestMethod.GET,
+31            url="/metadata/carriers",
+32            params=params,
+33        )
+34
+35        return convert_to_easypost_object(response=response.get("carriers", []))
+
+ + +
+
+ +
+ + class + CarrierMetadataService(easypost.services.base_service.BaseService): + + + +
+ +
15class CarrierMetadataService(BaseService):
+16    def __init__(self, client):
+17        self._client = client
+18
+19    def retrieve(
+20        self,
+21        carriers: Optional[list[str]] = None,
+22        types: Optional[list[str]] = None,
+23    ) -> list[dict[str, Any]]:
+24        """Get metadata for all carriers on the EasyPost platform or specify optional filters."""
+25        params = {
+26            "carriers": ",".join(carriers) if carriers else None,
+27            "types": ",".join(types) if types else None,
+28        }
+29
+30        response = Requestor(self._client).request(
+31            method=RequestMethod.GET,
+32            url="/metadata/carriers",
+33            params=params,
+34        )
+35
+36        return convert_to_easypost_object(response=response.get("carriers", []))
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + CarrierMetadataService(client) + + + +
+ +
16    def __init__(self, client):
+17        self._client = client
+
+ + + + +
+
+ +
+ + def + retrieve( self, carriers: list[str] | None = None, types: list[str] | None = None) -> list[dict[str, typing.Any]]: + + + +
+ +
19    def retrieve(
+20        self,
+21        carriers: Optional[list[str]] = None,
+22        types: Optional[list[str]] = None,
+23    ) -> list[dict[str, Any]]:
+24        """Get metadata for all carriers on the EasyPost platform or specify optional filters."""
+25        params = {
+26            "carriers": ",".join(carriers) if carriers else None,
+27            "types": ",".join(types) if types else None,
+28        }
+29
+30        response = Requestor(self._client).request(
+31            method=RequestMethod.GET,
+32            url="/metadata/carriers",
+33            params=params,
+34        )
+35
+36        return convert_to_easypost_object(response=response.get("carriers", []))
+
+ + +

Get metadata for all carriers on the EasyPost platform or specify optional filters.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/carrier_metadata_service.py b/easypost/services/carrier_metadata_service.py deleted file mode 100644 index d5f13497..00000000 --- a/easypost/services/carrier_metadata_service.py +++ /dev/null @@ -1,35 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class CarrierMetadataService(BaseService): - def __init__(self, client): - self._client = client - - def retrieve( - self, - carriers: Optional[list[str]] = None, - types: Optional[list[str]] = None, - ) -> list[dict[str, Any]]: - """Get metadata for all carriers on the EasyPost platform or specify optional filters.""" - params = { - "carriers": ",".join(carriers) if carriers else None, - "types": ",".join(types) if types else None, - } - - response = Requestor(self._client).request( - method=RequestMethod.GET, - url="/metadata/carriers", - params=params, - ) - - return convert_to_easypost_object(response=response.get("carriers", [])) diff --git a/easypost/services/claim_service.html b/easypost/services/claim_service.html new file mode 100644 index 00000000..6df1473e --- /dev/null +++ b/easypost/services/claim_service.html @@ -0,0 +1,568 @@ + + + + + + + easypost.services.claim_service API documentation + + + + + + + + + +
+
+

+easypost.services.claim_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.easypost_object import convert_to_easypost_object
+ 7from easypost.models import Claim
+ 8from easypost.requestor import (
+ 9    RequestMethod,
+10    Requestor,
+11)
+12from easypost.services.base_service import BaseService
+13
+14
+15class ClaimService(BaseService):
+16    def __init__(self, client):
+17        self._client = client
+18        self._model_class = Claim.__name__
+19
+20    def create(self, **params) -> Claim:
+21        """Create a Claim."""
+22        url = "/claims"
+23
+24        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params, beta=False)
+25
+26        return convert_to_easypost_object(response=response)
+27
+28    def all(self, **params) -> dict[str, Any]:
+29        """Retrieve a list of Claims."""
+30        filters = {
+31            "key": "claims",
+32        }
+33
+34        return self._all_resources(class_name=self._model_class, filters=filters, beta=False, **params)
+35
+36    def retrieve(self, id: str) -> Claim:
+37        """Retrieve a Claim."""
+38        return self._retrieve_resource(class_name=self._model_class, id=id, beta=False)
+39
+40    def get_next_page(
+41        self,
+42        claims: dict[str, Any],
+43        page_size: int,
+44        optional_params: Optional[dict[str, Any]] = None,
+45    ) -> dict[str, Any]:
+46        """Retrieve the next page of the list Claim response."""
+47        self._check_has_next_page(collection=claims)
+48
+49        params = {
+50            "before_id": claims["claims"][-1].id,
+51            "page_size": page_size,
+52        }
+53
+54        if optional_params:
+55            params.update(optional_params)
+56
+57        return self.all(**params)
+58
+59    def cancel(self, id: str) -> Claim:
+60        """Cancel a Claim."""
+61        url = f"/claims/{id}/cancel"
+62
+63        response = Requestor(self._client).request(
+64            method=RequestMethod.POST,
+65            url=url,
+66            beta=False,
+67        )
+68
+69        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + ClaimService(easypost.services.base_service.BaseService): + + + +
+ +
16class ClaimService(BaseService):
+17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = Claim.__name__
+20
+21    def create(self, **params) -> Claim:
+22        """Create a Claim."""
+23        url = "/claims"
+24
+25        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params, beta=False)
+26
+27        return convert_to_easypost_object(response=response)
+28
+29    def all(self, **params) -> dict[str, Any]:
+30        """Retrieve a list of Claims."""
+31        filters = {
+32            "key": "claims",
+33        }
+34
+35        return self._all_resources(class_name=self._model_class, filters=filters, beta=False, **params)
+36
+37    def retrieve(self, id: str) -> Claim:
+38        """Retrieve a Claim."""
+39        return self._retrieve_resource(class_name=self._model_class, id=id, beta=False)
+40
+41    def get_next_page(
+42        self,
+43        claims: dict[str, Any],
+44        page_size: int,
+45        optional_params: Optional[dict[str, Any]] = None,
+46    ) -> dict[str, Any]:
+47        """Retrieve the next page of the list Claim response."""
+48        self._check_has_next_page(collection=claims)
+49
+50        params = {
+51            "before_id": claims["claims"][-1].id,
+52            "page_size": page_size,
+53        }
+54
+55        if optional_params:
+56            params.update(optional_params)
+57
+58        return self.all(**params)
+59
+60    def cancel(self, id: str) -> Claim:
+61        """Cancel a Claim."""
+62        url = f"/claims/{id}/cancel"
+63
+64        response = Requestor(self._client).request(
+65            method=RequestMethod.POST,
+66            url=url,
+67            beta=False,
+68        )
+69
+70        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + ClaimService(client) + + + +
+ +
17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = Claim.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.claim.Claim: + + + +
+ +
21    def create(self, **params) -> Claim:
+22        """Create a Claim."""
+23        url = "/claims"
+24
+25        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params, beta=False)
+26
+27        return convert_to_easypost_object(response=response)
+
+ + +

Create a Claim.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
29    def all(self, **params) -> dict[str, Any]:
+30        """Retrieve a list of Claims."""
+31        filters = {
+32            "key": "claims",
+33        }
+34
+35        return self._all_resources(class_name=self._model_class, filters=filters, beta=False, **params)
+
+ + +

Retrieve a list of Claims.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.claim.Claim: + + + +
+ +
37    def retrieve(self, id: str) -> Claim:
+38        """Retrieve a Claim."""
+39        return self._retrieve_resource(class_name=self._model_class, id=id, beta=False)
+
+ + +

Retrieve a Claim.

+
+ + +
+
+ +
+ + def + get_next_page( self, claims: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
41    def get_next_page(
+42        self,
+43        claims: dict[str, Any],
+44        page_size: int,
+45        optional_params: Optional[dict[str, Any]] = None,
+46    ) -> dict[str, Any]:
+47        """Retrieve the next page of the list Claim response."""
+48        self._check_has_next_page(collection=claims)
+49
+50        params = {
+51            "before_id": claims["claims"][-1].id,
+52            "page_size": page_size,
+53        }
+54
+55        if optional_params:
+56            params.update(optional_params)
+57
+58        return self.all(**params)
+
+ + +

Retrieve the next page of the list Claim response.

+
+ + +
+
+ +
+ + def + cancel(self, id: str) -> easypost.models.claim.Claim: + + + +
+ +
60    def cancel(self, id: str) -> Claim:
+61        """Cancel a Claim."""
+62        url = f"/claims/{id}/cancel"
+63
+64        response = Requestor(self._client).request(
+65            method=RequestMethod.POST,
+66            url=url,
+67            beta=False,
+68        )
+69
+70        return convert_to_easypost_object(response=response)
+
+ + +

Cancel a Claim.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/claim_service.py b/easypost/services/claim_service.py deleted file mode 100644 index c7925b04..00000000 --- a/easypost/services/claim_service.py +++ /dev/null @@ -1,69 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import Claim -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class ClaimService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Claim.__name__ - - def create(self, **params) -> Claim: - """Create a Claim.""" - url = "/claims" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params, beta=False) - - return convert_to_easypost_object(response=response) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Claims.""" - filters = { - "key": "claims", - } - - return self._all_resources(class_name=self._model_class, filters=filters, beta=False, **params) - - def retrieve(self, id: str) -> Claim: - """Retrieve a Claim.""" - return self._retrieve_resource(class_name=self._model_class, id=id, beta=False) - - def get_next_page( - self, - claims: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve the next page of the list Claim response.""" - self._check_has_next_page(collection=claims) - - params = { - "before_id": claims["claims"][-1].id, - "page_size": page_size, - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) - - def cancel(self, id: str) -> Claim: - """Cancel a Claim.""" - url = f"/claims/{id}/cancel" - - response = Requestor(self._client).request( - method=RequestMethod.POST, - url=url, - beta=False, - ) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/customer_portal_service.html b/easypost/services/customer_portal_service.html new file mode 100644 index 00000000..f785ab31 --- /dev/null +++ b/easypost/services/customer_portal_service.html @@ -0,0 +1,354 @@ + + + + + + + easypost.services.customer_portal_service API documentation + + + + + + + + + +
+
+

+easypost.services.customer_portal_service

+ + + + + + +
 1from typing import Any
+ 2
+ 3from easypost.easypost_object import convert_to_easypost_object
+ 4from easypost.requestor import (
+ 5    RequestMethod,
+ 6    Requestor,
+ 7)
+ 8from easypost.services.base_service import BaseService
+ 9
+10
+11class CustomerPortalService(BaseService):
+12    def __init__(self, client):
+13        self._client = client
+14
+15    def create_account_link(self, **params) -> dict[str, Any]:
+16        """Create a Portal Session."""
+17        response = Requestor(self._client).request(
+18            method=RequestMethod.POST,
+19            url="/customer_portal/account_link",
+20            params=params,
+21        )
+22
+23        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + CustomerPortalService(easypost.services.base_service.BaseService): + + + +
+ +
12class CustomerPortalService(BaseService):
+13    def __init__(self, client):
+14        self._client = client
+15
+16    def create_account_link(self, **params) -> dict[str, Any]:
+17        """Create a Portal Session."""
+18        response = Requestor(self._client).request(
+19            method=RequestMethod.POST,
+20            url="/customer_portal/account_link",
+21            params=params,
+22        )
+23
+24        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + CustomerPortalService(client) + + + +
+ +
13    def __init__(self, client):
+14        self._client = client
+
+ + + + +
+ +
+
+ + \ No newline at end of file diff --git a/easypost/services/customer_portal_service.py b/easypost/services/customer_portal_service.py deleted file mode 100644 index 1e168e32..00000000 --- a/easypost/services/customer_portal_service.py +++ /dev/null @@ -1,23 +0,0 @@ -from typing import Any - -from easypost.easypost_object import convert_to_easypost_object -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class CustomerPortalService(BaseService): - def __init__(self, client): - self._client = client - - def create_account_link(self, **params) -> dict[str, Any]: - """Create a Portal Session.""" - response = Requestor(self._client).request( - method=RequestMethod.POST, - url="/customer_portal/account_link", - params=params, - ) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/customs_info_service.html b/easypost/services/customs_info_service.html new file mode 100644 index 00000000..9e73726e --- /dev/null +++ b/easypost/services/customs_info_service.html @@ -0,0 +1,366 @@ + + + + + + + easypost.services.customs_info_service API documentation + + + + + + + + + +
+
+

+easypost.services.customs_info_service

+ + + + + + +
 1from easypost.models import CustomsInfo
+ 2from easypost.services.base_service import BaseService
+ 3
+ 4
+ 5class CustomsInfoService(BaseService):
+ 6    def __init__(self, client):
+ 7        self._client = client
+ 8        self._model_class = CustomsInfo.__name__
+ 9
+10    def create(self, **params) -> CustomsInfo:
+11        """Create a CustomsInfo."""
+12        return self._create_resource(self._model_class, **params)
+13
+14    def retrieve(self, id: str) -> CustomsInfo:
+15        """Retrieve a CustomsInfo."""
+16        return self._retrieve_resource(self._model_class, id)
+
+ + +
+
+ +
+ + class + CustomsInfoService(easypost.services.base_service.BaseService): + + + +
+ +
 6class CustomsInfoService(BaseService):
+ 7    def __init__(self, client):
+ 8        self._client = client
+ 9        self._model_class = CustomsInfo.__name__
+10
+11    def create(self, **params) -> CustomsInfo:
+12        """Create a CustomsInfo."""
+13        return self._create_resource(self._model_class, **params)
+14
+15    def retrieve(self, id: str) -> CustomsInfo:
+16        """Retrieve a CustomsInfo."""
+17        return self._retrieve_resource(self._model_class, id)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + CustomsInfoService(client) + + + +
+ +
7    def __init__(self, client):
+8        self._client = client
+9        self._model_class = CustomsInfo.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.customs_info.CustomsInfo: + + + +
+ +
11    def create(self, **params) -> CustomsInfo:
+12        """Create a CustomsInfo."""
+13        return self._create_resource(self._model_class, **params)
+
+ + +

Create a CustomsInfo.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.customs_info.CustomsInfo: + + + +
+ +
15    def retrieve(self, id: str) -> CustomsInfo:
+16        """Retrieve a CustomsInfo."""
+17        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a CustomsInfo.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/customs_info_service.py b/easypost/services/customs_info_service.py deleted file mode 100644 index 65c994d5..00000000 --- a/easypost/services/customs_info_service.py +++ /dev/null @@ -1,16 +0,0 @@ -from easypost.models import CustomsInfo -from easypost.services.base_service import BaseService - - -class CustomsInfoService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = CustomsInfo.__name__ - - def create(self, **params) -> CustomsInfo: - """Create a CustomsInfo.""" - return self._create_resource(self._model_class, **params) - - def retrieve(self, id: str) -> CustomsInfo: - """Retrieve a CustomsInfo.""" - return self._retrieve_resource(self._model_class, id) diff --git a/easypost/services/customs_item_service.html b/easypost/services/customs_item_service.html new file mode 100644 index 00000000..c6d07a42 --- /dev/null +++ b/easypost/services/customs_item_service.html @@ -0,0 +1,366 @@ + + + + + + + easypost.services.customs_item_service API documentation + + + + + + + + + +
+
+

+easypost.services.customs_item_service

+ + + + + + +
 1from easypost.models import CustomsItem
+ 2from easypost.services.base_service import BaseService
+ 3
+ 4
+ 5class CustomsItemService(BaseService):
+ 6    def __init__(self, client):
+ 7        self._client = client
+ 8        self._model_class = CustomsItem.__name__
+ 9
+10    def create(self, **params) -> CustomsItem:
+11        """Create a CustomsItem."""
+12        return self._create_resource(self._model_class, **params)
+13
+14    def retrieve(self, id: str) -> CustomsItem:
+15        """Retrieve a CustomsItem."""
+16        return self._retrieve_resource(self._model_class, id)
+
+ + +
+
+ +
+ + class + CustomsItemService(easypost.services.base_service.BaseService): + + + +
+ +
 6class CustomsItemService(BaseService):
+ 7    def __init__(self, client):
+ 8        self._client = client
+ 9        self._model_class = CustomsItem.__name__
+10
+11    def create(self, **params) -> CustomsItem:
+12        """Create a CustomsItem."""
+13        return self._create_resource(self._model_class, **params)
+14
+15    def retrieve(self, id: str) -> CustomsItem:
+16        """Retrieve a CustomsItem."""
+17        return self._retrieve_resource(self._model_class, id)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + CustomsItemService(client) + + + +
+ +
7    def __init__(self, client):
+8        self._client = client
+9        self._model_class = CustomsItem.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.customs_item.CustomsItem: + + + +
+ +
11    def create(self, **params) -> CustomsItem:
+12        """Create a CustomsItem."""
+13        return self._create_resource(self._model_class, **params)
+
+ + +

Create a CustomsItem.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.customs_item.CustomsItem: + + + +
+ +
15    def retrieve(self, id: str) -> CustomsItem:
+16        """Retrieve a CustomsItem."""
+17        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a CustomsItem.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/customs_item_service.py b/easypost/services/customs_item_service.py deleted file mode 100644 index a072f3d3..00000000 --- a/easypost/services/customs_item_service.py +++ /dev/null @@ -1,16 +0,0 @@ -from easypost.models import CustomsItem -from easypost.services.base_service import BaseService - - -class CustomsItemService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = CustomsItem.__name__ - - def create(self, **params) -> CustomsItem: - """Create a CustomsItem.""" - return self._create_resource(self._model_class, **params) - - def retrieve(self, id: str) -> CustomsItem: - """Retrieve a CustomsItem.""" - return self._retrieve_resource(self._model_class, id) diff --git a/easypost/services/embeddable_service.html b/easypost/services/embeddable_service.html new file mode 100644 index 00000000..01454366 --- /dev/null +++ b/easypost/services/embeddable_service.html @@ -0,0 +1,354 @@ + + + + + + + easypost.services.embeddable_service API documentation + + + + + + + + + +
+
+

+easypost.services.embeddable_service

+ + + + + + +
 1from typing import Any
+ 2
+ 3from easypost.easypost_object import convert_to_easypost_object
+ 4from easypost.requestor import (
+ 5    RequestMethod,
+ 6    Requestor,
+ 7)
+ 8from easypost.services.base_service import BaseService
+ 9
+10
+11class EmbeddableService(BaseService):
+12    def __init__(self, client):
+13        self._client = client
+14
+15    def create_session(self, **params) -> dict[str, Any]:
+16        """Create an Embeddables Session."""
+17        response = Requestor(self._client).request(
+18            method=RequestMethod.POST,
+19            url="/embeddables/session",
+20            params=params,
+21        )
+22
+23        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + EmbeddableService(easypost.services.base_service.BaseService): + + + +
+ +
12class EmbeddableService(BaseService):
+13    def __init__(self, client):
+14        self._client = client
+15
+16    def create_session(self, **params) -> dict[str, Any]:
+17        """Create an Embeddables Session."""
+18        response = Requestor(self._client).request(
+19            method=RequestMethod.POST,
+20            url="/embeddables/session",
+21            params=params,
+22        )
+23
+24        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + EmbeddableService(client) + + + +
+ +
13    def __init__(self, client):
+14        self._client = client
+
+ + + + +
+
+ +
+ + def + create_session(self, **params) -> dict[str, typing.Any]: + + + +
+ +
16    def create_session(self, **params) -> dict[str, Any]:
+17        """Create an Embeddables Session."""
+18        response = Requestor(self._client).request(
+19            method=RequestMethod.POST,
+20            url="/embeddables/session",
+21            params=params,
+22        )
+23
+24        return convert_to_easypost_object(response=response)
+
+ + +

Create an Embeddables Session.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/embeddable_service.py b/easypost/services/embeddable_service.py deleted file mode 100644 index 36205d4e..00000000 --- a/easypost/services/embeddable_service.py +++ /dev/null @@ -1,23 +0,0 @@ -from typing import Any - -from easypost.easypost_object import convert_to_easypost_object -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class EmbeddableService(BaseService): - def __init__(self, client): - self._client = client - - def create_session(self, **params) -> dict[str, Any]: - """Create an Embeddables Session.""" - response = Requestor(self._client).request( - method=RequestMethod.POST, - url="/embeddables/session", - params=params, - ) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/end_shipper_service.html b/easypost/services/end_shipper_service.html new file mode 100644 index 00000000..c3878d90 --- /dev/null +++ b/easypost/services/end_shipper_service.html @@ -0,0 +1,488 @@ + + + + + + + easypost.services.end_shipper_service API documentation + + + + + + + + + +
+
+

+easypost.services.end_shipper_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3)
+ 4
+ 5from easypost.easypost_object import convert_to_easypost_object
+ 6from easypost.models import (
+ 7    Address,
+ 8    EndShipper,
+ 9)
+10from easypost.requestor import (
+11    RequestMethod,
+12    Requestor,
+13)
+14from easypost.services.base_service import BaseService
+15
+16
+17class EndShipperService(BaseService):
+18    def __init__(self, client):
+19        self._client = client
+20        self._model_class = Address.__name__
+21        self._service_class = EndShipper.__name__
+22
+23    def create(self, **params) -> Address:
+24        """Create an EndShipper."""
+25        url = self._class_url(self._service_class)
+26        wrapped_params = {self._snakecase_name(self._model_class): params}
+27
+28        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+29
+30        return convert_to_easypost_object(response=response)
+31
+32    def all(self, **params) -> dict[str, Any]:
+33        """Retrieve a list of EndShippers."""
+34        return self._all_resources(self._service_class, **params)
+35
+36    def retrieve(self, id: str) -> Address:
+37        """Retrieve an EndShipper."""
+38        return self._retrieve_resource(self._service_class, id)
+39
+40    def update(self, id: str, **params) -> Address:
+41        """Update an EndShipper object.
+42
+43        This function requires all parameters to be present for an EndShipper.
+44        """
+45        url = self._instance_url(self._service_class, id)
+46        wrapped_params = {self._snakecase_name(self._model_class): params}
+47
+48        response = Requestor(self._client).request(method=RequestMethod.PUT, url=url, params=wrapped_params)
+49
+50        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + EndShipperService(easypost.services.base_service.BaseService): + + + +
+ +
18class EndShipperService(BaseService):
+19    def __init__(self, client):
+20        self._client = client
+21        self._model_class = Address.__name__
+22        self._service_class = EndShipper.__name__
+23
+24    def create(self, **params) -> Address:
+25        """Create an EndShipper."""
+26        url = self._class_url(self._service_class)
+27        wrapped_params = {self._snakecase_name(self._model_class): params}
+28
+29        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+30
+31        return convert_to_easypost_object(response=response)
+32
+33    def all(self, **params) -> dict[str, Any]:
+34        """Retrieve a list of EndShippers."""
+35        return self._all_resources(self._service_class, **params)
+36
+37    def retrieve(self, id: str) -> Address:
+38        """Retrieve an EndShipper."""
+39        return self._retrieve_resource(self._service_class, id)
+40
+41    def update(self, id: str, **params) -> Address:
+42        """Update an EndShipper object.
+43
+44        This function requires all parameters to be present for an EndShipper.
+45        """
+46        url = self._instance_url(self._service_class, id)
+47        wrapped_params = {self._snakecase_name(self._model_class): params}
+48
+49        response = Requestor(self._client).request(method=RequestMethod.PUT, url=url, params=wrapped_params)
+50
+51        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + EndShipperService(client) + + + +
+ +
19    def __init__(self, client):
+20        self._client = client
+21        self._model_class = Address.__name__
+22        self._service_class = EndShipper.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.address.Address: + + + +
+ +
24    def create(self, **params) -> Address:
+25        """Create an EndShipper."""
+26        url = self._class_url(self._service_class)
+27        wrapped_params = {self._snakecase_name(self._model_class): params}
+28
+29        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+30
+31        return convert_to_easypost_object(response=response)
+
+ + +

Create an EndShipper.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
33    def all(self, **params) -> dict[str, Any]:
+34        """Retrieve a list of EndShippers."""
+35        return self._all_resources(self._service_class, **params)
+
+ + +

Retrieve a list of EndShippers.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.address.Address: + + + +
+ +
37    def retrieve(self, id: str) -> Address:
+38        """Retrieve an EndShipper."""
+39        return self._retrieve_resource(self._service_class, id)
+
+ + +

Retrieve an EndShipper.

+
+ + +
+
+ +
+ + def + update(self, id: str, **params) -> easypost.models.address.Address: + + + +
+ +
41    def update(self, id: str, **params) -> Address:
+42        """Update an EndShipper object.
+43
+44        This function requires all parameters to be present for an EndShipper.
+45        """
+46        url = self._instance_url(self._service_class, id)
+47        wrapped_params = {self._snakecase_name(self._model_class): params}
+48
+49        response = Requestor(self._client).request(method=RequestMethod.PUT, url=url, params=wrapped_params)
+50
+51        return convert_to_easypost_object(response=response)
+
+ + +

Update an EndShipper object.

+ +

This function requires all parameters to be present for an EndShipper.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/end_shipper_service.py b/easypost/services/end_shipper_service.py deleted file mode 100644 index 7fd70d76..00000000 --- a/easypost/services/end_shipper_service.py +++ /dev/null @@ -1,50 +0,0 @@ -from typing import ( - Any, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import ( - Address, - EndShipper, -) -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class EndShipperService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Address.__name__ - self._service_class = EndShipper.__name__ - - def create(self, **params) -> Address: - """Create an EndShipper.""" - url = self._class_url(self._service_class) - wrapped_params = {self._snakecase_name(self._model_class): params} - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of EndShippers.""" - return self._all_resources(self._service_class, **params) - - def retrieve(self, id: str) -> Address: - """Retrieve an EndShipper.""" - return self._retrieve_resource(self._service_class, id) - - def update(self, id: str, **params) -> Address: - """Update an EndShipper object. - - This function requires all parameters to be present for an EndShipper. - """ - url = self._instance_url(self._service_class, id) - wrapped_params = {self._snakecase_name(self._model_class): params} - - response = Requestor(self._client).request(method=RequestMethod.PUT, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/event_service.html b/easypost/services/event_service.html new file mode 100644 index 00000000..591b720e --- /dev/null +++ b/easypost/services/event_service.html @@ -0,0 +1,592 @@ + + + + + + + easypost.services.event_service API documentation + + + + + + + + + +
+
+

+easypost.services.event_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.easypost_object import convert_to_easypost_object
+ 7from easypost.models import (
+ 8    Event,
+ 9    Payload,
+10)
+11from easypost.requestor import (
+12    RequestMethod,
+13    Requestor,
+14)
+15from easypost.services.base_service import BaseService
+16
+17
+18class EventService(BaseService):
+19    def __init__(self, client):
+20        self._client = client
+21        self._model_class = Event.__name__
+22
+23    def create(self, **params) -> Event:
+24        """Create an Event."""
+25        return self._create_resource(self._model_class, **params)
+26
+27    def all(self, **params) -> dict[str, Any]:
+28        """Retrieve a list of Events."""
+29        filters = {
+30            "key": "events",
+31        }
+32
+33        return self._all_resources(self._model_class, filters, **params)
+34
+35    def retrieve(self, id: str) -> Event:
+36        """Retrieve an Event."""
+37        return self._retrieve_resource(self._model_class, id)
+38
+39    def retrieve_all_payloads(self, event_id: str, **params) -> dict[str, Any]:
+40        """Retrieve a list of Payloads for an Event."""
+41        url = f"{self._class_url(self._model_class)}/{event_id}/payloads"
+42
+43        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+44
+45        return convert_to_easypost_object(response=response)
+46
+47    def retrieve_payload(self, event_id: str, payload_id: str, **params) -> Payload:
+48        """Retrieve a Payload of an Event."""
+49        url = f"{self._class_url(self._model_class)}/{event_id}/payloads/{payload_id}"
+50
+51        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+52
+53        return convert_to_easypost_object(response=response)
+54
+55    def get_next_page(
+56        self,
+57        events: dict[str, Any],
+58        page_size: int,
+59        optional_params: Optional[dict[str, Any]] = None,
+60    ) -> dict[str, Any]:
+61        """Retrieve the next page of the list Events response."""
+62        self._check_has_next_page(collection=events)
+63
+64        params = {
+65            "before_id": events["events"][-1].id,
+66            "page_size": page_size,
+67        }
+68
+69        if optional_params:
+70            params.update(optional_params)
+71
+72        return self.all(**params)
+
+ + +
+
+ +
+ + class + EventService(easypost.services.base_service.BaseService): + + + +
+ +
19class EventService(BaseService):
+20    def __init__(self, client):
+21        self._client = client
+22        self._model_class = Event.__name__
+23
+24    def create(self, **params) -> Event:
+25        """Create an Event."""
+26        return self._create_resource(self._model_class, **params)
+27
+28    def all(self, **params) -> dict[str, Any]:
+29        """Retrieve a list of Events."""
+30        filters = {
+31            "key": "events",
+32        }
+33
+34        return self._all_resources(self._model_class, filters, **params)
+35
+36    def retrieve(self, id: str) -> Event:
+37        """Retrieve an Event."""
+38        return self._retrieve_resource(self._model_class, id)
+39
+40    def retrieve_all_payloads(self, event_id: str, **params) -> dict[str, Any]:
+41        """Retrieve a list of Payloads for an Event."""
+42        url = f"{self._class_url(self._model_class)}/{event_id}/payloads"
+43
+44        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+45
+46        return convert_to_easypost_object(response=response)
+47
+48    def retrieve_payload(self, event_id: str, payload_id: str, **params) -> Payload:
+49        """Retrieve a Payload of an Event."""
+50        url = f"{self._class_url(self._model_class)}/{event_id}/payloads/{payload_id}"
+51
+52        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+53
+54        return convert_to_easypost_object(response=response)
+55
+56    def get_next_page(
+57        self,
+58        events: dict[str, Any],
+59        page_size: int,
+60        optional_params: Optional[dict[str, Any]] = None,
+61    ) -> dict[str, Any]:
+62        """Retrieve the next page of the list Events response."""
+63        self._check_has_next_page(collection=events)
+64
+65        params = {
+66            "before_id": events["events"][-1].id,
+67            "page_size": page_size,
+68        }
+69
+70        if optional_params:
+71            params.update(optional_params)
+72
+73        return self.all(**params)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + EventService(client) + + + +
+ +
20    def __init__(self, client):
+21        self._client = client
+22        self._model_class = Event.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.event.Event: + + + +
+ +
24    def create(self, **params) -> Event:
+25        """Create an Event."""
+26        return self._create_resource(self._model_class, **params)
+
+ + +

Create an Event.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
28    def all(self, **params) -> dict[str, Any]:
+29        """Retrieve a list of Events."""
+30        filters = {
+31            "key": "events",
+32        }
+33
+34        return self._all_resources(self._model_class, filters, **params)
+
+ + +

Retrieve a list of Events.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.event.Event: + + + +
+ +
36    def retrieve(self, id: str) -> Event:
+37        """Retrieve an Event."""
+38        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve an Event.

+
+ + +
+
+ +
+ + def + retrieve_all_payloads(self, event_id: str, **params) -> dict[str, typing.Any]: + + + +
+ +
40    def retrieve_all_payloads(self, event_id: str, **params) -> dict[str, Any]:
+41        """Retrieve a list of Payloads for an Event."""
+42        url = f"{self._class_url(self._model_class)}/{event_id}/payloads"
+43
+44        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+45
+46        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve a list of Payloads for an Event.

+
+ + +
+
+ +
+ + def + retrieve_payload( self, event_id: str, payload_id: str, **params) -> easypost.models.payload.Payload: + + + +
+ +
48    def retrieve_payload(self, event_id: str, payload_id: str, **params) -> Payload:
+49        """Retrieve a Payload of an Event."""
+50        url = f"{self._class_url(self._model_class)}/{event_id}/payloads/{payload_id}"
+51
+52        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+53
+54        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve a Payload of an Event.

+
+ + +
+
+ +
+ + def + get_next_page( self, events: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
56    def get_next_page(
+57        self,
+58        events: dict[str, Any],
+59        page_size: int,
+60        optional_params: Optional[dict[str, Any]] = None,
+61    ) -> dict[str, Any]:
+62        """Retrieve the next page of the list Events response."""
+63        self._check_has_next_page(collection=events)
+64
+65        params = {
+66            "before_id": events["events"][-1].id,
+67            "page_size": page_size,
+68        }
+69
+70        if optional_params:
+71            params.update(optional_params)
+72
+73        return self.all(**params)
+
+ + +

Retrieve the next page of the list Events response.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/event_service.py b/easypost/services/event_service.py deleted file mode 100644 index 8d0aad3f..00000000 --- a/easypost/services/event_service.py +++ /dev/null @@ -1,72 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import ( - Event, - Payload, -) -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class EventService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Event.__name__ - - def create(self, **params) -> Event: - """Create an Event.""" - return self._create_resource(self._model_class, **params) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Events.""" - filters = { - "key": "events", - } - - return self._all_resources(self._model_class, filters, **params) - - def retrieve(self, id: str) -> Event: - """Retrieve an Event.""" - return self._retrieve_resource(self._model_class, id) - - def retrieve_all_payloads(self, event_id: str, **params) -> dict[str, Any]: - """Retrieve a list of Payloads for an Event.""" - url = f"{self._class_url(self._model_class)}/{event_id}/payloads" - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def retrieve_payload(self, event_id: str, payload_id: str, **params) -> Payload: - """Retrieve a Payload of an Event.""" - url = f"{self._class_url(self._model_class)}/{event_id}/payloads/{payload_id}" - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def get_next_page( - self, - events: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve the next page of the list Events response.""" - self._check_has_next_page(collection=events) - - params = { - "before_id": events["events"][-1].id, - "page_size": page_size, - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) diff --git a/easypost/services/fedex_registration_service.html b/easypost/services/fedex_registration_service.html new file mode 100644 index 00000000..15b0a81a --- /dev/null +++ b/easypost/services/fedex_registration_service.html @@ -0,0 +1,608 @@ + + + + + + + easypost.services.fedex_registration_service API documentation + + + + + + + + + +
+
+

+easypost.services.fedex_registration_service

+ + + + + + +
  1import uuid
+  2from typing import Any
+  3
+  4from easypost.easypost_object import convert_to_easypost_object
+  5from easypost.requestor import RequestMethod, Requestor
+  6from easypost.services.base_service import BaseService
+  7
+  8
+  9class FedExRegistrationService(BaseService):
+ 10    def __init__(self, client):
+ 11        self._client = client
+ 12
+ 13    def register_address(self, fedex_account_number: str, **params) -> dict[str, Any]:
+ 14        """Register the billing address for a FedEx account."""
+ 15        wrapped_params = self._wrap_address_validation(params)
+ 16        url = f"/fedex_registrations/{fedex_account_number}/address"
+ 17
+ 18        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+ 19
+ 20        return convert_to_easypost_object(response=response)
+ 21
+ 22    def request_pin(self, fedex_account_number: str, pin_method_option: str, **params) -> dict[str, Any]:
+ 23        """Request a PIN for FedEx account verification."""
+ 24        wrapped_params = self._wrap_pin_validation(params)
+ 25        wrapped_params["pin_method"] = {"option": pin_method_option}
+ 26        url = f"/fedex_registrations/{fedex_account_number}/pin"
+ 27
+ 28        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+ 29
+ 30        return convert_to_easypost_object(response=response)
+ 31
+ 32    def validate_pin(self, fedex_account_number: str, **params) -> dict[str, Any]:
+ 33        """Validate the PIN entered by the user for FedEx account verification."""
+ 34        wrapped_params = self._wrap_pin_validation(params)
+ 35        url = f"/fedex_registrations/{fedex_account_number}/pin/validate"
+ 36
+ 37        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+ 38
+ 39        return convert_to_easypost_object(response=response)
+ 40
+ 41    def submit_invoice(self, fedex_account_number: str, **params) -> dict[str, Any]:
+ 42        """Submit invoice information to complete FedEx account registration."""
+ 43        wrapped_params = self._wrap_invoice_validation(params)
+ 44        url = f"/fedex_registrations/{fedex_account_number}/invoice"
+ 45
+ 46        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+ 47
+ 48        return convert_to_easypost_object(response=response)
+ 49
+ 50    def _wrap_address_validation(self, params: dict[str, Any]) -> dict[str, Any]:
+ 51        """Wraps address validation parameters and ensures the "name" field exists.
+ 52        If not present, generates a UUID (with hyphens removed) as the name.
+ 53        """
+ 54        wrapped_params = {}
+ 55
+ 56        if "address_validation" in params:
+ 57            address_validation = params["address_validation"].copy()
+ 58            self._ensure_name_field(address_validation)
+ 59            wrapped_params["address_validation"] = address_validation
+ 60
+ 61        if "easypost_details" in params:
+ 62            wrapped_params["easypost_details"] = params["easypost_details"]
+ 63
+ 64        return wrapped_params
+ 65
+ 66    def _wrap_pin_validation(self, params: dict[str, Any]) -> dict[str, Any]:
+ 67        """Wraps PIN validation parameters and ensures the "name" field exists.
+ 68        If not present, generates a UUID (with hyphens removed) as the name.
+ 69        """
+ 70        wrapped_params = {}
+ 71
+ 72        if "pin_validation" in params:
+ 73            pin_validation = params["pin_validation"].copy()
+ 74            self._ensure_name_field(pin_validation)
+ 75            wrapped_params["pin_validation"] = pin_validation
+ 76
+ 77        if "easypost_details" in params:
+ 78            wrapped_params["easypost_details"] = params["easypost_details"]
+ 79
+ 80        return wrapped_params
+ 81
+ 82    def _wrap_invoice_validation(self, params: dict[str, Any]) -> dict[str, Any]:
+ 83        """Wraps invoice validation parameters and ensures the "name" field exists.
+ 84        If not present, generates a UUID (with hyphens removed) as the name.
+ 85        """
+ 86        wrapped_params = {}
+ 87
+ 88        if "invoice_validation" in params:
+ 89            invoice_validation = params["invoice_validation"].copy()
+ 90            self._ensure_name_field(invoice_validation)
+ 91            wrapped_params["invoice_validation"] = invoice_validation
+ 92
+ 93        if "easypost_details" in params:
+ 94            wrapped_params["easypost_details"] = params["easypost_details"]
+ 95
+ 96        return wrapped_params
+ 97
+ 98    def _ensure_name_field(self, mapping: dict[str, Any]) -> None:
+ 99        """Ensures the "name" field exists in the provided map.
+100        If not present, generates a UUID (with hyphens removed) as the name.
+101        This follows the pattern used in the web UI implementation.
+102        """
+103        if "name" not in mapping or mapping["name"] is None:
+104            mapping["name"] = str(uuid.uuid4()).replace("-", "")
+
+ + +
+
+ +
+ + class + FedExRegistrationService(easypost.services.base_service.BaseService): + + + +
+ +
 10class FedExRegistrationService(BaseService):
+ 11    def __init__(self, client):
+ 12        self._client = client
+ 13
+ 14    def register_address(self, fedex_account_number: str, **params) -> dict[str, Any]:
+ 15        """Register the billing address for a FedEx account."""
+ 16        wrapped_params = self._wrap_address_validation(params)
+ 17        url = f"/fedex_registrations/{fedex_account_number}/address"
+ 18
+ 19        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+ 20
+ 21        return convert_to_easypost_object(response=response)
+ 22
+ 23    def request_pin(self, fedex_account_number: str, pin_method_option: str, **params) -> dict[str, Any]:
+ 24        """Request a PIN for FedEx account verification."""
+ 25        wrapped_params = self._wrap_pin_validation(params)
+ 26        wrapped_params["pin_method"] = {"option": pin_method_option}
+ 27        url = f"/fedex_registrations/{fedex_account_number}/pin"
+ 28
+ 29        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+ 30
+ 31        return convert_to_easypost_object(response=response)
+ 32
+ 33    def validate_pin(self, fedex_account_number: str, **params) -> dict[str, Any]:
+ 34        """Validate the PIN entered by the user for FedEx account verification."""
+ 35        wrapped_params = self._wrap_pin_validation(params)
+ 36        url = f"/fedex_registrations/{fedex_account_number}/pin/validate"
+ 37
+ 38        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+ 39
+ 40        return convert_to_easypost_object(response=response)
+ 41
+ 42    def submit_invoice(self, fedex_account_number: str, **params) -> dict[str, Any]:
+ 43        """Submit invoice information to complete FedEx account registration."""
+ 44        wrapped_params = self._wrap_invoice_validation(params)
+ 45        url = f"/fedex_registrations/{fedex_account_number}/invoice"
+ 46
+ 47        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+ 48
+ 49        return convert_to_easypost_object(response=response)
+ 50
+ 51    def _wrap_address_validation(self, params: dict[str, Any]) -> dict[str, Any]:
+ 52        """Wraps address validation parameters and ensures the "name" field exists.
+ 53        If not present, generates a UUID (with hyphens removed) as the name.
+ 54        """
+ 55        wrapped_params = {}
+ 56
+ 57        if "address_validation" in params:
+ 58            address_validation = params["address_validation"].copy()
+ 59            self._ensure_name_field(address_validation)
+ 60            wrapped_params["address_validation"] = address_validation
+ 61
+ 62        if "easypost_details" in params:
+ 63            wrapped_params["easypost_details"] = params["easypost_details"]
+ 64
+ 65        return wrapped_params
+ 66
+ 67    def _wrap_pin_validation(self, params: dict[str, Any]) -> dict[str, Any]:
+ 68        """Wraps PIN validation parameters and ensures the "name" field exists.
+ 69        If not present, generates a UUID (with hyphens removed) as the name.
+ 70        """
+ 71        wrapped_params = {}
+ 72
+ 73        if "pin_validation" in params:
+ 74            pin_validation = params["pin_validation"].copy()
+ 75            self._ensure_name_field(pin_validation)
+ 76            wrapped_params["pin_validation"] = pin_validation
+ 77
+ 78        if "easypost_details" in params:
+ 79            wrapped_params["easypost_details"] = params["easypost_details"]
+ 80
+ 81        return wrapped_params
+ 82
+ 83    def _wrap_invoice_validation(self, params: dict[str, Any]) -> dict[str, Any]:
+ 84        """Wraps invoice validation parameters and ensures the "name" field exists.
+ 85        If not present, generates a UUID (with hyphens removed) as the name.
+ 86        """
+ 87        wrapped_params = {}
+ 88
+ 89        if "invoice_validation" in params:
+ 90            invoice_validation = params["invoice_validation"].copy()
+ 91            self._ensure_name_field(invoice_validation)
+ 92            wrapped_params["invoice_validation"] = invoice_validation
+ 93
+ 94        if "easypost_details" in params:
+ 95            wrapped_params["easypost_details"] = params["easypost_details"]
+ 96
+ 97        return wrapped_params
+ 98
+ 99    def _ensure_name_field(self, mapping: dict[str, Any]) -> None:
+100        """Ensures the "name" field exists in the provided map.
+101        If not present, generates a UUID (with hyphens removed) as the name.
+102        This follows the pattern used in the web UI implementation.
+103        """
+104        if "name" not in mapping or mapping["name"] is None:
+105            mapping["name"] = str(uuid.uuid4()).replace("-", "")
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + FedExRegistrationService(client) + + + +
+ +
11    def __init__(self, client):
+12        self._client = client
+
+ + + + +
+
+ +
+ + def + register_address(self, fedex_account_number: str, **params) -> dict[str, typing.Any]: + + + +
+ +
14    def register_address(self, fedex_account_number: str, **params) -> dict[str, Any]:
+15        """Register the billing address for a FedEx account."""
+16        wrapped_params = self._wrap_address_validation(params)
+17        url = f"/fedex_registrations/{fedex_account_number}/address"
+18
+19        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+20
+21        return convert_to_easypost_object(response=response)
+
+ + +

Register the billing address for a FedEx account.

+
+ + +
+
+ +
+ + def + request_pin( self, fedex_account_number: str, pin_method_option: str, **params) -> dict[str, typing.Any]: + + + +
+ +
23    def request_pin(self, fedex_account_number: str, pin_method_option: str, **params) -> dict[str, Any]:
+24        """Request a PIN for FedEx account verification."""
+25        wrapped_params = self._wrap_pin_validation(params)
+26        wrapped_params["pin_method"] = {"option": pin_method_option}
+27        url = f"/fedex_registrations/{fedex_account_number}/pin"
+28
+29        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+30
+31        return convert_to_easypost_object(response=response)
+
+ + +

Request a PIN for FedEx account verification.

+
+ + +
+
+ +
+ + def + validate_pin(self, fedex_account_number: str, **params) -> dict[str, typing.Any]: + + + +
+ +
33    def validate_pin(self, fedex_account_number: str, **params) -> dict[str, Any]:
+34        """Validate the PIN entered by the user for FedEx account verification."""
+35        wrapped_params = self._wrap_pin_validation(params)
+36        url = f"/fedex_registrations/{fedex_account_number}/pin/validate"
+37
+38        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+39
+40        return convert_to_easypost_object(response=response)
+
+ + +

Validate the PIN entered by the user for FedEx account verification.

+
+ + +
+
+ +
+ + def + submit_invoice(self, fedex_account_number: str, **params) -> dict[str, typing.Any]: + + + +
+ +
42    def submit_invoice(self, fedex_account_number: str, **params) -> dict[str, Any]:
+43        """Submit invoice information to complete FedEx account registration."""
+44        wrapped_params = self._wrap_invoice_validation(params)
+45        url = f"/fedex_registrations/{fedex_account_number}/invoice"
+46
+47        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+48
+49        return convert_to_easypost_object(response=response)
+
+ + +

Submit invoice information to complete FedEx account registration.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/fedex_registration_service.py b/easypost/services/fedex_registration_service.py deleted file mode 100644 index ed73910b..00000000 --- a/easypost/services/fedex_registration_service.py +++ /dev/null @@ -1,104 +0,0 @@ -import uuid -from typing import Any - -from easypost.easypost_object import convert_to_easypost_object -from easypost.requestor import RequestMethod, Requestor -from easypost.services.base_service import BaseService - - -class FedExRegistrationService(BaseService): - def __init__(self, client): - self._client = client - - def register_address(self, fedex_account_number: str, **params) -> dict[str, Any]: - """Register the billing address for a FedEx account.""" - wrapped_params = self._wrap_address_validation(params) - url = f"/fedex_registrations/{fedex_account_number}/address" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) - - def request_pin(self, fedex_account_number: str, pin_method_option: str, **params) -> dict[str, Any]: - """Request a PIN for FedEx account verification.""" - wrapped_params = self._wrap_pin_validation(params) - wrapped_params["pin_method"] = {"option": pin_method_option} - url = f"/fedex_registrations/{fedex_account_number}/pin" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) - - def validate_pin(self, fedex_account_number: str, **params) -> dict[str, Any]: - """Validate the PIN entered by the user for FedEx account verification.""" - wrapped_params = self._wrap_pin_validation(params) - url = f"/fedex_registrations/{fedex_account_number}/pin/validate" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) - - def submit_invoice(self, fedex_account_number: str, **params) -> dict[str, Any]: - """Submit invoice information to complete FedEx account registration.""" - wrapped_params = self._wrap_invoice_validation(params) - url = f"/fedex_registrations/{fedex_account_number}/invoice" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) - - def _wrap_address_validation(self, params: dict[str, Any]) -> dict[str, Any]: - """Wraps address validation parameters and ensures the "name" field exists. - If not present, generates a UUID (with hyphens removed) as the name. - """ - wrapped_params = {} - - if "address_validation" in params: - address_validation = params["address_validation"].copy() - self._ensure_name_field(address_validation) - wrapped_params["address_validation"] = address_validation - - if "easypost_details" in params: - wrapped_params["easypost_details"] = params["easypost_details"] - - return wrapped_params - - def _wrap_pin_validation(self, params: dict[str, Any]) -> dict[str, Any]: - """Wraps PIN validation parameters and ensures the "name" field exists. - If not present, generates a UUID (with hyphens removed) as the name. - """ - wrapped_params = {} - - if "pin_validation" in params: - pin_validation = params["pin_validation"].copy() - self._ensure_name_field(pin_validation) - wrapped_params["pin_validation"] = pin_validation - - if "easypost_details" in params: - wrapped_params["easypost_details"] = params["easypost_details"] - - return wrapped_params - - def _wrap_invoice_validation(self, params: dict[str, Any]) -> dict[str, Any]: - """Wraps invoice validation parameters and ensures the "name" field exists. - If not present, generates a UUID (with hyphens removed) as the name. - """ - wrapped_params = {} - - if "invoice_validation" in params: - invoice_validation = params["invoice_validation"].copy() - self._ensure_name_field(invoice_validation) - wrapped_params["invoice_validation"] = invoice_validation - - if "easypost_details" in params: - wrapped_params["easypost_details"] = params["easypost_details"] - - return wrapped_params - - def _ensure_name_field(self, mapping: dict[str, Any]) -> None: - """Ensures the "name" field exists in the provided map. - If not present, generates a UUID (with hyphens removed) as the name. - This follows the pattern used in the web UI implementation. - """ - if "name" not in mapping or mapping["name"] is None: - mapping["name"] = str(uuid.uuid4()).replace("-", "") diff --git a/easypost/services/insurance_service.html b/easypost/services/insurance_service.html new file mode 100644 index 00000000..e47886ce --- /dev/null +++ b/easypost/services/insurance_service.html @@ -0,0 +1,545 @@ + + + + + + + easypost.services.insurance_service API documentation + + + + + + + + + +
+
+

+easypost.services.insurance_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.easypost_object import convert_to_easypost_object
+ 7from easypost.models import Insurance
+ 8from easypost.requestor import (
+ 9    RequestMethod,
+10    Requestor,
+11)
+12from easypost.services.base_service import BaseService
+13
+14
+15class InsuranceService(BaseService):
+16    def __init__(self, client):
+17        self._client = client
+18        self._model_class = Insurance.__name__
+19
+20    def create(self, **params) -> Insurance:
+21        """Create an Insurance."""
+22        return self._create_resource(self._model_class, **params)
+23
+24    def all(self, **params) -> dict[str, Any]:
+25        """Retrieve a list of Insurances."""
+26        filters = {
+27            "key": "insurances",
+28        }
+29
+30        return self._all_resources(self._model_class, filters, **params)
+31
+32    def retrieve(self, id: str) -> Insurance:
+33        """Retrieve an Insurance."""
+34        return self._retrieve_resource(self._model_class, id)
+35
+36    def get_next_page(
+37        self,
+38        insurances: dict[str, Any],
+39        page_size: int,
+40        optional_params: Optional[dict[str, Any]] = None,
+41    ) -> dict[str, Any]:
+42        """Retrieve the next page of the list Insurance response."""
+43        self._check_has_next_page(collection=insurances)
+44
+45        params = {
+46            "before_id": insurances["insurances"][-1].id,
+47            "page_size": page_size,
+48        }
+49
+50        if optional_params:
+51            params.update(optional_params)
+52
+53        return self.all(**params)
+54
+55    def refund(self, id: str) -> Insurance:
+56        url = f"/insurances/{id}/refund"
+57        response = Requestor(self._client).request(
+58            method=RequestMethod.POST,
+59            url=url,
+60        )
+61
+62        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + InsuranceService(easypost.services.base_service.BaseService): + + + +
+ +
16class InsuranceService(BaseService):
+17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = Insurance.__name__
+20
+21    def create(self, **params) -> Insurance:
+22        """Create an Insurance."""
+23        return self._create_resource(self._model_class, **params)
+24
+25    def all(self, **params) -> dict[str, Any]:
+26        """Retrieve a list of Insurances."""
+27        filters = {
+28            "key": "insurances",
+29        }
+30
+31        return self._all_resources(self._model_class, filters, **params)
+32
+33    def retrieve(self, id: str) -> Insurance:
+34        """Retrieve an Insurance."""
+35        return self._retrieve_resource(self._model_class, id)
+36
+37    def get_next_page(
+38        self,
+39        insurances: dict[str, Any],
+40        page_size: int,
+41        optional_params: Optional[dict[str, Any]] = None,
+42    ) -> dict[str, Any]:
+43        """Retrieve the next page of the list Insurance response."""
+44        self._check_has_next_page(collection=insurances)
+45
+46        params = {
+47            "before_id": insurances["insurances"][-1].id,
+48            "page_size": page_size,
+49        }
+50
+51        if optional_params:
+52            params.update(optional_params)
+53
+54        return self.all(**params)
+55
+56    def refund(self, id: str) -> Insurance:
+57        url = f"/insurances/{id}/refund"
+58        response = Requestor(self._client).request(
+59            method=RequestMethod.POST,
+60            url=url,
+61        )
+62
+63        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + InsuranceService(client) + + + +
+ +
17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = Insurance.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.insurance.Insurance: + + + +
+ +
21    def create(self, **params) -> Insurance:
+22        """Create an Insurance."""
+23        return self._create_resource(self._model_class, **params)
+
+ + +

Create an Insurance.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
25    def all(self, **params) -> dict[str, Any]:
+26        """Retrieve a list of Insurances."""
+27        filters = {
+28            "key": "insurances",
+29        }
+30
+31        return self._all_resources(self._model_class, filters, **params)
+
+ + +

Retrieve a list of Insurances.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.insurance.Insurance: + + + +
+ +
33    def retrieve(self, id: str) -> Insurance:
+34        """Retrieve an Insurance."""
+35        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve an Insurance.

+
+ + +
+
+ +
+ + def + get_next_page( self, insurances: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
37    def get_next_page(
+38        self,
+39        insurances: dict[str, Any],
+40        page_size: int,
+41        optional_params: Optional[dict[str, Any]] = None,
+42    ) -> dict[str, Any]:
+43        """Retrieve the next page of the list Insurance response."""
+44        self._check_has_next_page(collection=insurances)
+45
+46        params = {
+47            "before_id": insurances["insurances"][-1].id,
+48            "page_size": page_size,
+49        }
+50
+51        if optional_params:
+52            params.update(optional_params)
+53
+54        return self.all(**params)
+
+ + +

Retrieve the next page of the list Insurance response.

+
+ + +
+
+ +
+ + def + refund(self, id: str) -> easypost.models.insurance.Insurance: + + + +
+ +
56    def refund(self, id: str) -> Insurance:
+57        url = f"/insurances/{id}/refund"
+58        response = Requestor(self._client).request(
+59            method=RequestMethod.POST,
+60            url=url,
+61        )
+62
+63        return convert_to_easypost_object(response=response)
+
+ + + + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/insurance_service.py b/easypost/services/insurance_service.py deleted file mode 100644 index c60ea30f..00000000 --- a/easypost/services/insurance_service.py +++ /dev/null @@ -1,62 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import Insurance -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class InsuranceService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Insurance.__name__ - - def create(self, **params) -> Insurance: - """Create an Insurance.""" - return self._create_resource(self._model_class, **params) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Insurances.""" - filters = { - "key": "insurances", - } - - return self._all_resources(self._model_class, filters, **params) - - def retrieve(self, id: str) -> Insurance: - """Retrieve an Insurance.""" - return self._retrieve_resource(self._model_class, id) - - def get_next_page( - self, - insurances: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve the next page of the list Insurance response.""" - self._check_has_next_page(collection=insurances) - - params = { - "before_id": insurances["insurances"][-1].id, - "page_size": page_size, - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) - - def refund(self, id: str) -> Insurance: - url = f"/insurances/{id}/refund" - response = Requestor(self._client).request( - method=RequestMethod.POST, - url=url, - ) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/luma_service.html b/easypost/services/luma_service.html new file mode 100644 index 00000000..ba784eb9 --- /dev/null +++ b/easypost/services/luma_service.html @@ -0,0 +1,374 @@ + + + + + + + easypost.services.luma_service API documentation + + + + + + + + + +
+
+

+easypost.services.luma_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3)
+ 4
+ 5from easypost.easypost_object import convert_to_easypost_object
+ 6from easypost.models import (
+ 7    Shipment,
+ 8)
+ 9from easypost.requestor import (
+10    RequestMethod,
+11    Requestor,
+12)
+13from easypost.services.base_service import BaseService
+14
+15
+16class LumaService(BaseService):
+17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = "Luma"
+20
+21    def get_promise(
+22        self,
+23        **params: dict[str, Any],
+24    ) -> Shipment:
+25        """Get service recommendations from Luma that meet the criteria of your ruleset."""
+26        url = "/luma/promise"
+27        wrapped_params = {
+28            self._snakecase_name("Shipment"): params,
+29        }
+30
+31        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+32
+33        return convert_to_easypost_object(response=response.get("luma_info", {}))
+
+ + +
+
+ +
+ + class + LumaService(easypost.services.base_service.BaseService): + + + +
+ +
17class LumaService(BaseService):
+18    def __init__(self, client):
+19        self._client = client
+20        self._model_class = "Luma"
+21
+22    def get_promise(
+23        self,
+24        **params: dict[str, Any],
+25    ) -> Shipment:
+26        """Get service recommendations from Luma that meet the criteria of your ruleset."""
+27        url = "/luma/promise"
+28        wrapped_params = {
+29            self._snakecase_name("Shipment"): params,
+30        }
+31
+32        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+33
+34        return convert_to_easypost_object(response=response.get("luma_info", {}))
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + LumaService(client) + + + +
+ +
18    def __init__(self, client):
+19        self._client = client
+20        self._model_class = "Luma"
+
+ + + + +
+
+ +
+ + def + get_promise( self, **params: dict[str, typing.Any]) -> easypost.models.shipment.Shipment: + + + +
+ +
22    def get_promise(
+23        self,
+24        **params: dict[str, Any],
+25    ) -> Shipment:
+26        """Get service recommendations from Luma that meet the criteria of your ruleset."""
+27        url = "/luma/promise"
+28        wrapped_params = {
+29            self._snakecase_name("Shipment"): params,
+30        }
+31
+32        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+33
+34        return convert_to_easypost_object(response=response.get("luma_info", {}))
+
+ + +

Get service recommendations from Luma that meet the criteria of your ruleset.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/luma_service.py b/easypost/services/luma_service.py deleted file mode 100644 index 12024515..00000000 --- a/easypost/services/luma_service.py +++ /dev/null @@ -1,33 +0,0 @@ -from typing import ( - Any, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import ( - Shipment, -) -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class LumaService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = "Luma" - - def get_promise( - self, - **params: dict[str, Any], - ) -> Shipment: - """Get service recommendations from Luma that meet the criteria of your ruleset.""" - url = "/luma/promise" - wrapped_params = { - self._snakecase_name("Shipment"): params, - } - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response.get("luma_info", {})) diff --git a/easypost/services/order_service.html b/easypost/services/order_service.html new file mode 100644 index 00000000..9a4f8325 --- /dev/null +++ b/easypost/services/order_service.html @@ -0,0 +1,461 @@ + + + + + + + easypost.services.order_service API documentation + + + + + + + + + +
+
+

+easypost.services.order_service

+ + + + + + +
 1from easypost.easypost_object import convert_to_easypost_object
+ 2from easypost.models import Order
+ 3from easypost.requestor import (
+ 4    RequestMethod,
+ 5    Requestor,
+ 6)
+ 7from easypost.services.base_service import BaseService
+ 8
+ 9
+10class OrderService(BaseService):
+11    def __init__(self, client):
+12        self._client = client
+13        self._model_class = Order.__name__
+14
+15    def create(self, **params) -> Order:
+16        """Create an Order."""
+17        return self._create_resource(self._model_class, **params)
+18
+19    def retrieve(self, id: str) -> Order:
+20        """Retrieve an Order."""
+21        return self._retrieve_resource(self._model_class, id)
+22
+23    def get_rates(self, id: str) -> Order:
+24        """Get rates for an Order."""
+25        url = f"{self._instance_url(self._model_class, id)}/rates"
+26
+27        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+28
+29        return convert_to_easypost_object(response=response)
+30
+31    def buy(self, id: str, **params) -> Order:
+32        """Buy an Order."""
+33        url = f"{self._instance_url(self._model_class, id)}/buy"
+34
+35        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+36
+37        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + OrderService(easypost.services.base_service.BaseService): + + + +
+ +
11class OrderService(BaseService):
+12    def __init__(self, client):
+13        self._client = client
+14        self._model_class = Order.__name__
+15
+16    def create(self, **params) -> Order:
+17        """Create an Order."""
+18        return self._create_resource(self._model_class, **params)
+19
+20    def retrieve(self, id: str) -> Order:
+21        """Retrieve an Order."""
+22        return self._retrieve_resource(self._model_class, id)
+23
+24    def get_rates(self, id: str) -> Order:
+25        """Get rates for an Order."""
+26        url = f"{self._instance_url(self._model_class, id)}/rates"
+27
+28        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+29
+30        return convert_to_easypost_object(response=response)
+31
+32    def buy(self, id: str, **params) -> Order:
+33        """Buy an Order."""
+34        url = f"{self._instance_url(self._model_class, id)}/buy"
+35
+36        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+37
+38        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + OrderService(client) + + + +
+ +
12    def __init__(self, client):
+13        self._client = client
+14        self._model_class = Order.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.order.Order: + + + +
+ +
16    def create(self, **params) -> Order:
+17        """Create an Order."""
+18        return self._create_resource(self._model_class, **params)
+
+ + +

Create an Order.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.order.Order: + + + +
+ +
20    def retrieve(self, id: str) -> Order:
+21        """Retrieve an Order."""
+22        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve an Order.

+
+ + +
+
+ +
+ + def + get_rates(self, id: str) -> easypost.models.order.Order: + + + +
+ +
24    def get_rates(self, id: str) -> Order:
+25        """Get rates for an Order."""
+26        url = f"{self._instance_url(self._model_class, id)}/rates"
+27
+28        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+29
+30        return convert_to_easypost_object(response=response)
+
+ + +

Get rates for an Order.

+
+ + +
+
+ +
+ + def + buy(self, id: str, **params) -> easypost.models.order.Order: + + + +
+ +
32    def buy(self, id: str, **params) -> Order:
+33        """Buy an Order."""
+34        url = f"{self._instance_url(self._model_class, id)}/buy"
+35
+36        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+37
+38        return convert_to_easypost_object(response=response)
+
+ + +

Buy an Order.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/order_service.py b/easypost/services/order_service.py deleted file mode 100644 index 0624b6ee..00000000 --- a/easypost/services/order_service.py +++ /dev/null @@ -1,37 +0,0 @@ -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import Order -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class OrderService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Order.__name__ - - def create(self, **params) -> Order: - """Create an Order.""" - return self._create_resource(self._model_class, **params) - - def retrieve(self, id: str) -> Order: - """Retrieve an Order.""" - return self._retrieve_resource(self._model_class, id) - - def get_rates(self, id: str) -> Order: - """Get rates for an Order.""" - url = f"{self._instance_url(self._model_class, id)}/rates" - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url) - - return convert_to_easypost_object(response=response) - - def buy(self, id: str, **params) -> Order: - """Buy an Order.""" - url = f"{self._instance_url(self._model_class, id)}/buy" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/parcel_service.html b/easypost/services/parcel_service.html new file mode 100644 index 00000000..af9754d4 --- /dev/null +++ b/easypost/services/parcel_service.html @@ -0,0 +1,366 @@ + + + + + + + easypost.services.parcel_service API documentation + + + + + + + + + +
+
+

+easypost.services.parcel_service

+ + + + + + +
 1from easypost.models import Parcel
+ 2from easypost.services.base_service import BaseService
+ 3
+ 4
+ 5class ParcelService(BaseService):
+ 6    def __init__(self, client):
+ 7        self._client = client
+ 8        self._model_class = Parcel.__name__
+ 9
+10    def create(self, **params) -> Parcel:
+11        """Create a Parcel."""
+12        return self._create_resource(self._model_class, **params)
+13
+14    def retrieve(self, id: str) -> Parcel:
+15        """Retrieve a Parcel."""
+16        return self._retrieve_resource(self._model_class, id)
+
+ + +
+
+ +
+ + class + ParcelService(easypost.services.base_service.BaseService): + + + +
+ +
 6class ParcelService(BaseService):
+ 7    def __init__(self, client):
+ 8        self._client = client
+ 9        self._model_class = Parcel.__name__
+10
+11    def create(self, **params) -> Parcel:
+12        """Create a Parcel."""
+13        return self._create_resource(self._model_class, **params)
+14
+15    def retrieve(self, id: str) -> Parcel:
+16        """Retrieve a Parcel."""
+17        return self._retrieve_resource(self._model_class, id)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + ParcelService(client) + + + +
+ +
7    def __init__(self, client):
+8        self._client = client
+9        self._model_class = Parcel.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.parcel.Parcel: + + + +
+ +
11    def create(self, **params) -> Parcel:
+12        """Create a Parcel."""
+13        return self._create_resource(self._model_class, **params)
+
+ + +

Create a Parcel.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.parcel.Parcel: + + + +
+ +
15    def retrieve(self, id: str) -> Parcel:
+16        """Retrieve a Parcel."""
+17        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a Parcel.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/parcel_service.py b/easypost/services/parcel_service.py deleted file mode 100644 index 6b71781f..00000000 --- a/easypost/services/parcel_service.py +++ /dev/null @@ -1,16 +0,0 @@ -from easypost.models import Parcel -from easypost.services.base_service import BaseService - - -class ParcelService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Parcel.__name__ - - def create(self, **params) -> Parcel: - """Create a Parcel.""" - return self._create_resource(self._model_class, **params) - - def retrieve(self, id: str) -> Parcel: - """Retrieve a Parcel.""" - return self._retrieve_resource(self._model_class, id) diff --git a/easypost/services/pickup_service.html b/easypost/services/pickup_service.html new file mode 100644 index 00000000..935718fe --- /dev/null +++ b/easypost/services/pickup_service.html @@ -0,0 +1,589 @@ + + + + + + + easypost.services.pickup_service API documentation + + + + + + + + + +
+
+

+easypost.services.pickup_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.easypost_object import convert_to_easypost_object
+ 7from easypost.models import Pickup
+ 8from easypost.requestor import (
+ 9    RequestMethod,
+10    Requestor,
+11)
+12from easypost.services.base_service import BaseService
+13
+14
+15class PickupService(BaseService):
+16    def __init__(self, client):
+17        self._client = client
+18        self._model_class = Pickup.__name__
+19
+20    def create(self, **params) -> Pickup:
+21        """Create a Pickup."""
+22        return self._create_resource(self._model_class, **params)
+23
+24    def all(self, **params) -> dict[str, Any]:
+25        """Retrieve a list of Pickups."""
+26        filters = {
+27            "key": "pickups",
+28        }
+29
+30        return self._all_resources(self._model_class, filters, **params)
+31
+32    def retrieve(self, id: str) -> Pickup:
+33        """Retrieve a Pickup."""
+34        return self._retrieve_resource(self._model_class, id)
+35
+36    def get_next_page(
+37        self,
+38        pickups: dict[str, Any],
+39        page_size: int,
+40        optional_params: Optional[dict[str, Any]] = None,
+41    ) -> dict[str, Any]:
+42        """Retrieve the next page of the list Pickup response."""
+43        self._check_has_next_page(collection=pickups)
+44
+45        params = {
+46            "before_id": pickups["pickups"][-1].id,
+47            "page_size": page_size,
+48        }
+49
+50        if optional_params:
+51            params.update(optional_params)
+52
+53        return self.all(**params)
+54
+55    def buy(self, id: str, **params) -> Pickup:
+56        """Buy a Pickup."""
+57        url = f"{self._instance_url(self._model_class, id)}/buy"
+58
+59        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+60
+61        return convert_to_easypost_object(response=response)
+62
+63    def cancel(self, id: str, **params) -> Pickup:
+64        """Cancel a Pickup."""
+65        url = f"{self._instance_url(self._model_class, id)}/cancel"
+66
+67        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+68
+69        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + PickupService(easypost.services.base_service.BaseService): + + + +
+ +
16class PickupService(BaseService):
+17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = Pickup.__name__
+20
+21    def create(self, **params) -> Pickup:
+22        """Create a Pickup."""
+23        return self._create_resource(self._model_class, **params)
+24
+25    def all(self, **params) -> dict[str, Any]:
+26        """Retrieve a list of Pickups."""
+27        filters = {
+28            "key": "pickups",
+29        }
+30
+31        return self._all_resources(self._model_class, filters, **params)
+32
+33    def retrieve(self, id: str) -> Pickup:
+34        """Retrieve a Pickup."""
+35        return self._retrieve_resource(self._model_class, id)
+36
+37    def get_next_page(
+38        self,
+39        pickups: dict[str, Any],
+40        page_size: int,
+41        optional_params: Optional[dict[str, Any]] = None,
+42    ) -> dict[str, Any]:
+43        """Retrieve the next page of the list Pickup response."""
+44        self._check_has_next_page(collection=pickups)
+45
+46        params = {
+47            "before_id": pickups["pickups"][-1].id,
+48            "page_size": page_size,
+49        }
+50
+51        if optional_params:
+52            params.update(optional_params)
+53
+54        return self.all(**params)
+55
+56    def buy(self, id: str, **params) -> Pickup:
+57        """Buy a Pickup."""
+58        url = f"{self._instance_url(self._model_class, id)}/buy"
+59
+60        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+61
+62        return convert_to_easypost_object(response=response)
+63
+64    def cancel(self, id: str, **params) -> Pickup:
+65        """Cancel a Pickup."""
+66        url = f"{self._instance_url(self._model_class, id)}/cancel"
+67
+68        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+69
+70        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + PickupService(client) + + + +
+ +
17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = Pickup.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.pickup.Pickup: + + + +
+ +
21    def create(self, **params) -> Pickup:
+22        """Create a Pickup."""
+23        return self._create_resource(self._model_class, **params)
+
+ + +

Create a Pickup.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
25    def all(self, **params) -> dict[str, Any]:
+26        """Retrieve a list of Pickups."""
+27        filters = {
+28            "key": "pickups",
+29        }
+30
+31        return self._all_resources(self._model_class, filters, **params)
+
+ + +

Retrieve a list of Pickups.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.pickup.Pickup: + + + +
+ +
33    def retrieve(self, id: str) -> Pickup:
+34        """Retrieve a Pickup."""
+35        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a Pickup.

+
+ + +
+
+ +
+ + def + get_next_page( self, pickups: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
37    def get_next_page(
+38        self,
+39        pickups: dict[str, Any],
+40        page_size: int,
+41        optional_params: Optional[dict[str, Any]] = None,
+42    ) -> dict[str, Any]:
+43        """Retrieve the next page of the list Pickup response."""
+44        self._check_has_next_page(collection=pickups)
+45
+46        params = {
+47            "before_id": pickups["pickups"][-1].id,
+48            "page_size": page_size,
+49        }
+50
+51        if optional_params:
+52            params.update(optional_params)
+53
+54        return self.all(**params)
+
+ + +

Retrieve the next page of the list Pickup response.

+
+ + +
+
+ +
+ + def + buy(self, id: str, **params) -> easypost.models.pickup.Pickup: + + + +
+ +
56    def buy(self, id: str, **params) -> Pickup:
+57        """Buy a Pickup."""
+58        url = f"{self._instance_url(self._model_class, id)}/buy"
+59
+60        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+61
+62        return convert_to_easypost_object(response=response)
+
+ + +

Buy a Pickup.

+
+ + +
+
+ +
+ + def + cancel(self, id: str, **params) -> easypost.models.pickup.Pickup: + + + +
+ +
64    def cancel(self, id: str, **params) -> Pickup:
+65        """Cancel a Pickup."""
+66        url = f"{self._instance_url(self._model_class, id)}/cancel"
+67
+68        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+69
+70        return convert_to_easypost_object(response=response)
+
+ + +

Cancel a Pickup.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/pickup_service.py b/easypost/services/pickup_service.py deleted file mode 100644 index b38291ca..00000000 --- a/easypost/services/pickup_service.py +++ /dev/null @@ -1,69 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import Pickup -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class PickupService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Pickup.__name__ - - def create(self, **params) -> Pickup: - """Create a Pickup.""" - return self._create_resource(self._model_class, **params) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Pickups.""" - filters = { - "key": "pickups", - } - - return self._all_resources(self._model_class, filters, **params) - - def retrieve(self, id: str) -> Pickup: - """Retrieve a Pickup.""" - return self._retrieve_resource(self._model_class, id) - - def get_next_page( - self, - pickups: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve the next page of the list Pickup response.""" - self._check_has_next_page(collection=pickups) - - params = { - "before_id": pickups["pickups"][-1].id, - "page_size": page_size, - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) - - def buy(self, id: str, **params) -> Pickup: - """Buy a Pickup.""" - url = f"{self._instance_url(self._model_class, id)}/buy" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def cancel(self, id: str, **params) -> Pickup: - """Cancel a Pickup.""" - url = f"{self._instance_url(self._model_class, id)}/cancel" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/rate_service.html b/easypost/services/rate_service.html new file mode 100644 index 00000000..aa4c3933 --- /dev/null +++ b/easypost/services/rate_service.html @@ -0,0 +1,333 @@ + + + + + + + easypost.services.rate_service API documentation + + + + + + + + + +
+
+

+easypost.services.rate_service

+ + + + + + +
 1from easypost.models import Rate
+ 2from easypost.services.base_service import BaseService
+ 3
+ 4
+ 5class RateService(BaseService):
+ 6    def __init__(self, client):
+ 7        self._client = client
+ 8        self._model_class = Rate.__name__
+ 9
+10    def retrieve(self, id: str) -> Rate:
+11        """Retrieve a Rate."""
+12        return self._retrieve_resource(self._model_class, id)
+
+ + +
+
+ +
+ + class + RateService(easypost.services.base_service.BaseService): + + + +
+ +
 6class RateService(BaseService):
+ 7    def __init__(self, client):
+ 8        self._client = client
+ 9        self._model_class = Rate.__name__
+10
+11    def retrieve(self, id: str) -> Rate:
+12        """Retrieve a Rate."""
+13        return self._retrieve_resource(self._model_class, id)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + RateService(client) + + + +
+ +
7    def __init__(self, client):
+8        self._client = client
+9        self._model_class = Rate.__name__
+
+ + + + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.rate.Rate: + + + +
+ +
11    def retrieve(self, id: str) -> Rate:
+12        """Retrieve a Rate."""
+13        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a Rate.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/rate_service.py b/easypost/services/rate_service.py deleted file mode 100644 index 00f8e1bf..00000000 --- a/easypost/services/rate_service.py +++ /dev/null @@ -1,12 +0,0 @@ -from easypost.models import Rate -from easypost.services.base_service import BaseService - - -class RateService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Rate.__name__ - - def retrieve(self, id: str) -> Rate: - """Retrieve a Rate.""" - return self._retrieve_resource(self._model_class, id) diff --git a/easypost/services/referral_customer_service.html b/easypost/services/referral_customer_service.html new file mode 100644 index 00000000..5936a64d --- /dev/null +++ b/easypost/services/referral_customer_service.html @@ -0,0 +1,879 @@ + + + + + + + easypost.services.referral_customer_service API documentation + + + + + + + + + +
+
+

+easypost.services.referral_customer_service

+ + + + + + +
  1from copy import deepcopy
+  2from typing import (
+  3    Any,
+  4    Optional,
+  5)
+  6
+  7from easypost.constant import (
+  8    _FILTERS_KEY,
+  9)
+ 10from easypost.easypost_object import convert_to_easypost_object
+ 11from easypost.models import User
+ 12from easypost.requestor import (
+ 13    RequestMethod,
+ 14    Requestor,
+ 15)
+ 16from easypost.services.base_service import BaseService
+ 17
+ 18
+ 19class ReferralCustomerService(BaseService):
+ 20    def __init__(self, client):
+ 21        self._client = client
+ 22        self._model_class = User.__name__
+ 23
+ 24    def create(self, **params) -> User:
+ 25        """Create a referral customer.
+ 26
+ 27        This function requires the Partner User's API key.
+ 28        """
+ 29        wrapped_params = {"user": params}
+ 30
+ 31        response = Requestor(self._client).request(
+ 32            method=RequestMethod.POST,
+ 33            url="/referral_customers",
+ 34            params=wrapped_params,
+ 35        )
+ 36
+ 37        return convert_to_easypost_object(response=response)
+ 38
+ 39    def update_email(self, id: str, email: str) -> None:
+ 40        """Update a referral customer.
+ 41
+ 42        This function requires the Partner User's API key.
+ 43        """
+ 44        url = f"/referral_customers/{id}"
+ 45        wrapped_params = {
+ 46            "user": {
+ 47                "email": email,
+ 48            }
+ 49        }
+ 50
+ 51        Requestor(self._client).request(
+ 52            method=RequestMethod.PUT,
+ 53            url=url,
+ 54            params=wrapped_params,
+ 55        )
+ 56
+ 57    def all(self, **params) -> dict[str, Any]:
+ 58        """Retrieve a list of referral customers.
+ 59
+ 60        This function requires the Partner User's API key.
+ 61        """
+ 62        filters = {
+ 63            "key": "referral_customers",
+ 64        }
+ 65
+ 66        url = "/referral_customers"
+ 67
+ 68        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+ 69
+ 70        response[_FILTERS_KEY] = filters  # Save the filters used to reference in potential get_next_page call
+ 71
+ 72        return convert_to_easypost_object(response=response)
+ 73
+ 74    def get_next_page(
+ 75        self,
+ 76        referral_customers: dict[str, Any],
+ 77        page_size: int,
+ 78        optional_params: Optional[dict[str, Any]] = None,
+ 79    ) -> dict[str, Any]:
+ 80        """Retrieve next page of referral customers."""
+ 81        self._check_has_next_page(collection=referral_customers)
+ 82
+ 83        params = {
+ 84            "before_id": referral_customers["referral_customers"][-1].id,
+ 85            "page_size": page_size,
+ 86        }
+ 87
+ 88        if optional_params:
+ 89            params.update(optional_params)
+ 90
+ 91        return self.all(**params)
+ 92
+ 93    def add_credit_card_from_stripe(
+ 94        self,
+ 95        referral_api_key: str,
+ 96        payment_method_id: str,
+ 97        priority: str = "primary",
+ 98    ) -> dict[str, Any]:
+ 99        """Add a credit card to EasyPost for a ReferralCustomer with a payment method ID from Stripe.
+100
+101        This function requires the ReferralCustomer User's API key.
+102        """
+103        params = {
+104            "credit_card": {
+105                "payment_method_id": payment_method_id,
+106                "priority": priority,
+107            }
+108        }
+109
+110        # Override the API key to use the referral's for this single request
+111        referral_client = deepcopy(self._client)
+112        referral_client.api_key = referral_api_key
+113
+114        response = Requestor(referral_client).request(
+115            method=RequestMethod.POST,
+116            params=params,
+117            url="/credit_cards",
+118        )
+119
+120        return convert_to_easypost_object(response)
+121
+122    def add_bank_account_from_stripe(
+123        self,
+124        referral_api_key: str,
+125        financial_connections_id: str,
+126        mandate_data: dict[str, Any],
+127        priority: str = "primary",
+128    ) -> dict[str, Any]:
+129        """Add a bank account to EasyPost for a ReferralCustomer.
+130
+131        This function requires the ReferralCustomer User's API key.
+132        """
+133        params = {
+134            "financial_connections_id": financial_connections_id,
+135            "mandate_data": mandate_data,
+136            "priority": priority,
+137        }
+138
+139        # Override the API key to use the referral's for this single request
+140        referral_client = deepcopy(self._client)
+141        referral_client.api_key = referral_api_key
+142
+143        response = Requestor(referral_client).request(
+144            method=RequestMethod.POST,
+145            params=params,
+146            url="/bank_accounts",
+147        )
+148
+149        return convert_to_easypost_object(response)
+150
+151    def retrieve_easypost_stripe_api_key(self) -> str:
+152        """Retrieve EasyPost's Stripe public API key."""
+153        public_key = Requestor(self._client).request(
+154            method=RequestMethod.GET,
+155            url="/partners/stripe_public_key",
+156        )
+157
+158        return public_key.get("public_key", "")
+
+ + +
+
+ +
+ + class + ReferralCustomerService(easypost.services.base_service.BaseService): + + + +
+ +
 20class ReferralCustomerService(BaseService):
+ 21    def __init__(self, client):
+ 22        self._client = client
+ 23        self._model_class = User.__name__
+ 24
+ 25    def create(self, **params) -> User:
+ 26        """Create a referral customer.
+ 27
+ 28        This function requires the Partner User's API key.
+ 29        """
+ 30        wrapped_params = {"user": params}
+ 31
+ 32        response = Requestor(self._client).request(
+ 33            method=RequestMethod.POST,
+ 34            url="/referral_customers",
+ 35            params=wrapped_params,
+ 36        )
+ 37
+ 38        return convert_to_easypost_object(response=response)
+ 39
+ 40    def update_email(self, id: str, email: str) -> None:
+ 41        """Update a referral customer.
+ 42
+ 43        This function requires the Partner User's API key.
+ 44        """
+ 45        url = f"/referral_customers/{id}"
+ 46        wrapped_params = {
+ 47            "user": {
+ 48                "email": email,
+ 49            }
+ 50        }
+ 51
+ 52        Requestor(self._client).request(
+ 53            method=RequestMethod.PUT,
+ 54            url=url,
+ 55            params=wrapped_params,
+ 56        )
+ 57
+ 58    def all(self, **params) -> dict[str, Any]:
+ 59        """Retrieve a list of referral customers.
+ 60
+ 61        This function requires the Partner User's API key.
+ 62        """
+ 63        filters = {
+ 64            "key": "referral_customers",
+ 65        }
+ 66
+ 67        url = "/referral_customers"
+ 68
+ 69        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+ 70
+ 71        response[_FILTERS_KEY] = filters  # Save the filters used to reference in potential get_next_page call
+ 72
+ 73        return convert_to_easypost_object(response=response)
+ 74
+ 75    def get_next_page(
+ 76        self,
+ 77        referral_customers: dict[str, Any],
+ 78        page_size: int,
+ 79        optional_params: Optional[dict[str, Any]] = None,
+ 80    ) -> dict[str, Any]:
+ 81        """Retrieve next page of referral customers."""
+ 82        self._check_has_next_page(collection=referral_customers)
+ 83
+ 84        params = {
+ 85            "before_id": referral_customers["referral_customers"][-1].id,
+ 86            "page_size": page_size,
+ 87        }
+ 88
+ 89        if optional_params:
+ 90            params.update(optional_params)
+ 91
+ 92        return self.all(**params)
+ 93
+ 94    def add_credit_card_from_stripe(
+ 95        self,
+ 96        referral_api_key: str,
+ 97        payment_method_id: str,
+ 98        priority: str = "primary",
+ 99    ) -> dict[str, Any]:
+100        """Add a credit card to EasyPost for a ReferralCustomer with a payment method ID from Stripe.
+101
+102        This function requires the ReferralCustomer User's API key.
+103        """
+104        params = {
+105            "credit_card": {
+106                "payment_method_id": payment_method_id,
+107                "priority": priority,
+108            }
+109        }
+110
+111        # Override the API key to use the referral's for this single request
+112        referral_client = deepcopy(self._client)
+113        referral_client.api_key = referral_api_key
+114
+115        response = Requestor(referral_client).request(
+116            method=RequestMethod.POST,
+117            params=params,
+118            url="/credit_cards",
+119        )
+120
+121        return convert_to_easypost_object(response)
+122
+123    def add_bank_account_from_stripe(
+124        self,
+125        referral_api_key: str,
+126        financial_connections_id: str,
+127        mandate_data: dict[str, Any],
+128        priority: str = "primary",
+129    ) -> dict[str, Any]:
+130        """Add a bank account to EasyPost for a ReferralCustomer.
+131
+132        This function requires the ReferralCustomer User's API key.
+133        """
+134        params = {
+135            "financial_connections_id": financial_connections_id,
+136            "mandate_data": mandate_data,
+137            "priority": priority,
+138        }
+139
+140        # Override the API key to use the referral's for this single request
+141        referral_client = deepcopy(self._client)
+142        referral_client.api_key = referral_api_key
+143
+144        response = Requestor(referral_client).request(
+145            method=RequestMethod.POST,
+146            params=params,
+147            url="/bank_accounts",
+148        )
+149
+150        return convert_to_easypost_object(response)
+151
+152    def retrieve_easypost_stripe_api_key(self) -> str:
+153        """Retrieve EasyPost's Stripe public API key."""
+154        public_key = Requestor(self._client).request(
+155            method=RequestMethod.GET,
+156            url="/partners/stripe_public_key",
+157        )
+158
+159        return public_key.get("public_key", "")
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + ReferralCustomerService(client) + + + +
+ +
21    def __init__(self, client):
+22        self._client = client
+23        self._model_class = User.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.user.User: + + + +
+ +
25    def create(self, **params) -> User:
+26        """Create a referral customer.
+27
+28        This function requires the Partner User's API key.
+29        """
+30        wrapped_params = {"user": params}
+31
+32        response = Requestor(self._client).request(
+33            method=RequestMethod.POST,
+34            url="/referral_customers",
+35            params=wrapped_params,
+36        )
+37
+38        return convert_to_easypost_object(response=response)
+
+ + +

Create a referral customer.

+ +

This function requires the Partner User's API key.

+
+ + +
+
+ +
+ + def + update_email(self, id: str, email: str) -> None: + + + +
+ +
40    def update_email(self, id: str, email: str) -> None:
+41        """Update a referral customer.
+42
+43        This function requires the Partner User's API key.
+44        """
+45        url = f"/referral_customers/{id}"
+46        wrapped_params = {
+47            "user": {
+48                "email": email,
+49            }
+50        }
+51
+52        Requestor(self._client).request(
+53            method=RequestMethod.PUT,
+54            url=url,
+55            params=wrapped_params,
+56        )
+
+ + +

Update a referral customer.

+ +

This function requires the Partner User's API key.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
58    def all(self, **params) -> dict[str, Any]:
+59        """Retrieve a list of referral customers.
+60
+61        This function requires the Partner User's API key.
+62        """
+63        filters = {
+64            "key": "referral_customers",
+65        }
+66
+67        url = "/referral_customers"
+68
+69        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+70
+71        response[_FILTERS_KEY] = filters  # Save the filters used to reference in potential get_next_page call
+72
+73        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve a list of referral customers.

+ +

This function requires the Partner User's API key.

+
+ + +
+
+ +
+ + def + get_next_page( self, referral_customers: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
75    def get_next_page(
+76        self,
+77        referral_customers: dict[str, Any],
+78        page_size: int,
+79        optional_params: Optional[dict[str, Any]] = None,
+80    ) -> dict[str, Any]:
+81        """Retrieve next page of referral customers."""
+82        self._check_has_next_page(collection=referral_customers)
+83
+84        params = {
+85            "before_id": referral_customers["referral_customers"][-1].id,
+86            "page_size": page_size,
+87        }
+88
+89        if optional_params:
+90            params.update(optional_params)
+91
+92        return self.all(**params)
+
+ + +

Retrieve next page of referral customers.

+
+ + +
+
+ +
+ + def + add_credit_card_from_stripe( self, referral_api_key: str, payment_method_id: str, priority: str = 'primary') -> dict[str, typing.Any]: + + + +
+ +
 94    def add_credit_card_from_stripe(
+ 95        self,
+ 96        referral_api_key: str,
+ 97        payment_method_id: str,
+ 98        priority: str = "primary",
+ 99    ) -> dict[str, Any]:
+100        """Add a credit card to EasyPost for a ReferralCustomer with a payment method ID from Stripe.
+101
+102        This function requires the ReferralCustomer User's API key.
+103        """
+104        params = {
+105            "credit_card": {
+106                "payment_method_id": payment_method_id,
+107                "priority": priority,
+108            }
+109        }
+110
+111        # Override the API key to use the referral's for this single request
+112        referral_client = deepcopy(self._client)
+113        referral_client.api_key = referral_api_key
+114
+115        response = Requestor(referral_client).request(
+116            method=RequestMethod.POST,
+117            params=params,
+118            url="/credit_cards",
+119        )
+120
+121        return convert_to_easypost_object(response)
+
+ + +

Add a credit card to EasyPost for a ReferralCustomer with a payment method ID from Stripe.

+ +

This function requires the ReferralCustomer User's API key.

+
+ + +
+
+ +
+ + def + add_bank_account_from_stripe( self, referral_api_key: str, financial_connections_id: str, mandate_data: dict[str, typing.Any], priority: str = 'primary') -> dict[str, typing.Any]: + + + +
+ +
123    def add_bank_account_from_stripe(
+124        self,
+125        referral_api_key: str,
+126        financial_connections_id: str,
+127        mandate_data: dict[str, Any],
+128        priority: str = "primary",
+129    ) -> dict[str, Any]:
+130        """Add a bank account to EasyPost for a ReferralCustomer.
+131
+132        This function requires the ReferralCustomer User's API key.
+133        """
+134        params = {
+135            "financial_connections_id": financial_connections_id,
+136            "mandate_data": mandate_data,
+137            "priority": priority,
+138        }
+139
+140        # Override the API key to use the referral's for this single request
+141        referral_client = deepcopy(self._client)
+142        referral_client.api_key = referral_api_key
+143
+144        response = Requestor(referral_client).request(
+145            method=RequestMethod.POST,
+146            params=params,
+147            url="/bank_accounts",
+148        )
+149
+150        return convert_to_easypost_object(response)
+
+ + +

Add a bank account to EasyPost for a ReferralCustomer.

+ +

This function requires the ReferralCustomer User's API key.

+
+ + +
+
+ +
+ + def + retrieve_easypost_stripe_api_key(self) -> str: + + + +
+ +
152    def retrieve_easypost_stripe_api_key(self) -> str:
+153        """Retrieve EasyPost's Stripe public API key."""
+154        public_key = Requestor(self._client).request(
+155            method=RequestMethod.GET,
+156            url="/partners/stripe_public_key",
+157        )
+158
+159        return public_key.get("public_key", "")
+
+ + +

Retrieve EasyPost's Stripe public API key.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/referral_customer_service.py b/easypost/services/referral_customer_service.py deleted file mode 100644 index 236715ba..00000000 --- a/easypost/services/referral_customer_service.py +++ /dev/null @@ -1,158 +0,0 @@ -from copy import deepcopy -from typing import ( - Any, - Optional, -) - -from easypost.constant import ( - _FILTERS_KEY, -) -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import User -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class ReferralCustomerService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = User.__name__ - - def create(self, **params) -> User: - """Create a referral customer. - - This function requires the Partner User's API key. - """ - wrapped_params = {"user": params} - - response = Requestor(self._client).request( - method=RequestMethod.POST, - url="/referral_customers", - params=wrapped_params, - ) - - return convert_to_easypost_object(response=response) - - def update_email(self, id: str, email: str) -> None: - """Update a referral customer. - - This function requires the Partner User's API key. - """ - url = f"/referral_customers/{id}" - wrapped_params = { - "user": { - "email": email, - } - } - - Requestor(self._client).request( - method=RequestMethod.PUT, - url=url, - params=wrapped_params, - ) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of referral customers. - - This function requires the Partner User's API key. - """ - filters = { - "key": "referral_customers", - } - - url = "/referral_customers" - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params) - - response[_FILTERS_KEY] = filters # Save the filters used to reference in potential get_next_page call - - return convert_to_easypost_object(response=response) - - def get_next_page( - self, - referral_customers: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve next page of referral customers.""" - self._check_has_next_page(collection=referral_customers) - - params = { - "before_id": referral_customers["referral_customers"][-1].id, - "page_size": page_size, - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) - - def add_credit_card_from_stripe( - self, - referral_api_key: str, - payment_method_id: str, - priority: str = "primary", - ) -> dict[str, Any]: - """Add a credit card to EasyPost for a ReferralCustomer with a payment method ID from Stripe. - - This function requires the ReferralCustomer User's API key. - """ - params = { - "credit_card": { - "payment_method_id": payment_method_id, - "priority": priority, - } - } - - # Override the API key to use the referral's for this single request - referral_client = deepcopy(self._client) - referral_client.api_key = referral_api_key - - response = Requestor(referral_client).request( - method=RequestMethod.POST, - params=params, - url="/credit_cards", - ) - - return convert_to_easypost_object(response) - - def add_bank_account_from_stripe( - self, - referral_api_key: str, - financial_connections_id: str, - mandate_data: dict[str, Any], - priority: str = "primary", - ) -> dict[str, Any]: - """Add a bank account to EasyPost for a ReferralCustomer. - - This function requires the ReferralCustomer User's API key. - """ - params = { - "financial_connections_id": financial_connections_id, - "mandate_data": mandate_data, - "priority": priority, - } - - # Override the API key to use the referral's for this single request - referral_client = deepcopy(self._client) - referral_client.api_key = referral_api_key - - response = Requestor(referral_client).request( - method=RequestMethod.POST, - params=params, - url="/bank_accounts", - ) - - return convert_to_easypost_object(response) - - def retrieve_easypost_stripe_api_key(self) -> str: - """Retrieve EasyPost's Stripe public API key.""" - public_key = Requestor(self._client).request( - method=RequestMethod.GET, - url="/partners/stripe_public_key", - ) - - return public_key.get("public_key", "") diff --git a/easypost/services/refund_service.html b/easypost/services/refund_service.html new file mode 100644 index 00000000..3e5c96be --- /dev/null +++ b/easypost/services/refund_service.html @@ -0,0 +1,494 @@ + + + + + + + easypost.services.refund_service API documentation + + + + + + + + + +
+
+

+easypost.services.refund_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.models import Refund
+ 7from easypost.services.base_service import BaseService
+ 8
+ 9
+10class RefundService(BaseService):
+11    def __init__(self, client):
+12        self._client = client
+13        self._model_class = Refund.__name__
+14
+15    def create(self, **params) -> Refund:
+16        """Create a Shipment Refund."""
+17        return self._create_resource(self._model_class, **params)
+18
+19    def all(self, **params) -> dict[str, Any]:
+20        """Retrieve a list of Shipment Refunds."""
+21        filters = {
+22            "key": "refunds",
+23        }
+24
+25        return self._all_resources(self._model_class, filters, **params)
+26
+27    def retrieve(self, id: str) -> Refund:
+28        """Retrieve a Shipment Refund."""
+29        return self._retrieve_resource(self._model_class, id)
+30
+31    def get_next_page(
+32        self,
+33        refunds: dict[str, Any],
+34        page_size: int,
+35        optional_params: Optional[dict[str, Any]] = None,
+36    ) -> dict[str, Any]:
+37        """Retrieve the next page of the list Refund response."""
+38        self._check_has_next_page(collection=refunds)
+39
+40        params = {
+41            "before_id": refunds["refunds"][-1].id,
+42            "page_size": page_size,
+43        }
+44
+45        if optional_params:
+46            params.update(optional_params)
+47
+48        return self.all(**params)
+
+ + +
+
+ +
+ + class + RefundService(easypost.services.base_service.BaseService): + + + +
+ +
11class RefundService(BaseService):
+12    def __init__(self, client):
+13        self._client = client
+14        self._model_class = Refund.__name__
+15
+16    def create(self, **params) -> Refund:
+17        """Create a Shipment Refund."""
+18        return self._create_resource(self._model_class, **params)
+19
+20    def all(self, **params) -> dict[str, Any]:
+21        """Retrieve a list of Shipment Refunds."""
+22        filters = {
+23            "key": "refunds",
+24        }
+25
+26        return self._all_resources(self._model_class, filters, **params)
+27
+28    def retrieve(self, id: str) -> Refund:
+29        """Retrieve a Shipment Refund."""
+30        return self._retrieve_resource(self._model_class, id)
+31
+32    def get_next_page(
+33        self,
+34        refunds: dict[str, Any],
+35        page_size: int,
+36        optional_params: Optional[dict[str, Any]] = None,
+37    ) -> dict[str, Any]:
+38        """Retrieve the next page of the list Refund response."""
+39        self._check_has_next_page(collection=refunds)
+40
+41        params = {
+42            "before_id": refunds["refunds"][-1].id,
+43            "page_size": page_size,
+44        }
+45
+46        if optional_params:
+47            params.update(optional_params)
+48
+49        return self.all(**params)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + RefundService(client) + + + +
+ +
12    def __init__(self, client):
+13        self._client = client
+14        self._model_class = Refund.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.refund.Refund: + + + +
+ +
16    def create(self, **params) -> Refund:
+17        """Create a Shipment Refund."""
+18        return self._create_resource(self._model_class, **params)
+
+ + +

Create a Shipment Refund.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
20    def all(self, **params) -> dict[str, Any]:
+21        """Retrieve a list of Shipment Refunds."""
+22        filters = {
+23            "key": "refunds",
+24        }
+25
+26        return self._all_resources(self._model_class, filters, **params)
+
+ + +

Retrieve a list of Shipment Refunds.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.refund.Refund: + + + +
+ +
28    def retrieve(self, id: str) -> Refund:
+29        """Retrieve a Shipment Refund."""
+30        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a Shipment Refund.

+
+ + +
+
+ +
+ + def + get_next_page( self, refunds: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
32    def get_next_page(
+33        self,
+34        refunds: dict[str, Any],
+35        page_size: int,
+36        optional_params: Optional[dict[str, Any]] = None,
+37    ) -> dict[str, Any]:
+38        """Retrieve the next page of the list Refund response."""
+39        self._check_has_next_page(collection=refunds)
+40
+41        params = {
+42            "before_id": refunds["refunds"][-1].id,
+43            "page_size": page_size,
+44        }
+45
+46        if optional_params:
+47            params.update(optional_params)
+48
+49        return self.all(**params)
+
+ + +

Retrieve the next page of the list Refund response.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/refund_service.py b/easypost/services/refund_service.py deleted file mode 100644 index e9f2fee5..00000000 --- a/easypost/services/refund_service.py +++ /dev/null @@ -1,48 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.models import Refund -from easypost.services.base_service import BaseService - - -class RefundService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Refund.__name__ - - def create(self, **params) -> Refund: - """Create a Shipment Refund.""" - return self._create_resource(self._model_class, **params) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Shipment Refunds.""" - filters = { - "key": "refunds", - } - - return self._all_resources(self._model_class, filters, **params) - - def retrieve(self, id: str) -> Refund: - """Retrieve a Shipment Refund.""" - return self._retrieve_resource(self._model_class, id) - - def get_next_page( - self, - refunds: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve the next page of the list Refund response.""" - self._check_has_next_page(collection=refunds) - - params = { - "before_id": refunds["refunds"][-1].id, - "page_size": page_size, - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) diff --git a/easypost/services/report_service.html b/easypost/services/report_service.html new file mode 100644 index 00000000..2592a60a --- /dev/null +++ b/easypost/services/report_service.html @@ -0,0 +1,570 @@ + + + + + + + easypost.services.report_service API documentation + + + + + + + + + +
+
+

+easypost.services.report_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.constant import (
+ 7    _FILTERS_KEY,
+ 8    MISSING_PARAMETER_ERROR,
+ 9)
+10from easypost.easypost_object import convert_to_easypost_object
+11from easypost.errors import MissingParameterError
+12from easypost.models import Report
+13from easypost.requestor import (
+14    RequestMethod,
+15    Requestor,
+16)
+17from easypost.services.base_service import BaseService
+18
+19
+20class ReportService(BaseService):
+21    def __init__(self, client):
+22        self._client = client
+23        self._model_class = Report.__name__
+24
+25    def create(self, **params) -> Report:
+26        """Create a Report."""
+27        report_type = params.pop("type")
+28
+29        if report_type is None:
+30            raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type"))
+31
+32        url = f"{self._class_url(self._model_class)}/{report_type}"
+33
+34        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+35
+36        return convert_to_easypost_object(response=response)
+37
+38    def all(self, **params) -> dict[str, Any]:
+39        """Retrieve a list of Reports."""
+40        # Capture some of the parameters used for later reference
+41        filters = {
+42            "key": "reports",
+43            "type": params.get("type", None),
+44        }
+45
+46        report_type = params.pop("type")
+47        if report_type is None:
+48            raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type"))
+49
+50        url = f"{self._class_url(self._model_class)}/{report_type}"
+51
+52        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+53
+54        response[_FILTERS_KEY] = filters  # Save the filters used to reference in potential get_next_page call
+55
+56        return convert_to_easypost_object(response=response)
+57
+58    def retrieve(self, id: str) -> Report:
+59        """Retrieve a Report."""
+60        return self._retrieve_resource(self._model_class, id)
+61
+62    def get_next_page(
+63        self,
+64        reports: dict[str, Any],
+65        page_size: Optional[int] = None,
+66        optional_params: Optional[dict[str, Any]] = None,
+67    ) -> dict[str, Any]:
+68        """Retrieve the next page of the list Report response."""
+69        self._check_has_next_page(collection=reports)
+70
+71        params = {
+72            "before_id": reports["reports"][-1].id,
+73            "page_size": page_size,
+74            "type": reports.get(_FILTERS_KEY, {}).get("type"),  # Use the same type as the last page
+75        }
+76
+77        if optional_params:
+78            params.update(optional_params)
+79
+80        return self.all(**params)
+
+ + +
+
+ +
+ + class + ReportService(easypost.services.base_service.BaseService): + + + +
+ +
21class ReportService(BaseService):
+22    def __init__(self, client):
+23        self._client = client
+24        self._model_class = Report.__name__
+25
+26    def create(self, **params) -> Report:
+27        """Create a Report."""
+28        report_type = params.pop("type")
+29
+30        if report_type is None:
+31            raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type"))
+32
+33        url = f"{self._class_url(self._model_class)}/{report_type}"
+34
+35        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+36
+37        return convert_to_easypost_object(response=response)
+38
+39    def all(self, **params) -> dict[str, Any]:
+40        """Retrieve a list of Reports."""
+41        # Capture some of the parameters used for later reference
+42        filters = {
+43            "key": "reports",
+44            "type": params.get("type", None),
+45        }
+46
+47        report_type = params.pop("type")
+48        if report_type is None:
+49            raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type"))
+50
+51        url = f"{self._class_url(self._model_class)}/{report_type}"
+52
+53        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+54
+55        response[_FILTERS_KEY] = filters  # Save the filters used to reference in potential get_next_page call
+56
+57        return convert_to_easypost_object(response=response)
+58
+59    def retrieve(self, id: str) -> Report:
+60        """Retrieve a Report."""
+61        return self._retrieve_resource(self._model_class, id)
+62
+63    def get_next_page(
+64        self,
+65        reports: dict[str, Any],
+66        page_size: Optional[int] = None,
+67        optional_params: Optional[dict[str, Any]] = None,
+68    ) -> dict[str, Any]:
+69        """Retrieve the next page of the list Report response."""
+70        self._check_has_next_page(collection=reports)
+71
+72        params = {
+73            "before_id": reports["reports"][-1].id,
+74            "page_size": page_size,
+75            "type": reports.get(_FILTERS_KEY, {}).get("type"),  # Use the same type as the last page
+76        }
+77
+78        if optional_params:
+79            params.update(optional_params)
+80
+81        return self.all(**params)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + ReportService(client) + + + +
+ +
22    def __init__(self, client):
+23        self._client = client
+24        self._model_class = Report.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.report.Report: + + + +
+ +
26    def create(self, **params) -> Report:
+27        """Create a Report."""
+28        report_type = params.pop("type")
+29
+30        if report_type is None:
+31            raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type"))
+32
+33        url = f"{self._class_url(self._model_class)}/{report_type}"
+34
+35        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+36
+37        return convert_to_easypost_object(response=response)
+
+ + +

Create a Report.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
39    def all(self, **params) -> dict[str, Any]:
+40        """Retrieve a list of Reports."""
+41        # Capture some of the parameters used for later reference
+42        filters = {
+43            "key": "reports",
+44            "type": params.get("type", None),
+45        }
+46
+47        report_type = params.pop("type")
+48        if report_type is None:
+49            raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type"))
+50
+51        url = f"{self._class_url(self._model_class)}/{report_type}"
+52
+53        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+54
+55        response[_FILTERS_KEY] = filters  # Save the filters used to reference in potential get_next_page call
+56
+57        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve a list of Reports.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.report.Report: + + + +
+ +
59    def retrieve(self, id: str) -> Report:
+60        """Retrieve a Report."""
+61        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a Report.

+
+ + +
+
+ +
+ + def + get_next_page( self, reports: dict[str, typing.Any], page_size: int | None = None, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
63    def get_next_page(
+64        self,
+65        reports: dict[str, Any],
+66        page_size: Optional[int] = None,
+67        optional_params: Optional[dict[str, Any]] = None,
+68    ) -> dict[str, Any]:
+69        """Retrieve the next page of the list Report response."""
+70        self._check_has_next_page(collection=reports)
+71
+72        params = {
+73            "before_id": reports["reports"][-1].id,
+74            "page_size": page_size,
+75            "type": reports.get(_FILTERS_KEY, {}).get("type"),  # Use the same type as the last page
+76        }
+77
+78        if optional_params:
+79            params.update(optional_params)
+80
+81        return self.all(**params)
+
+ + +

Retrieve the next page of the list Report response.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/report_service.py b/easypost/services/report_service.py deleted file mode 100644 index ac2c2182..00000000 --- a/easypost/services/report_service.py +++ /dev/null @@ -1,80 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.constant import ( - _FILTERS_KEY, - MISSING_PARAMETER_ERROR, -) -from easypost.easypost_object import convert_to_easypost_object -from easypost.errors import MissingParameterError -from easypost.models import Report -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class ReportService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Report.__name__ - - def create(self, **params) -> Report: - """Create a Report.""" - report_type = params.pop("type") - - if report_type is None: - raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type")) - - url = f"{self._class_url(self._model_class)}/{report_type}" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Reports.""" - # Capture some of the parameters used for later reference - filters = { - "key": "reports", - "type": params.get("type", None), - } - - report_type = params.pop("type") - if report_type is None: - raise MissingParameterError(MISSING_PARAMETER_ERROR.format("type")) - - url = f"{self._class_url(self._model_class)}/{report_type}" - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params) - - response[_FILTERS_KEY] = filters # Save the filters used to reference in potential get_next_page call - - return convert_to_easypost_object(response=response) - - def retrieve(self, id: str) -> Report: - """Retrieve a Report.""" - return self._retrieve_resource(self._model_class, id) - - def get_next_page( - self, - reports: dict[str, Any], - page_size: Optional[int] = None, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve the next page of the list Report response.""" - self._check_has_next_page(collection=reports) - - params = { - "before_id": reports["reports"][-1].id, - "page_size": page_size, - "type": reports.get(_FILTERS_KEY, {}).get("type"), # Use the same type as the last page - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) diff --git a/easypost/services/scan_form_service.html b/easypost/services/scan_form_service.html new file mode 100644 index 00000000..2ec42a96 --- /dev/null +++ b/easypost/services/scan_form_service.html @@ -0,0 +1,494 @@ + + + + + + + easypost.services.scan_form_service API documentation + + + + + + + + + +
+
+

+easypost.services.scan_form_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3    Optional,
+ 4)
+ 5
+ 6from easypost.models import ScanForm
+ 7from easypost.services.base_service import BaseService
+ 8
+ 9
+10class ScanFormService(BaseService):
+11    def __init__(self, client):
+12        self._client = client
+13        self._model_class = ScanForm.__name__
+14
+15    def create(self, **params) -> ScanForm:
+16        """Create a ScanForm."""
+17        return self._create_resource(self._model_class, **params)
+18
+19    def all(self, **params) -> dict[str, Any]:
+20        """Retrieve a list of ScanForms."""
+21        filters = {
+22            "key": "scan_forms",
+23        }
+24
+25        return self._all_resources(self._model_class, filters, **params)
+26
+27    def retrieve(self, id: str) -> ScanForm:
+28        """Retrieve a ScanForm."""
+29        return self._retrieve_resource(self._model_class, id)
+30
+31    def get_next_page(
+32        self,
+33        scan_forms: dict[str, Any],
+34        page_size: int,
+35        optional_params: Optional[dict[str, Any]] = None,
+36    ) -> dict[str, Any]:
+37        """Retrieve the next page of the list ScanForm response."""
+38        self._check_has_next_page(collection=scan_forms)
+39
+40        params = {
+41            "before_id": scan_forms["scan_forms"][-1].id,
+42            "page_size": page_size,
+43        }
+44
+45        if optional_params:
+46            params.update(optional_params)
+47
+48        return self.all(**params)
+
+ + +
+
+ +
+ + class + ScanFormService(easypost.services.base_service.BaseService): + + + +
+ +
11class ScanFormService(BaseService):
+12    def __init__(self, client):
+13        self._client = client
+14        self._model_class = ScanForm.__name__
+15
+16    def create(self, **params) -> ScanForm:
+17        """Create a ScanForm."""
+18        return self._create_resource(self._model_class, **params)
+19
+20    def all(self, **params) -> dict[str, Any]:
+21        """Retrieve a list of ScanForms."""
+22        filters = {
+23            "key": "scan_forms",
+24        }
+25
+26        return self._all_resources(self._model_class, filters, **params)
+27
+28    def retrieve(self, id: str) -> ScanForm:
+29        """Retrieve a ScanForm."""
+30        return self._retrieve_resource(self._model_class, id)
+31
+32    def get_next_page(
+33        self,
+34        scan_forms: dict[str, Any],
+35        page_size: int,
+36        optional_params: Optional[dict[str, Any]] = None,
+37    ) -> dict[str, Any]:
+38        """Retrieve the next page of the list ScanForm response."""
+39        self._check_has_next_page(collection=scan_forms)
+40
+41        params = {
+42            "before_id": scan_forms["scan_forms"][-1].id,
+43            "page_size": page_size,
+44        }
+45
+46        if optional_params:
+47            params.update(optional_params)
+48
+49        return self.all(**params)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + ScanFormService(client) + + + +
+ +
12    def __init__(self, client):
+13        self._client = client
+14        self._model_class = ScanForm.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.scan_form.ScanForm: + + + +
+ +
16    def create(self, **params) -> ScanForm:
+17        """Create a ScanForm."""
+18        return self._create_resource(self._model_class, **params)
+
+ + +

Create a ScanForm.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
20    def all(self, **params) -> dict[str, Any]:
+21        """Retrieve a list of ScanForms."""
+22        filters = {
+23            "key": "scan_forms",
+24        }
+25
+26        return self._all_resources(self._model_class, filters, **params)
+
+ + +

Retrieve a list of ScanForms.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.scan_form.ScanForm: + + + +
+ +
28    def retrieve(self, id: str) -> ScanForm:
+29        """Retrieve a ScanForm."""
+30        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a ScanForm.

+
+ + +
+
+ +
+ + def + get_next_page( self, scan_forms: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
32    def get_next_page(
+33        self,
+34        scan_forms: dict[str, Any],
+35        page_size: int,
+36        optional_params: Optional[dict[str, Any]] = None,
+37    ) -> dict[str, Any]:
+38        """Retrieve the next page of the list ScanForm response."""
+39        self._check_has_next_page(collection=scan_forms)
+40
+41        params = {
+42            "before_id": scan_forms["scan_forms"][-1].id,
+43            "page_size": page_size,
+44        }
+45
+46        if optional_params:
+47            params.update(optional_params)
+48
+49        return self.all(**params)
+
+ + +

Retrieve the next page of the list ScanForm response.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/scan_form_service.py b/easypost/services/scan_form_service.py deleted file mode 100644 index fe5590a5..00000000 --- a/easypost/services/scan_form_service.py +++ /dev/null @@ -1,48 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.models import ScanForm -from easypost.services.base_service import BaseService - - -class ScanFormService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = ScanForm.__name__ - - def create(self, **params) -> ScanForm: - """Create a ScanForm.""" - return self._create_resource(self._model_class, **params) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of ScanForms.""" - filters = { - "key": "scan_forms", - } - - return self._all_resources(self._model_class, filters, **params) - - def retrieve(self, id: str) -> ScanForm: - """Retrieve a ScanForm.""" - return self._retrieve_resource(self._model_class, id) - - def get_next_page( - self, - scan_forms: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve the next page of the list ScanForm response.""" - self._check_has_next_page(collection=scan_forms) - - params = { - "before_id": scan_forms["scan_forms"][-1].id, - "page_size": page_size, - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) diff --git a/easypost/services/shipment_service.html b/easypost/services/shipment_service.html new file mode 100644 index 00000000..ff594aeb --- /dev/null +++ b/easypost/services/shipment_service.html @@ -0,0 +1,1150 @@ + + + + + + + easypost.services.shipment_service API documentation + + + + + + + + + +
+
+

+easypost.services.shipment_service

+ + + + + + +
  1from typing import (
+  2    Any,
+  3    Optional,
+  4)
+  5
+  6from easypost.constant import _FILTERS_KEY
+  7from easypost.easypost_object import convert_to_easypost_object
+  8from easypost.models import (
+  9    Rate,
+ 10    Shipment,
+ 11)
+ 12from easypost.requestor import (
+ 13    RequestMethod,
+ 14    Requestor,
+ 15)
+ 16from easypost.services.base_service import BaseService
+ 17from easypost.util import get_lowest_smart_rate
+ 18
+ 19
+ 20class ShipmentService(BaseService):
+ 21    def __init__(self, client):
+ 22        self._client = client
+ 23        self._model_class = Shipment.__name__
+ 24
+ 25    def create(self, **params) -> Shipment:
+ 26        """Create a Shipment."""
+ 27        url = self._class_url(self._model_class)
+ 28        wrapped_params = {
+ 29            self._snakecase_name(self._model_class): params,
+ 30        }
+ 31
+ 32        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+ 33
+ 34        return convert_to_easypost_object(response=response)
+ 35
+ 36    def all(self, **params) -> dict[str, Any]:
+ 37        """Retrieve a list of Shipments."""
+ 38        filters = {
+ 39            "key": "shipments",
+ 40            "include_children": params.get("include_children"),
+ 41            "purchased": params.get("purchased"),
+ 42        }
+ 43
+ 44        return self._all_resources(self._model_class, filters, **params)
+ 45
+ 46    def retrieve(self, id: str) -> Shipment:
+ 47        """Retrieve a Shipment."""
+ 48        return self._retrieve_resource(self._model_class, id)
+ 49
+ 50    def get_next_page(
+ 51        self,
+ 52        shipments: dict[str, Any],
+ 53        page_size: int,
+ 54        optional_params: Optional[dict[str, Any]] = None,
+ 55    ) -> dict[str, Any]:
+ 56        """Get next page of shipment collection."""
+ 57        self._check_has_next_page(collection=shipments)
+ 58
+ 59        params = {
+ 60            "before_id": shipments["shipments"][-1].id,
+ 61            "page_size": page_size,
+ 62            # Use the same include_children as the last page
+ 63            "include_children": shipments.get(_FILTERS_KEY, {}).get("include_children"),
+ 64            # Use the same purchased as the last page
+ 65            "purchased": shipments.get(_FILTERS_KEY, {}).get("purchased"),
+ 66        }
+ 67
+ 68        if optional_params:
+ 69            params.update(optional_params)
+ 70
+ 71        return self.all(**params)
+ 72
+ 73    def regenerate_rates(self, id: str) -> dict[str, list[Rate]]:
+ 74        """Regenerate Rates for a Shipment."""
+ 75        url = f"{self._instance_url(self._model_class, id)}/rerate"
+ 76
+ 77        response = Requestor(self._client).request(method=RequestMethod.POST, url=url)
+ 78
+ 79        return convert_to_easypost_object(response=response)
+ 80
+ 81    def get_smart_rates(self, id: str) -> list[Rate]:
+ 82        """Get SmartRates for a Shipment."""
+ 83        url = f"{self._instance_url(self._model_class, id)}/smartrate"
+ 84
+ 85        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+ 86
+ 87        return convert_to_easypost_object(response=response.get("result", []))
+ 88
+ 89    def buy(
+ 90        self,
+ 91        id: str,
+ 92        end_shipper_id: Optional[str] = None,
+ 93        **params,
+ 94    ) -> Shipment:
+ 95        """Buy a Shipment."""
+ 96        url = f"{self._instance_url(self._model_class, id)}/buy"
+ 97        if end_shipper_id:
+ 98            params["end_shipper_id"] = end_shipper_id
+ 99
+100        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+101
+102        return convert_to_easypost_object(response=response)
+103
+104    def refund(self, id: str, **params) -> Shipment:
+105        """Refund a Shipment."""
+106        url = f"{self._instance_url(self._model_class, id)}/refund"
+107
+108        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+109
+110        return convert_to_easypost_object(response=response)
+111
+112    def insure(self, id: str, **params) -> Shipment:
+113        """Insure a Shipment."""
+114        url = f"{self._instance_url(self._model_class, id)}/insure"
+115
+116        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+117
+118        return convert_to_easypost_object(response=response)
+119
+120    def label(self, id: str, **params) -> Shipment:
+121        """Convert the label format of a Shipment."""
+122        url = f"{self._instance_url(self._model_class, id)}/label"
+123
+124        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+125
+126        return convert_to_easypost_object(response=response)
+127
+128    def lowest_smart_rate(self, id: str, delivery_days: int, delivery_accuracy: str) -> Rate:
+129        """Get the lowest SmartRate of a Shipment."""
+130        smartrates = self.get_smart_rates(id)
+131        lowest_smart_rate = get_lowest_smart_rate(smartrates, delivery_days, delivery_accuracy.lower())
+132
+133        return lowest_smart_rate
+134
+135    def generate_form(self, id: str, form_type: str, form_options: Optional[dict[str, Any]] = {}) -> Shipment:
+136        """Generate a form for a Shipment."""
+137        params = {"type": form_type}
+138        params.update(form_options)  # type: ignore
+139        wrapped_params = {"form": params}
+140        url = f"{self._instance_url(self._model_class, id)}/forms"
+141
+142        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+143
+144        return convert_to_easypost_object(response=response)
+145
+146    def retrieve_estimated_delivery_date(self, id: str, planned_ship_date: str) -> list[dict[str, Any]]:
+147        """Retrieves the estimated delivery date of each Rate via SmartRate."""
+148        url = f"{self._instance_url(self._model_class, id)}/smartrate/delivery_date"
+149        wrapped_params = {"planned_ship_date": planned_ship_date}
+150
+151        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=wrapped_params)
+152
+153        return convert_to_easypost_object(response=response.get("rates", []))
+154
+155    def recommend_ship_date(self, id: str, desired_delivery_date: str) -> list[dict[str, Any]]:
+156        """Retrieve a recommended ship date for an existing Shipment via the Precision Shipping API,
+157        based on a specific desired delivery date.
+158        """
+159        url = f"{self._instance_url(self._model_class, id)}/smartrate/precision_shipping"
+160        params = {"desired_delivery_date": desired_delivery_date}
+161        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+162
+163        return convert_to_easypost_object(response=response.get("rates", []))
+164
+165    def create_and_buy_luma(
+166        self,
+167        **params: dict[str, Any],
+168    ) -> Shipment:
+169        """Create and buy a Luma Shipment in one call."""
+170        url = f"{self._class_url(self._model_class)}/luma"
+171        wrapped_params = {
+172            self._snakecase_name(self._model_class): params,
+173        }
+174
+175        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+176
+177        return convert_to_easypost_object(response=response)
+178
+179    def buy_luma(
+180        self,
+181        id: str,
+182        **params: dict[str, Any],
+183    ) -> Shipment:
+184        """Buy a Shipment with Luma."""
+185        url = f"{self._instance_url(self._model_class, id)}/luma"
+186
+187        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+188
+189        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + ShipmentService(easypost.services.base_service.BaseService): + + + +
+ +
 21class ShipmentService(BaseService):
+ 22    def __init__(self, client):
+ 23        self._client = client
+ 24        self._model_class = Shipment.__name__
+ 25
+ 26    def create(self, **params) -> Shipment:
+ 27        """Create a Shipment."""
+ 28        url = self._class_url(self._model_class)
+ 29        wrapped_params = {
+ 30            self._snakecase_name(self._model_class): params,
+ 31        }
+ 32
+ 33        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+ 34
+ 35        return convert_to_easypost_object(response=response)
+ 36
+ 37    def all(self, **params) -> dict[str, Any]:
+ 38        """Retrieve a list of Shipments."""
+ 39        filters = {
+ 40            "key": "shipments",
+ 41            "include_children": params.get("include_children"),
+ 42            "purchased": params.get("purchased"),
+ 43        }
+ 44
+ 45        return self._all_resources(self._model_class, filters, **params)
+ 46
+ 47    def retrieve(self, id: str) -> Shipment:
+ 48        """Retrieve a Shipment."""
+ 49        return self._retrieve_resource(self._model_class, id)
+ 50
+ 51    def get_next_page(
+ 52        self,
+ 53        shipments: dict[str, Any],
+ 54        page_size: int,
+ 55        optional_params: Optional[dict[str, Any]] = None,
+ 56    ) -> dict[str, Any]:
+ 57        """Get next page of shipment collection."""
+ 58        self._check_has_next_page(collection=shipments)
+ 59
+ 60        params = {
+ 61            "before_id": shipments["shipments"][-1].id,
+ 62            "page_size": page_size,
+ 63            # Use the same include_children as the last page
+ 64            "include_children": shipments.get(_FILTERS_KEY, {}).get("include_children"),
+ 65            # Use the same purchased as the last page
+ 66            "purchased": shipments.get(_FILTERS_KEY, {}).get("purchased"),
+ 67        }
+ 68
+ 69        if optional_params:
+ 70            params.update(optional_params)
+ 71
+ 72        return self.all(**params)
+ 73
+ 74    def regenerate_rates(self, id: str) -> dict[str, list[Rate]]:
+ 75        """Regenerate Rates for a Shipment."""
+ 76        url = f"{self._instance_url(self._model_class, id)}/rerate"
+ 77
+ 78        response = Requestor(self._client).request(method=RequestMethod.POST, url=url)
+ 79
+ 80        return convert_to_easypost_object(response=response)
+ 81
+ 82    def get_smart_rates(self, id: str) -> list[Rate]:
+ 83        """Get SmartRates for a Shipment."""
+ 84        url = f"{self._instance_url(self._model_class, id)}/smartrate"
+ 85
+ 86        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+ 87
+ 88        return convert_to_easypost_object(response=response.get("result", []))
+ 89
+ 90    def buy(
+ 91        self,
+ 92        id: str,
+ 93        end_shipper_id: Optional[str] = None,
+ 94        **params,
+ 95    ) -> Shipment:
+ 96        """Buy a Shipment."""
+ 97        url = f"{self._instance_url(self._model_class, id)}/buy"
+ 98        if end_shipper_id:
+ 99            params["end_shipper_id"] = end_shipper_id
+100
+101        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+102
+103        return convert_to_easypost_object(response=response)
+104
+105    def refund(self, id: str, **params) -> Shipment:
+106        """Refund a Shipment."""
+107        url = f"{self._instance_url(self._model_class, id)}/refund"
+108
+109        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+110
+111        return convert_to_easypost_object(response=response)
+112
+113    def insure(self, id: str, **params) -> Shipment:
+114        """Insure a Shipment."""
+115        url = f"{self._instance_url(self._model_class, id)}/insure"
+116
+117        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+118
+119        return convert_to_easypost_object(response=response)
+120
+121    def label(self, id: str, **params) -> Shipment:
+122        """Convert the label format of a Shipment."""
+123        url = f"{self._instance_url(self._model_class, id)}/label"
+124
+125        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+126
+127        return convert_to_easypost_object(response=response)
+128
+129    def lowest_smart_rate(self, id: str, delivery_days: int, delivery_accuracy: str) -> Rate:
+130        """Get the lowest SmartRate of a Shipment."""
+131        smartrates = self.get_smart_rates(id)
+132        lowest_smart_rate = get_lowest_smart_rate(smartrates, delivery_days, delivery_accuracy.lower())
+133
+134        return lowest_smart_rate
+135
+136    def generate_form(self, id: str, form_type: str, form_options: Optional[dict[str, Any]] = {}) -> Shipment:
+137        """Generate a form for a Shipment."""
+138        params = {"type": form_type}
+139        params.update(form_options)  # type: ignore
+140        wrapped_params = {"form": params}
+141        url = f"{self._instance_url(self._model_class, id)}/forms"
+142
+143        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+144
+145        return convert_to_easypost_object(response=response)
+146
+147    def retrieve_estimated_delivery_date(self, id: str, planned_ship_date: str) -> list[dict[str, Any]]:
+148        """Retrieves the estimated delivery date of each Rate via SmartRate."""
+149        url = f"{self._instance_url(self._model_class, id)}/smartrate/delivery_date"
+150        wrapped_params = {"planned_ship_date": planned_ship_date}
+151
+152        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=wrapped_params)
+153
+154        return convert_to_easypost_object(response=response.get("rates", []))
+155
+156    def recommend_ship_date(self, id: str, desired_delivery_date: str) -> list[dict[str, Any]]:
+157        """Retrieve a recommended ship date for an existing Shipment via the Precision Shipping API,
+158        based on a specific desired delivery date.
+159        """
+160        url = f"{self._instance_url(self._model_class, id)}/smartrate/precision_shipping"
+161        params = {"desired_delivery_date": desired_delivery_date}
+162        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+163
+164        return convert_to_easypost_object(response=response.get("rates", []))
+165
+166    def create_and_buy_luma(
+167        self,
+168        **params: dict[str, Any],
+169    ) -> Shipment:
+170        """Create and buy a Luma Shipment in one call."""
+171        url = f"{self._class_url(self._model_class)}/luma"
+172        wrapped_params = {
+173            self._snakecase_name(self._model_class): params,
+174        }
+175
+176        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+177
+178        return convert_to_easypost_object(response=response)
+179
+180    def buy_luma(
+181        self,
+182        id: str,
+183        **params: dict[str, Any],
+184    ) -> Shipment:
+185        """Buy a Shipment with Luma."""
+186        url = f"{self._instance_url(self._model_class, id)}/luma"
+187
+188        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+189
+190        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + ShipmentService(client) + + + +
+ +
22    def __init__(self, client):
+23        self._client = client
+24        self._model_class = Shipment.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.shipment.Shipment: + + + +
+ +
26    def create(self, **params) -> Shipment:
+27        """Create a Shipment."""
+28        url = self._class_url(self._model_class)
+29        wrapped_params = {
+30            self._snakecase_name(self._model_class): params,
+31        }
+32
+33        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+34
+35        return convert_to_easypost_object(response=response)
+
+ + +

Create a Shipment.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
37    def all(self, **params) -> dict[str, Any]:
+38        """Retrieve a list of Shipments."""
+39        filters = {
+40            "key": "shipments",
+41            "include_children": params.get("include_children"),
+42            "purchased": params.get("purchased"),
+43        }
+44
+45        return self._all_resources(self._model_class, filters, **params)
+
+ + +

Retrieve a list of Shipments.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.shipment.Shipment: + + + +
+ +
47    def retrieve(self, id: str) -> Shipment:
+48        """Retrieve a Shipment."""
+49        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a Shipment.

+
+ + +
+
+ +
+ + def + get_next_page( self, shipments: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
51    def get_next_page(
+52        self,
+53        shipments: dict[str, Any],
+54        page_size: int,
+55        optional_params: Optional[dict[str, Any]] = None,
+56    ) -> dict[str, Any]:
+57        """Get next page of shipment collection."""
+58        self._check_has_next_page(collection=shipments)
+59
+60        params = {
+61            "before_id": shipments["shipments"][-1].id,
+62            "page_size": page_size,
+63            # Use the same include_children as the last page
+64            "include_children": shipments.get(_FILTERS_KEY, {}).get("include_children"),
+65            # Use the same purchased as the last page
+66            "purchased": shipments.get(_FILTERS_KEY, {}).get("purchased"),
+67        }
+68
+69        if optional_params:
+70            params.update(optional_params)
+71
+72        return self.all(**params)
+
+ + +

Get next page of shipment collection.

+
+ + +
+
+ +
+ + def + regenerate_rates(self, id: str) -> dict[str, list[easypost.models.rate.Rate]]: + + + +
+ +
74    def regenerate_rates(self, id: str) -> dict[str, list[Rate]]:
+75        """Regenerate Rates for a Shipment."""
+76        url = f"{self._instance_url(self._model_class, id)}/rerate"
+77
+78        response = Requestor(self._client).request(method=RequestMethod.POST, url=url)
+79
+80        return convert_to_easypost_object(response=response)
+
+ + +

Regenerate Rates for a Shipment.

+
+ + +
+
+ +
+ + def + get_smart_rates(self, id: str) -> list[easypost.models.rate.Rate]: + + + +
+ +
82    def get_smart_rates(self, id: str) -> list[Rate]:
+83        """Get SmartRates for a Shipment."""
+84        url = f"{self._instance_url(self._model_class, id)}/smartrate"
+85
+86        response = Requestor(self._client).request(method=RequestMethod.GET, url=url)
+87
+88        return convert_to_easypost_object(response=response.get("result", []))
+
+ + +

Get SmartRates for a Shipment.

+
+ + +
+
+ +
+ + def + buy( self, id: str, end_shipper_id: str | None = None, **params) -> easypost.models.shipment.Shipment: + + + +
+ +
 90    def buy(
+ 91        self,
+ 92        id: str,
+ 93        end_shipper_id: Optional[str] = None,
+ 94        **params,
+ 95    ) -> Shipment:
+ 96        """Buy a Shipment."""
+ 97        url = f"{self._instance_url(self._model_class, id)}/buy"
+ 98        if end_shipper_id:
+ 99            params["end_shipper_id"] = end_shipper_id
+100
+101        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+102
+103        return convert_to_easypost_object(response=response)
+
+ + +

Buy a Shipment.

+
+ + +
+
+ +
+ + def + refund(self, id: str, **params) -> easypost.models.shipment.Shipment: + + + +
+ +
105    def refund(self, id: str, **params) -> Shipment:
+106        """Refund a Shipment."""
+107        url = f"{self._instance_url(self._model_class, id)}/refund"
+108
+109        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+110
+111        return convert_to_easypost_object(response=response)
+
+ + +

Refund a Shipment.

+
+ + +
+
+ +
+ + def + insure(self, id: str, **params) -> easypost.models.shipment.Shipment: + + + +
+ +
113    def insure(self, id: str, **params) -> Shipment:
+114        """Insure a Shipment."""
+115        url = f"{self._instance_url(self._model_class, id)}/insure"
+116
+117        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+118
+119        return convert_to_easypost_object(response=response)
+
+ + +

Insure a Shipment.

+
+ + +
+
+ +
+ + def + label(self, id: str, **params) -> easypost.models.shipment.Shipment: + + + +
+ +
121    def label(self, id: str, **params) -> Shipment:
+122        """Convert the label format of a Shipment."""
+123        url = f"{self._instance_url(self._model_class, id)}/label"
+124
+125        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+126
+127        return convert_to_easypost_object(response=response)
+
+ + +

Convert the label format of a Shipment.

+
+ + +
+
+ +
+ + def + lowest_smart_rate( self, id: str, delivery_days: int, delivery_accuracy: str) -> easypost.models.rate.Rate: + + + +
+ +
129    def lowest_smart_rate(self, id: str, delivery_days: int, delivery_accuracy: str) -> Rate:
+130        """Get the lowest SmartRate of a Shipment."""
+131        smartrates = self.get_smart_rates(id)
+132        lowest_smart_rate = get_lowest_smart_rate(smartrates, delivery_days, delivery_accuracy.lower())
+133
+134        return lowest_smart_rate
+
+ + +

Get the lowest SmartRate of a Shipment.

+
+ + +
+
+ +
+ + def + generate_form( self, id: str, form_type: str, form_options: dict[str, Any] | None = {}) -> easypost.models.shipment.Shipment: + + + +
+ +
136    def generate_form(self, id: str, form_type: str, form_options: Optional[dict[str, Any]] = {}) -> Shipment:
+137        """Generate a form for a Shipment."""
+138        params = {"type": form_type}
+139        params.update(form_options)  # type: ignore
+140        wrapped_params = {"form": params}
+141        url = f"{self._instance_url(self._model_class, id)}/forms"
+142
+143        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+144
+145        return convert_to_easypost_object(response=response)
+
+ + +

Generate a form for a Shipment.

+
+ + +
+
+ +
+ + def + retrieve_estimated_delivery_date(self, id: str, planned_ship_date: str) -> list[dict[str, typing.Any]]: + + + +
+ +
147    def retrieve_estimated_delivery_date(self, id: str, planned_ship_date: str) -> list[dict[str, Any]]:
+148        """Retrieves the estimated delivery date of each Rate via SmartRate."""
+149        url = f"{self._instance_url(self._model_class, id)}/smartrate/delivery_date"
+150        wrapped_params = {"planned_ship_date": planned_ship_date}
+151
+152        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=wrapped_params)
+153
+154        return convert_to_easypost_object(response=response.get("rates", []))
+
+ + +

Retrieves the estimated delivery date of each Rate via SmartRate.

+
+ + +
+
+ +
+ + def + recommend_ship_date(self, id: str, desired_delivery_date: str) -> list[dict[str, typing.Any]]: + + + +
+ +
156    def recommend_ship_date(self, id: str, desired_delivery_date: str) -> list[dict[str, Any]]:
+157        """Retrieve a recommended ship date for an existing Shipment via the Precision Shipping API,
+158        based on a specific desired delivery date.
+159        """
+160        url = f"{self._instance_url(self._model_class, id)}/smartrate/precision_shipping"
+161        params = {"desired_delivery_date": desired_delivery_date}
+162        response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params)
+163
+164        return convert_to_easypost_object(response=response.get("rates", []))
+
+ + +

Retrieve a recommended ship date for an existing Shipment via the Precision Shipping API, +based on a specific desired delivery date.

+
+ + +
+
+ +
+ + def + create_and_buy_luma( self, **params: dict[str, typing.Any]) -> easypost.models.shipment.Shipment: + + + +
+ +
166    def create_and_buy_luma(
+167        self,
+168        **params: dict[str, Any],
+169    ) -> Shipment:
+170        """Create and buy a Luma Shipment in one call."""
+171        url = f"{self._class_url(self._model_class)}/luma"
+172        wrapped_params = {
+173            self._snakecase_name(self._model_class): params,
+174        }
+175
+176        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
+177
+178        return convert_to_easypost_object(response=response)
+
+ + +

Create and buy a Luma Shipment in one call.

+
+ + +
+
+ +
+ + def + buy_luma( self, id: str, **params: dict[str, typing.Any]) -> easypost.models.shipment.Shipment: + + + +
+ +
180    def buy_luma(
+181        self,
+182        id: str,
+183        **params: dict[str, Any],
+184    ) -> Shipment:
+185        """Buy a Shipment with Luma."""
+186        url = f"{self._instance_url(self._model_class, id)}/luma"
+187
+188        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+189
+190        return convert_to_easypost_object(response=response)
+
+ + +

Buy a Shipment with Luma.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/shipment_service.py b/easypost/services/shipment_service.py deleted file mode 100644 index 91a622db..00000000 --- a/easypost/services/shipment_service.py +++ /dev/null @@ -1,189 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.constant import _FILTERS_KEY -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import ( - Rate, - Shipment, -) -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService -from easypost.util import get_lowest_smart_rate - - -class ShipmentService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Shipment.__name__ - - def create(self, **params) -> Shipment: - """Create a Shipment.""" - url = self._class_url(self._model_class) - wrapped_params = { - self._snakecase_name(self._model_class): params, - } - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Shipments.""" - filters = { - "key": "shipments", - "include_children": params.get("include_children"), - "purchased": params.get("purchased"), - } - - return self._all_resources(self._model_class, filters, **params) - - def retrieve(self, id: str) -> Shipment: - """Retrieve a Shipment.""" - return self._retrieve_resource(self._model_class, id) - - def get_next_page( - self, - shipments: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Get next page of shipment collection.""" - self._check_has_next_page(collection=shipments) - - params = { - "before_id": shipments["shipments"][-1].id, - "page_size": page_size, - # Use the same include_children as the last page - "include_children": shipments.get(_FILTERS_KEY, {}).get("include_children"), - # Use the same purchased as the last page - "purchased": shipments.get(_FILTERS_KEY, {}).get("purchased"), - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) - - def regenerate_rates(self, id: str) -> dict[str, list[Rate]]: - """Regenerate Rates for a Shipment.""" - url = f"{self._instance_url(self._model_class, id)}/rerate" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url) - - return convert_to_easypost_object(response=response) - - def get_smart_rates(self, id: str) -> list[Rate]: - """Get SmartRates for a Shipment.""" - url = f"{self._instance_url(self._model_class, id)}/smartrate" - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url) - - return convert_to_easypost_object(response=response.get("result", [])) - - def buy( - self, - id: str, - end_shipper_id: Optional[str] = None, - **params, - ) -> Shipment: - """Buy a Shipment.""" - url = f"{self._instance_url(self._model_class, id)}/buy" - if end_shipper_id: - params["end_shipper_id"] = end_shipper_id - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def refund(self, id: str, **params) -> Shipment: - """Refund a Shipment.""" - url = f"{self._instance_url(self._model_class, id)}/refund" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def insure(self, id: str, **params) -> Shipment: - """Insure a Shipment.""" - url = f"{self._instance_url(self._model_class, id)}/insure" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def label(self, id: str, **params) -> Shipment: - """Convert the label format of a Shipment.""" - url = f"{self._instance_url(self._model_class, id)}/label" - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def lowest_smart_rate(self, id: str, delivery_days: int, delivery_accuracy: str) -> Rate: - """Get the lowest SmartRate of a Shipment.""" - smartrates = self.get_smart_rates(id) - lowest_smart_rate = get_lowest_smart_rate(smartrates, delivery_days, delivery_accuracy.lower()) - - return lowest_smart_rate - - def generate_form(self, id: str, form_type: str, form_options: Optional[dict[str, Any]] = {}) -> Shipment: - """Generate a form for a Shipment.""" - params = {"type": form_type} - params.update(form_options) # type: ignore - wrapped_params = {"form": params} - url = f"{self._instance_url(self._model_class, id)}/forms" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) - - def retrieve_estimated_delivery_date(self, id: str, planned_ship_date: str) -> list[dict[str, Any]]: - """Retrieves the estimated delivery date of each Rate via SmartRate.""" - url = f"{self._instance_url(self._model_class, id)}/smartrate/delivery_date" - wrapped_params = {"planned_ship_date": planned_ship_date} - - response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response.get("rates", [])) - - def recommend_ship_date(self, id: str, desired_delivery_date: str) -> list[dict[str, Any]]: - """Retrieve a recommended ship date for an existing Shipment via the Precision Shipping API, - based on a specific desired delivery date. - """ - url = f"{self._instance_url(self._model_class, id)}/smartrate/precision_shipping" - params = {"desired_delivery_date": desired_delivery_date} - response = Requestor(self._client).request(method=RequestMethod.GET, url=url, params=params) - - return convert_to_easypost_object(response=response.get("rates", [])) - - def create_and_buy_luma( - self, - **params: dict[str, Any], - ) -> Shipment: - """Create and buy a Luma Shipment in one call.""" - url = f"{self._class_url(self._model_class)}/luma" - wrapped_params = { - self._snakecase_name(self._model_class): params, - } - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params) - - return convert_to_easypost_object(response=response) - - def buy_luma( - self, - id: str, - **params: dict[str, Any], - ) -> Shipment: - """Buy a Shipment with Luma.""" - url = f"{self._instance_url(self._model_class, id)}/luma" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/smartrate_service.html b/easypost/services/smartrate_service.html new file mode 100644 index 00000000..b8da058a --- /dev/null +++ b/easypost/services/smartrate_service.html @@ -0,0 +1,412 @@ + + + + + + + easypost.services.smartrate_service API documentation + + + + + + + + + +
+
+

+easypost.services.smartrate_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3)
+ 4
+ 5from easypost.easypost_object import convert_to_easypost_object
+ 6from easypost.requestor import (
+ 7    RequestMethod,
+ 8    Requestor,
+ 9)
+10from easypost.services.base_service import BaseService
+11
+12
+13class SmartRateService(BaseService):
+14    def __init__(self, client):
+15        self._client = client
+16        self._model_class = "SmartRate"
+17
+18    def estimate_delivery_date(self, **params) -> list[dict[str, Any]]:
+19        """Retrieve the estimated delivery date of each carrier-service level combination via the
+20        Smart Deliver By API, based on a specific ship date and origin-destination postal code pair.
+21        """
+22        url = "/smartrate/deliver_by"
+23
+24        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+25
+26        return convert_to_easypost_object(response=response)
+27
+28    def recommend_ship_date(self, **params) -> list[dict[str, Any]]:
+29        """Retrieve a recommended ship date for each carrier-service level combination via the
+30        Smart Deliver On API, based on a specific delivery date and origin-destination postal code pair.
+31        """
+32        url = "/smartrate/deliver_on"
+33
+34        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+35
+36        return convert_to_easypost_object(response=response)
+
+ + +
+
+ +
+ + class + SmartRateService(easypost.services.base_service.BaseService): + + + +
+ +
14class SmartRateService(BaseService):
+15    def __init__(self, client):
+16        self._client = client
+17        self._model_class = "SmartRate"
+18
+19    def estimate_delivery_date(self, **params) -> list[dict[str, Any]]:
+20        """Retrieve the estimated delivery date of each carrier-service level combination via the
+21        Smart Deliver By API, based on a specific ship date and origin-destination postal code pair.
+22        """
+23        url = "/smartrate/deliver_by"
+24
+25        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+26
+27        return convert_to_easypost_object(response=response)
+28
+29    def recommend_ship_date(self, **params) -> list[dict[str, Any]]:
+30        """Retrieve a recommended ship date for each carrier-service level combination via the
+31        Smart Deliver On API, based on a specific delivery date and origin-destination postal code pair.
+32        """
+33        url = "/smartrate/deliver_on"
+34
+35        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+36
+37        return convert_to_easypost_object(response=response)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + SmartRateService(client) + + + +
+ +
15    def __init__(self, client):
+16        self._client = client
+17        self._model_class = "SmartRate"
+
+ + + + +
+
+ +
+ + def + estimate_delivery_date(self, **params) -> list[dict[str, typing.Any]]: + + + +
+ +
19    def estimate_delivery_date(self, **params) -> list[dict[str, Any]]:
+20        """Retrieve the estimated delivery date of each carrier-service level combination via the
+21        Smart Deliver By API, based on a specific ship date and origin-destination postal code pair.
+22        """
+23        url = "/smartrate/deliver_by"
+24
+25        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+26
+27        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve the estimated delivery date of each carrier-service level combination via the +Smart Deliver By API, based on a specific ship date and origin-destination postal code pair.

+
+ + +
+
+ +
+ + def + recommend_ship_date(self, **params) -> list[dict[str, typing.Any]]: + + + +
+ +
29    def recommend_ship_date(self, **params) -> list[dict[str, Any]]:
+30        """Retrieve a recommended ship date for each carrier-service level combination via the
+31        Smart Deliver On API, based on a specific delivery date and origin-destination postal code pair.
+32        """
+33        url = "/smartrate/deliver_on"
+34
+35        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+36
+37        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve a recommended ship date for each carrier-service level combination via the +Smart Deliver On API, based on a specific delivery date and origin-destination postal code pair.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/smartrate_service.py b/easypost/services/smartrate_service.py deleted file mode 100644 index 9bb30f68..00000000 --- a/easypost/services/smartrate_service.py +++ /dev/null @@ -1,36 +0,0 @@ -from typing import ( - Any, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class SmartRateService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = "SmartRate" - - def estimate_delivery_date(self, **params) -> list[dict[str, Any]]: - """Retrieve the estimated delivery date of each carrier-service level combination via the - Smart Deliver By API, based on a specific ship date and origin-destination postal code pair. - """ - url = "/smartrate/deliver_by" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def recommend_ship_date(self, **params) -> list[dict[str, Any]]: - """Retrieve a recommended ship date for each carrier-service level combination via the - Smart Deliver On API, based on a specific delivery date and origin-destination postal code pair. - """ - url = "/smartrate/deliver_on" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) diff --git a/easypost/services/tracker_service.html b/easypost/services/tracker_service.html new file mode 100644 index 00000000..3408e4de --- /dev/null +++ b/easypost/services/tracker_service.html @@ -0,0 +1,602 @@ + + + + + + + easypost.services.tracker_service API documentation + + + + + + + + + +
+
+

+easypost.services.tracker_service

+ + + + + + +
 1from typing import Any, Optional
+ 2
+ 3from easypost.constant import _FILTERS_KEY
+ 4from easypost.easypost_object import convert_to_easypost_object
+ 5from easypost.models import Tracker
+ 6from easypost.requestor import RequestMethod, Requestor
+ 7from easypost.services.base_service import BaseService
+ 8
+ 9
+10class TrackerService(BaseService):
+11    def __init__(self, client):
+12        self._client = client
+13        self._model_class = Tracker.__name__
+14
+15    def create(self, **params) -> Tracker:
+16        """Create a Tracker."""
+17        return self._create_resource(self._model_class, **params)
+18
+19    def all(self, **params) -> dict[str, Any]:
+20        """Retrieve a list of Trackers."""
+21        filters = {
+22            "key": "trackers",
+23            "tracking_code": params.get("tracking_code"),
+24            "tracking_codes": params.get("tracking_codes"),
+25            "carrier": params.get("carrier"),
+26        }
+27        # Make Ruby on Rails happy with proper URL encoding
+28        if params.get("tracking_codes"):
+29            params["tracking_codes[]"] = params.pop("tracking_codes")
+30
+31        return self._all_resources(self._model_class, filters, **params)
+32
+33    def retrieve_batch(self, **params) -> Tracker:
+34        """Retrieve a batch of Trackers."""
+35        url = "/trackers/batch"
+36
+37        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+38
+39        return convert_to_easypost_object(response=response)
+40
+41    def retrieve(self, id: str) -> Tracker:
+42        """Retrieve a Tracker."""
+43        return self._retrieve_resource(self._model_class, id)
+44
+45    def get_next_page(
+46        self,
+47        trackers: dict[str, Any],
+48        page_size: int,
+49        optional_params: Optional[dict[str, Any]] = None,
+50    ) -> dict[str, Any]:
+51        """Retrieve the next page of the list Tracker response."""
+52        self._check_has_next_page(collection=trackers)
+53
+54        params = {
+55            "before_id": trackers["trackers"][-1].id,
+56            "page_size": page_size,
+57            "tracking_code": trackers.get(_FILTERS_KEY, {}).get(
+58                "tracking_code"
+59            ),  # Use the same tracking_code as the last page
+60            "carrier": trackers.get(_FILTERS_KEY, {}).get("carrier"),  # Use the same carrier as the last page
+61        }
+62
+63        if optional_params:
+64            params.update(optional_params)
+65
+66        return self.all(**params)
+67
+68    def delete(self, id: str) -> None:
+69        """Delete a Tracker."""
+70        self._delete_resource(self._model_class, id)
+
+ + +
+
+ +
+ + class + TrackerService(easypost.services.base_service.BaseService): + + + +
+ +
11class TrackerService(BaseService):
+12    def __init__(self, client):
+13        self._client = client
+14        self._model_class = Tracker.__name__
+15
+16    def create(self, **params) -> Tracker:
+17        """Create a Tracker."""
+18        return self._create_resource(self._model_class, **params)
+19
+20    def all(self, **params) -> dict[str, Any]:
+21        """Retrieve a list of Trackers."""
+22        filters = {
+23            "key": "trackers",
+24            "tracking_code": params.get("tracking_code"),
+25            "tracking_codes": params.get("tracking_codes"),
+26            "carrier": params.get("carrier"),
+27        }
+28        # Make Ruby on Rails happy with proper URL encoding
+29        if params.get("tracking_codes"):
+30            params["tracking_codes[]"] = params.pop("tracking_codes")
+31
+32        return self._all_resources(self._model_class, filters, **params)
+33
+34    def retrieve_batch(self, **params) -> Tracker:
+35        """Retrieve a batch of Trackers."""
+36        url = "/trackers/batch"
+37
+38        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+39
+40        return convert_to_easypost_object(response=response)
+41
+42    def retrieve(self, id: str) -> Tracker:
+43        """Retrieve a Tracker."""
+44        return self._retrieve_resource(self._model_class, id)
+45
+46    def get_next_page(
+47        self,
+48        trackers: dict[str, Any],
+49        page_size: int,
+50        optional_params: Optional[dict[str, Any]] = None,
+51    ) -> dict[str, Any]:
+52        """Retrieve the next page of the list Tracker response."""
+53        self._check_has_next_page(collection=trackers)
+54
+55        params = {
+56            "before_id": trackers["trackers"][-1].id,
+57            "page_size": page_size,
+58            "tracking_code": trackers.get(_FILTERS_KEY, {}).get(
+59                "tracking_code"
+60            ),  # Use the same tracking_code as the last page
+61            "carrier": trackers.get(_FILTERS_KEY, {}).get("carrier"),  # Use the same carrier as the last page
+62        }
+63
+64        if optional_params:
+65            params.update(optional_params)
+66
+67        return self.all(**params)
+68
+69    def delete(self, id: str) -> None:
+70        """Delete a Tracker."""
+71        self._delete_resource(self._model_class, id)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + TrackerService(client) + + + +
+ +
12    def __init__(self, client):
+13        self._client = client
+14        self._model_class = Tracker.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.tracker.Tracker: + + + +
+ +
16    def create(self, **params) -> Tracker:
+17        """Create a Tracker."""
+18        return self._create_resource(self._model_class, **params)
+
+ + +

Create a Tracker.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
20    def all(self, **params) -> dict[str, Any]:
+21        """Retrieve a list of Trackers."""
+22        filters = {
+23            "key": "trackers",
+24            "tracking_code": params.get("tracking_code"),
+25            "tracking_codes": params.get("tracking_codes"),
+26            "carrier": params.get("carrier"),
+27        }
+28        # Make Ruby on Rails happy with proper URL encoding
+29        if params.get("tracking_codes"):
+30            params["tracking_codes[]"] = params.pop("tracking_codes")
+31
+32        return self._all_resources(self._model_class, filters, **params)
+
+ + +

Retrieve a list of Trackers.

+
+ + +
+
+ +
+ + def + retrieve_batch(self, **params) -> easypost.models.tracker.Tracker: + + + +
+ +
34    def retrieve_batch(self, **params) -> Tracker:
+35        """Retrieve a batch of Trackers."""
+36        url = "/trackers/batch"
+37
+38        response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params)
+39
+40        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve a batch of Trackers.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.tracker.Tracker: + + + +
+ +
42    def retrieve(self, id: str) -> Tracker:
+43        """Retrieve a Tracker."""
+44        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a Tracker.

+
+ + +
+
+ +
+ + def + get_next_page( self, trackers: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
46    def get_next_page(
+47        self,
+48        trackers: dict[str, Any],
+49        page_size: int,
+50        optional_params: Optional[dict[str, Any]] = None,
+51    ) -> dict[str, Any]:
+52        """Retrieve the next page of the list Tracker response."""
+53        self._check_has_next_page(collection=trackers)
+54
+55        params = {
+56            "before_id": trackers["trackers"][-1].id,
+57            "page_size": page_size,
+58            "tracking_code": trackers.get(_FILTERS_KEY, {}).get(
+59                "tracking_code"
+60            ),  # Use the same tracking_code as the last page
+61            "carrier": trackers.get(_FILTERS_KEY, {}).get("carrier"),  # Use the same carrier as the last page
+62        }
+63
+64        if optional_params:
+65            params.update(optional_params)
+66
+67        return self.all(**params)
+
+ + +

Retrieve the next page of the list Tracker response.

+
+ + +
+
+ +
+ + def + delete(self, id: str) -> None: + + + +
+ +
69    def delete(self, id: str) -> None:
+70        """Delete a Tracker."""
+71        self._delete_resource(self._model_class, id)
+
+ + +

Delete a Tracker.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/tracker_service.py b/easypost/services/tracker_service.py deleted file mode 100644 index eed418d0..00000000 --- a/easypost/services/tracker_service.py +++ /dev/null @@ -1,70 +0,0 @@ -from typing import Any, Optional - -from easypost.constant import _FILTERS_KEY -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import Tracker -from easypost.requestor import RequestMethod, Requestor -from easypost.services.base_service import BaseService - - -class TrackerService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Tracker.__name__ - - def create(self, **params) -> Tracker: - """Create a Tracker.""" - return self._create_resource(self._model_class, **params) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Trackers.""" - filters = { - "key": "trackers", - "tracking_code": params.get("tracking_code"), - "tracking_codes": params.get("tracking_codes"), - "carrier": params.get("carrier"), - } - # Make Ruby on Rails happy with proper URL encoding - if params.get("tracking_codes"): - params["tracking_codes[]"] = params.pop("tracking_codes") - - return self._all_resources(self._model_class, filters, **params) - - def retrieve_batch(self, **params) -> Tracker: - """Retrieve a batch of Trackers.""" - url = "/trackers/batch" - - response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def retrieve(self, id: str) -> Tracker: - """Retrieve a Tracker.""" - return self._retrieve_resource(self._model_class, id) - - def get_next_page( - self, - trackers: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve the next page of the list Tracker response.""" - self._check_has_next_page(collection=trackers) - - params = { - "before_id": trackers["trackers"][-1].id, - "page_size": page_size, - "tracking_code": trackers.get(_FILTERS_KEY, {}).get( - "tracking_code" - ), # Use the same tracking_code as the last page - "carrier": trackers.get(_FILTERS_KEY, {}).get("carrier"), # Use the same carrier as the last page - } - - if optional_params: - params.update(optional_params) - - return self.all(**params) - - def delete(self, id: str) -> None: - """Delete a Tracker.""" - self._delete_resource(self._model_class, id) diff --git a/easypost/services/user_service.html b/easypost/services/user_service.html new file mode 100644 index 00000000..f845ed22 --- /dev/null +++ b/easypost/services/user_service.html @@ -0,0 +1,759 @@ + + + + + + + easypost.services.user_service API documentation + + + + + + + + + +
+
+

+easypost.services.user_service

+ + + + + + +
  1from typing import (
+  2    Any,
+  3    Optional,
+  4)
+  5
+  6from easypost.easypost_object import convert_to_easypost_object
+  7from easypost.models import User
+  8from easypost.requestor import (
+  9    RequestMethod,
+ 10    Requestor,
+ 11)
+ 12from easypost.services.base_service import BaseService
+ 13
+ 14
+ 15class UserService(BaseService):
+ 16    def __init__(self, client):
+ 17        self._client = client
+ 18        self._model_class = User.__name__
+ 19
+ 20    def create(self, **params) -> User:
+ 21        """Create a User."""
+ 22        return self._create_resource(self._model_class, **params)
+ 23
+ 24    def all(self, **params) -> dict[str, Any]:
+ 25        """Retrieve a list of Users."""
+ 26        return self._all_resources(self._model_class, **params)
+ 27
+ 28    def retrieve(self, id: Optional[str] = None) -> User:
+ 29        """Retrieve a User.
+ 30
+ 31        If no id is passed, retrieve the authenticated User.
+ 32        """
+ 33        if id:
+ 34            url = self._instance_url(self._model_class, id)
+ 35        else:
+ 36            url = self._class_url(self._model_class)
+ 37
+ 38        response = Requestor(self._client).request(
+ 39            method=RequestMethod.GET,
+ 40            url=url,
+ 41        )
+ 42
+ 43        return convert_to_easypost_object(response=response)
+ 44
+ 45    def update(self, id: str, **params) -> User:
+ 46        """Update a User."""
+ 47        return self._update_resource(self._model_class, id, **params)
+ 48
+ 49    def delete(self, id: str) -> None:
+ 50        """Delete a User."""
+ 51        self._delete_resource(self._model_class, id)
+ 52
+ 53    def retrieve_me(self) -> User:
+ 54        """Retrieve the authenticated User."""
+ 55        url = self._class_url(self._model_class)
+ 56
+ 57        response = Requestor(self._client).request(
+ 58            method=RequestMethod.GET,
+ 59            url=url,
+ 60        )
+ 61
+ 62        return convert_to_easypost_object(response=response)
+ 63
+ 64    def update_brand(self, id: str, **params) -> User:
+ 65        """Update a User's Brand."""
+ 66        url = self._instance_url(self._model_class, id) + "/brand"
+ 67
+ 68        response = Requestor(self._client).request(
+ 69            method=RequestMethod.PATCH,
+ 70            url=url,
+ 71            params=params,
+ 72        )
+ 73
+ 74        return convert_to_easypost_object(response=response)
+ 75
+ 76    def all_children(self, **params) -> dict[str, Any]:
+ 77        """Retrieve a paginated list of children from the API."""
+ 78        url = "/users/children"
+ 79        response = Requestor(self._client).request(
+ 80            method=RequestMethod.GET,
+ 81            url=url,
+ 82            params=params,
+ 83        )
+ 84
+ 85        return convert_to_easypost_object(response=response)
+ 86
+ 87    def get_next_page_of_children(
+ 88        self,
+ 89        children: dict[str, Any],
+ 90        page_size: int,
+ 91        optional_params: Optional[dict[str, Any]] = None,
+ 92    ) -> dict[str, Any]:
+ 93        """Retrieve the next page of the list Children response."""
+ 94        self._check_has_next_page(collection=children)
+ 95
+ 96        params = {
+ 97            "after_id": children["children"][-1].id,
+ 98            "page_size": page_size,
+ 99        }
+100
+101        if optional_params:
+102            params.update(optional_params)
+103
+104        return self.all_children(**params)
+
+ + +
+
+ +
+ + class + UserService(easypost.services.base_service.BaseService): + + + +
+ +
 16class UserService(BaseService):
+ 17    def __init__(self, client):
+ 18        self._client = client
+ 19        self._model_class = User.__name__
+ 20
+ 21    def create(self, **params) -> User:
+ 22        """Create a User."""
+ 23        return self._create_resource(self._model_class, **params)
+ 24
+ 25    def all(self, **params) -> dict[str, Any]:
+ 26        """Retrieve a list of Users."""
+ 27        return self._all_resources(self._model_class, **params)
+ 28
+ 29    def retrieve(self, id: Optional[str] = None) -> User:
+ 30        """Retrieve a User.
+ 31
+ 32        If no id is passed, retrieve the authenticated User.
+ 33        """
+ 34        if id:
+ 35            url = self._instance_url(self._model_class, id)
+ 36        else:
+ 37            url = self._class_url(self._model_class)
+ 38
+ 39        response = Requestor(self._client).request(
+ 40            method=RequestMethod.GET,
+ 41            url=url,
+ 42        )
+ 43
+ 44        return convert_to_easypost_object(response=response)
+ 45
+ 46    def update(self, id: str, **params) -> User:
+ 47        """Update a User."""
+ 48        return self._update_resource(self._model_class, id, **params)
+ 49
+ 50    def delete(self, id: str) -> None:
+ 51        """Delete a User."""
+ 52        self._delete_resource(self._model_class, id)
+ 53
+ 54    def retrieve_me(self) -> User:
+ 55        """Retrieve the authenticated User."""
+ 56        url = self._class_url(self._model_class)
+ 57
+ 58        response = Requestor(self._client).request(
+ 59            method=RequestMethod.GET,
+ 60            url=url,
+ 61        )
+ 62
+ 63        return convert_to_easypost_object(response=response)
+ 64
+ 65    def update_brand(self, id: str, **params) -> User:
+ 66        """Update a User's Brand."""
+ 67        url = self._instance_url(self._model_class, id) + "/brand"
+ 68
+ 69        response = Requestor(self._client).request(
+ 70            method=RequestMethod.PATCH,
+ 71            url=url,
+ 72            params=params,
+ 73        )
+ 74
+ 75        return convert_to_easypost_object(response=response)
+ 76
+ 77    def all_children(self, **params) -> dict[str, Any]:
+ 78        """Retrieve a paginated list of children from the API."""
+ 79        url = "/users/children"
+ 80        response = Requestor(self._client).request(
+ 81            method=RequestMethod.GET,
+ 82            url=url,
+ 83            params=params,
+ 84        )
+ 85
+ 86        return convert_to_easypost_object(response=response)
+ 87
+ 88    def get_next_page_of_children(
+ 89        self,
+ 90        children: dict[str, Any],
+ 91        page_size: int,
+ 92        optional_params: Optional[dict[str, Any]] = None,
+ 93    ) -> dict[str, Any]:
+ 94        """Retrieve the next page of the list Children response."""
+ 95        self._check_has_next_page(collection=children)
+ 96
+ 97        params = {
+ 98            "after_id": children["children"][-1].id,
+ 99            "page_size": page_size,
+100        }
+101
+102        if optional_params:
+103            params.update(optional_params)
+104
+105        return self.all_children(**params)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + UserService(client) + + + +
+ +
17    def __init__(self, client):
+18        self._client = client
+19        self._model_class = User.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.user.User: + + + +
+ +
21    def create(self, **params) -> User:
+22        """Create a User."""
+23        return self._create_resource(self._model_class, **params)
+
+ + +

Create a User.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
25    def all(self, **params) -> dict[str, Any]:
+26        """Retrieve a list of Users."""
+27        return self._all_resources(self._model_class, **params)
+
+ + +

Retrieve a list of Users.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str | None = None) -> easypost.models.user.User: + + + +
+ +
29    def retrieve(self, id: Optional[str] = None) -> User:
+30        """Retrieve a User.
+31
+32        If no id is passed, retrieve the authenticated User.
+33        """
+34        if id:
+35            url = self._instance_url(self._model_class, id)
+36        else:
+37            url = self._class_url(self._model_class)
+38
+39        response = Requestor(self._client).request(
+40            method=RequestMethod.GET,
+41            url=url,
+42        )
+43
+44        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve a User.

+ +

If no id is passed, retrieve the authenticated User.

+
+ + +
+
+ +
+ + def + update(self, id: str, **params) -> easypost.models.user.User: + + + +
+ +
46    def update(self, id: str, **params) -> User:
+47        """Update a User."""
+48        return self._update_resource(self._model_class, id, **params)
+
+ + +

Update a User.

+
+ + +
+
+ +
+ + def + delete(self, id: str) -> None: + + + +
+ +
50    def delete(self, id: str) -> None:
+51        """Delete a User."""
+52        self._delete_resource(self._model_class, id)
+
+ + +

Delete a User.

+
+ + +
+
+ +
+ + def + retrieve_me(self) -> easypost.models.user.User: + + + +
+ +
54    def retrieve_me(self) -> User:
+55        """Retrieve the authenticated User."""
+56        url = self._class_url(self._model_class)
+57
+58        response = Requestor(self._client).request(
+59            method=RequestMethod.GET,
+60            url=url,
+61        )
+62
+63        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve the authenticated User.

+
+ + +
+
+ +
+ + def + update_brand(self, id: str, **params) -> easypost.models.user.User: + + + +
+ +
65    def update_brand(self, id: str, **params) -> User:
+66        """Update a User's Brand."""
+67        url = self._instance_url(self._model_class, id) + "/brand"
+68
+69        response = Requestor(self._client).request(
+70            method=RequestMethod.PATCH,
+71            url=url,
+72            params=params,
+73        )
+74
+75        return convert_to_easypost_object(response=response)
+
+ + +

Update a User's Brand.

+
+ + +
+
+ +
+ + def + all_children(self, **params) -> dict[str, typing.Any]: + + + +
+ +
77    def all_children(self, **params) -> dict[str, Any]:
+78        """Retrieve a paginated list of children from the API."""
+79        url = "/users/children"
+80        response = Requestor(self._client).request(
+81            method=RequestMethod.GET,
+82            url=url,
+83            params=params,
+84        )
+85
+86        return convert_to_easypost_object(response=response)
+
+ + +

Retrieve a paginated list of children from the API.

+
+ + +
+
+ +
+ + def + get_next_page_of_children( self, children: dict[str, typing.Any], page_size: int, optional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]: + + + +
+ +
 88    def get_next_page_of_children(
+ 89        self,
+ 90        children: dict[str, Any],
+ 91        page_size: int,
+ 92        optional_params: Optional[dict[str, Any]] = None,
+ 93    ) -> dict[str, Any]:
+ 94        """Retrieve the next page of the list Children response."""
+ 95        self._check_has_next_page(collection=children)
+ 96
+ 97        params = {
+ 98            "after_id": children["children"][-1].id,
+ 99            "page_size": page_size,
+100        }
+101
+102        if optional_params:
+103            params.update(optional_params)
+104
+105        return self.all_children(**params)
+
+ + +

Retrieve the next page of the list Children response.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/user_service.py b/easypost/services/user_service.py deleted file mode 100644 index dfeea029..00000000 --- a/easypost/services/user_service.py +++ /dev/null @@ -1,104 +0,0 @@ -from typing import ( - Any, - Optional, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import User -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class UserService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = User.__name__ - - def create(self, **params) -> User: - """Create a User.""" - return self._create_resource(self._model_class, **params) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Users.""" - return self._all_resources(self._model_class, **params) - - def retrieve(self, id: Optional[str] = None) -> User: - """Retrieve a User. - - If no id is passed, retrieve the authenticated User. - """ - if id: - url = self._instance_url(self._model_class, id) - else: - url = self._class_url(self._model_class) - - response = Requestor(self._client).request( - method=RequestMethod.GET, - url=url, - ) - - return convert_to_easypost_object(response=response) - - def update(self, id: str, **params) -> User: - """Update a User.""" - return self._update_resource(self._model_class, id, **params) - - def delete(self, id: str) -> None: - """Delete a User.""" - self._delete_resource(self._model_class, id) - - def retrieve_me(self) -> User: - """Retrieve the authenticated User.""" - url = self._class_url(self._model_class) - - response = Requestor(self._client).request( - method=RequestMethod.GET, - url=url, - ) - - return convert_to_easypost_object(response=response) - - def update_brand(self, id: str, **params) -> User: - """Update a User's Brand.""" - url = self._instance_url(self._model_class, id) + "/brand" - - response = Requestor(self._client).request( - method=RequestMethod.PATCH, - url=url, - params=params, - ) - - return convert_to_easypost_object(response=response) - - def all_children(self, **params) -> dict[str, Any]: - """Retrieve a paginated list of children from the API.""" - url = "/users/children" - response = Requestor(self._client).request( - method=RequestMethod.GET, - url=url, - params=params, - ) - - return convert_to_easypost_object(response=response) - - def get_next_page_of_children( - self, - children: dict[str, Any], - page_size: int, - optional_params: Optional[dict[str, Any]] = None, - ) -> dict[str, Any]: - """Retrieve the next page of the list Children response.""" - self._check_has_next_page(collection=children) - - params = { - "after_id": children["children"][-1].id, - "page_size": page_size, - } - - if optional_params: - params.update(optional_params) - - return self.all_children(**params) diff --git a/easypost/services/webhook_service.html b/easypost/services/webhook_service.html new file mode 100644 index 00000000..1d69550b --- /dev/null +++ b/easypost/services/webhook_service.html @@ -0,0 +1,486 @@ + + + + + + + easypost.services.webhook_service API documentation + + + + + + + + + +
+
+

+easypost.services.webhook_service

+ + + + + + +
 1from typing import (
+ 2    Any,
+ 3)
+ 4
+ 5from easypost.easypost_object import convert_to_easypost_object
+ 6from easypost.models import Webhook
+ 7from easypost.requestor import (
+ 8    RequestMethod,
+ 9    Requestor,
+10)
+11from easypost.services.base_service import BaseService
+12
+13
+14class WebhookService(BaseService):
+15    def __init__(self, client):
+16        self._client = client
+17        self._model_class = Webhook.__name__
+18
+19    def create(self, **params) -> Webhook:
+20        """Create a Webhook."""
+21        return self._create_resource(self._model_class, **params)
+22
+23    def all(self, **params) -> dict[str, Any]:
+24        """Retrieve a list of Webhooks."""
+25        return self._all_resources(self._model_class, **params)
+26
+27    def retrieve(self, id: str) -> Webhook:
+28        """Retrieve a Webhook."""
+29        return self._retrieve_resource(self._model_class, id)
+30
+31    def update(self, id: str, **params) -> Webhook:
+32        """Update a Webhook."""
+33        url = self._instance_url(self._model_class, id)
+34
+35        response = Requestor(self._client).request(method=RequestMethod.PATCH, url=url, params=params)
+36
+37        return convert_to_easypost_object(response=response)
+38
+39    def delete(self, id: str) -> None:
+40        """Delete a Webhook."""
+41        self._delete_resource(self._model_class, id)
+
+ + +
+
+ +
+ + class + WebhookService(easypost.services.base_service.BaseService): + + + +
+ +
15class WebhookService(BaseService):
+16    def __init__(self, client):
+17        self._client = client
+18        self._model_class = Webhook.__name__
+19
+20    def create(self, **params) -> Webhook:
+21        """Create a Webhook."""
+22        return self._create_resource(self._model_class, **params)
+23
+24    def all(self, **params) -> dict[str, Any]:
+25        """Retrieve a list of Webhooks."""
+26        return self._all_resources(self._model_class, **params)
+27
+28    def retrieve(self, id: str) -> Webhook:
+29        """Retrieve a Webhook."""
+30        return self._retrieve_resource(self._model_class, id)
+31
+32    def update(self, id: str, **params) -> Webhook:
+33        """Update a Webhook."""
+34        url = self._instance_url(self._model_class, id)
+35
+36        response = Requestor(self._client).request(method=RequestMethod.PATCH, url=url, params=params)
+37
+38        return convert_to_easypost_object(response=response)
+39
+40    def delete(self, id: str) -> None:
+41        """Delete a Webhook."""
+42        self._delete_resource(self._model_class, id)
+
+ + +

The base service that all other services inherit containing shared logic.

+
+ + +
+ +
+ + WebhookService(client) + + + +
+ +
16    def __init__(self, client):
+17        self._client = client
+18        self._model_class = Webhook.__name__
+
+ + + + +
+
+ +
+ + def + create(self, **params) -> easypost.models.webhook.Webhook: + + + +
+ +
20    def create(self, **params) -> Webhook:
+21        """Create a Webhook."""
+22        return self._create_resource(self._model_class, **params)
+
+ + +

Create a Webhook.

+
+ + +
+
+ +
+ + def + all(self, **params) -> dict[str, typing.Any]: + + + +
+ +
24    def all(self, **params) -> dict[str, Any]:
+25        """Retrieve a list of Webhooks."""
+26        return self._all_resources(self._model_class, **params)
+
+ + +

Retrieve a list of Webhooks.

+
+ + +
+
+ +
+ + def + retrieve(self, id: str) -> easypost.models.webhook.Webhook: + + + +
+ +
28    def retrieve(self, id: str) -> Webhook:
+29        """Retrieve a Webhook."""
+30        return self._retrieve_resource(self._model_class, id)
+
+ + +

Retrieve a Webhook.

+
+ + +
+
+ +
+ + def + update(self, id: str, **params) -> easypost.models.webhook.Webhook: + + + +
+ +
32    def update(self, id: str, **params) -> Webhook:
+33        """Update a Webhook."""
+34        url = self._instance_url(self._model_class, id)
+35
+36        response = Requestor(self._client).request(method=RequestMethod.PATCH, url=url, params=params)
+37
+38        return convert_to_easypost_object(response=response)
+
+ + +

Update a Webhook.

+
+ + +
+
+ +
+ + def + delete(self, id: str) -> None: + + + +
+ +
40    def delete(self, id: str) -> None:
+41        """Delete a Webhook."""
+42        self._delete_resource(self._model_class, id)
+
+ + +

Delete a Webhook.

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/easypost/services/webhook_service.py b/easypost/services/webhook_service.py deleted file mode 100644 index 13cdbba4..00000000 --- a/easypost/services/webhook_service.py +++ /dev/null @@ -1,41 +0,0 @@ -from typing import ( - Any, -) - -from easypost.easypost_object import convert_to_easypost_object -from easypost.models import Webhook -from easypost.requestor import ( - RequestMethod, - Requestor, -) -from easypost.services.base_service import BaseService - - -class WebhookService(BaseService): - def __init__(self, client): - self._client = client - self._model_class = Webhook.__name__ - - def create(self, **params) -> Webhook: - """Create a Webhook.""" - return self._create_resource(self._model_class, **params) - - def all(self, **params) -> dict[str, Any]: - """Retrieve a list of Webhooks.""" - return self._all_resources(self._model_class, **params) - - def retrieve(self, id: str) -> Webhook: - """Retrieve a Webhook.""" - return self._retrieve_resource(self._model_class, id) - - def update(self, id: str, **params) -> Webhook: - """Update a Webhook.""" - url = self._instance_url(self._model_class, id) - - response = Requestor(self._client).request(method=RequestMethod.PATCH, url=url, params=params) - - return convert_to_easypost_object(response=response) - - def delete(self, id: str) -> None: - """Delete a Webhook.""" - self._delete_resource(self._model_class, id) diff --git a/easypost/util.html b/easypost/util.html new file mode 100644 index 00000000..4e9e01f2 --- /dev/null +++ b/easypost/util.html @@ -0,0 +1,606 @@ + + + + + + + easypost.util API documentation + + + + + + + + + +
+
+

+easypost.util

+ + + + + + +
  1import hashlib
+  2import hmac
+  3import json
+  4import unicodedata
+  5from typing import (
+  6    Any,
+  7    Optional,
+  8    Union,
+  9)
+ 10
+ 11from easypost.constant import (
+ 12    INVALID_DELIVER_ACCURACY_ERROR,
+ 13    INVALID_SIGNATURE_ERROR,
+ 14    INVALID_WEBHOOK_VALIDATION_ERROR,
+ 15    NO_RATES_ERROR,
+ 16)
+ 17from easypost.easypost_object import (
+ 18    EasyPostObject,
+ 19    convert_to_easypost_object,
+ 20)
+ 21from easypost.errors import (
+ 22    FilteringError,
+ 23    InvalidParameterError,
+ 24    SignatureVerificationError,
+ 25)
+ 26from easypost.models.rate import Rate
+ 27
+ 28
+ 29def get_lowest_object_rate(
+ 30    easypost_object: Union[EasyPostObject, dict[str, Any]],
+ 31    carriers: Optional[list[str]] = None,
+ 32    services: Optional[list[str]] = None,
+ 33    rates_key: str = "rates",
+ 34) -> Rate:
+ 35    """Gets the lowest rate of an EasyPost object such as a Shipment, Order, or Pickup."""
+ 36    carriers = carriers or []
+ 37    services = services or []
+ 38    lowest_rate = None
+ 39
+ 40    carriers = [carrier.lower() for carrier in carriers]
+ 41    services = [service.lower() for service in services]
+ 42
+ 43    for rate in easypost_object.get(rates_key, []):
+ 44        if (carriers and rate.carrier.lower() not in carriers) or (services and rate.service.lower() not in services):
+ 45            continue
+ 46
+ 47        if lowest_rate is None or float(rate.rate) < float(lowest_rate.rate):
+ 48            lowest_rate = rate
+ 49
+ 50    if lowest_rate is None:
+ 51        raise FilteringError(message=NO_RATES_ERROR)
+ 52
+ 53    return lowest_rate
+ 54
+ 55
+ 56def get_lowest_smart_rate(smart_rates: list[Rate], delivery_days: int, delivery_accuracy: str) -> Rate:
+ 57    """Get the lowest SmartRate from a list of SmartRates."""
+ 58    valid_delivery_accuracy_values = {
+ 59        "percentile_50",
+ 60        "percentile_75",
+ 61        "percentile_85",
+ 62        "percentile_90",
+ 63        "percentile_95",
+ 64        "percentile_97",
+ 65        "percentile_99",
+ 66    }
+ 67    lowest_smart_rate = None
+ 68
+ 69    if delivery_accuracy.lower() not in valid_delivery_accuracy_values:
+ 70        raise InvalidParameterError(message=INVALID_DELIVER_ACCURACY_ERROR.format(valid_delivery_accuracy_values))
+ 71
+ 72    for rate in smart_rates:
+ 73        if rate["time_in_transit"][delivery_accuracy] > delivery_days:
+ 74            continue
+ 75        elif lowest_smart_rate is None or float(rate["rate"]) < float(lowest_smart_rate["rate"]):
+ 76            lowest_smart_rate = rate
+ 77
+ 78    if lowest_smart_rate is None:
+ 79        raise FilteringError(message=NO_RATES_ERROR)
+ 80
+ 81    return lowest_smart_rate
+ 82
+ 83
+ 84def get_lowest_stateless_rate(
+ 85    stateless_rates: list[dict[str, Any]],
+ 86    carriers: Optional[list[str]] = None,
+ 87    services: Optional[list[str]] = None,
+ 88) -> dict[str, Any]:
+ 89    """Get the lowest stateless rate."""
+ 90    carriers = carriers or []
+ 91    services = services or []
+ 92    lowest_rate = None
+ 93
+ 94    carriers = [carrier.lower() for carrier in carriers]
+ 95    services = [service.lower() for service in services]
+ 96
+ 97    for rate in stateless_rates:
+ 98        if (carriers and rate["carrier"].lower() not in carriers) or (
+ 99            services and rate["service"].lower() not in services
+100        ):
+101            continue
+102
+103        if lowest_rate is None or float(rate["rate"]) < float(lowest_rate["rate"]):
+104            lowest_rate = rate
+105
+106    if lowest_rate is None:
+107        raise FilteringError(message=NO_RATES_ERROR)
+108
+109    return lowest_rate
+110
+111
+112def receive_event(raw_input: str):
+113    """Receives a raw Webhook event and converts it to JSON."""
+114    return convert_to_easypost_object(response=json.loads(raw_input))
+115
+116
+117def validate_webhook(event_body: bytes, headers: dict[str, Any], webhook_secret: str) -> dict[str, Any]:
+118    """Validate a webhook by comparing the HMAC signature header sent from EasyPost to your shared secret.
+119    If the signatures do not match, an error will be raised signifying the webhook either did not originate
+120    from EasyPost or the secrets do not match. If the signatures do match, the `event_body` will be returned
+121    as JSON.
+122    """
+123    easypost_hmac_signature = headers.get("X-Hmac-Signature")
+124
+125    if easypost_hmac_signature:
+126        normalized_secret = unicodedata.normalize("NFKD", webhook_secret)
+127        encoded_secret = bytes(normalized_secret, "utf8")
+128
+129        expected_signature = hmac.new(
+130            key=encoded_secret,
+131            msg=event_body,
+132            digestmod=hashlib.sha256,
+133        )
+134
+135        digest = "hmac-sha256-hex=" + expected_signature.hexdigest()
+136
+137        if hmac.compare_digest(digest, easypost_hmac_signature):
+138            webhook_body = json.loads(event_body)
+139        else:
+140            raise SignatureVerificationError(message=INVALID_WEBHOOK_VALIDATION_ERROR)
+141    else:
+142        raise SignatureVerificationError(message=INVALID_SIGNATURE_ERROR)
+143
+144    return webhook_body
+
+ + +
+
+ +
+ + def + get_lowest_object_rate( easypost_object: easypost.easypost_object.EasyPostObject | dict[str, Any], carriers: list[str] | None = None, services: list[str] | None = None, rates_key: str = 'rates') -> easypost.models.rate.Rate: + + + +
+ +
30def get_lowest_object_rate(
+31    easypost_object: Union[EasyPostObject, dict[str, Any]],
+32    carriers: Optional[list[str]] = None,
+33    services: Optional[list[str]] = None,
+34    rates_key: str = "rates",
+35) -> Rate:
+36    """Gets the lowest rate of an EasyPost object such as a Shipment, Order, or Pickup."""
+37    carriers = carriers or []
+38    services = services or []
+39    lowest_rate = None
+40
+41    carriers = [carrier.lower() for carrier in carriers]
+42    services = [service.lower() for service in services]
+43
+44    for rate in easypost_object.get(rates_key, []):
+45        if (carriers and rate.carrier.lower() not in carriers) or (services and rate.service.lower() not in services):
+46            continue
+47
+48        if lowest_rate is None or float(rate.rate) < float(lowest_rate.rate):
+49            lowest_rate = rate
+50
+51    if lowest_rate is None:
+52        raise FilteringError(message=NO_RATES_ERROR)
+53
+54    return lowest_rate
+
+ + +

Gets the lowest rate of an EasyPost object such as a Shipment, Order, or Pickup.

+
+ + +
+
+ +
+ + def + get_lowest_smart_rate( smart_rates: list[easypost.models.rate.Rate], delivery_days: int, delivery_accuracy: str) -> easypost.models.rate.Rate: + + + +
+ +
57def get_lowest_smart_rate(smart_rates: list[Rate], delivery_days: int, delivery_accuracy: str) -> Rate:
+58    """Get the lowest SmartRate from a list of SmartRates."""
+59    valid_delivery_accuracy_values = {
+60        "percentile_50",
+61        "percentile_75",
+62        "percentile_85",
+63        "percentile_90",
+64        "percentile_95",
+65        "percentile_97",
+66        "percentile_99",
+67    }
+68    lowest_smart_rate = None
+69
+70    if delivery_accuracy.lower() not in valid_delivery_accuracy_values:
+71        raise InvalidParameterError(message=INVALID_DELIVER_ACCURACY_ERROR.format(valid_delivery_accuracy_values))
+72
+73    for rate in smart_rates:
+74        if rate["time_in_transit"][delivery_accuracy] > delivery_days:
+75            continue
+76        elif lowest_smart_rate is None or float(rate["rate"]) < float(lowest_smart_rate["rate"]):
+77            lowest_smart_rate = rate
+78
+79    if lowest_smart_rate is None:
+80        raise FilteringError(message=NO_RATES_ERROR)
+81
+82    return lowest_smart_rate
+
+ + +

Get the lowest SmartRate from a list of SmartRates.

+
+ + +
+
+ +
+ + def + get_lowest_stateless_rate( stateless_rates: list[dict[str, typing.Any]], carriers: list[str] | None = None, services: list[str] | None = None) -> dict[str, typing.Any]: + + + +
+ +
 85def get_lowest_stateless_rate(
+ 86    stateless_rates: list[dict[str, Any]],
+ 87    carriers: Optional[list[str]] = None,
+ 88    services: Optional[list[str]] = None,
+ 89) -> dict[str, Any]:
+ 90    """Get the lowest stateless rate."""
+ 91    carriers = carriers or []
+ 92    services = services or []
+ 93    lowest_rate = None
+ 94
+ 95    carriers = [carrier.lower() for carrier in carriers]
+ 96    services = [service.lower() for service in services]
+ 97
+ 98    for rate in stateless_rates:
+ 99        if (carriers and rate["carrier"].lower() not in carriers) or (
+100            services and rate["service"].lower() not in services
+101        ):
+102            continue
+103
+104        if lowest_rate is None or float(rate["rate"]) < float(lowest_rate["rate"]):
+105            lowest_rate = rate
+106
+107    if lowest_rate is None:
+108        raise FilteringError(message=NO_RATES_ERROR)
+109
+110    return lowest_rate
+
+ + +

Get the lowest stateless rate.

+
+ + +
+
+ +
+ + def + receive_event(raw_input: str): + + + +
+ +
113def receive_event(raw_input: str):
+114    """Receives a raw Webhook event and converts it to JSON."""
+115    return convert_to_easypost_object(response=json.loads(raw_input))
+
+ + +

Receives a raw Webhook event and converts it to JSON.

+
+ + +
+
+ +
+ + def + validate_webhook( event_body: bytes, headers: dict[str, typing.Any], webhook_secret: str) -> dict[str, typing.Any]: + + + +
+ +
118def validate_webhook(event_body: bytes, headers: dict[str, Any], webhook_secret: str) -> dict[str, Any]:
+119    """Validate a webhook by comparing the HMAC signature header sent from EasyPost to your shared secret.
+120    If the signatures do not match, an error will be raised signifying the webhook either did not originate
+121    from EasyPost or the secrets do not match. If the signatures do match, the `event_body` will be returned
+122    as JSON.
+123    """
+124    easypost_hmac_signature = headers.get("X-Hmac-Signature")
+125
+126    if easypost_hmac_signature:
+127        normalized_secret = unicodedata.normalize("NFKD", webhook_secret)
+128        encoded_secret = bytes(normalized_secret, "utf8")
+129
+130        expected_signature = hmac.new(
+131            key=encoded_secret,
+132            msg=event_body,
+133            digestmod=hashlib.sha256,
+134        )
+135
+136        digest = "hmac-sha256-hex=" + expected_signature.hexdigest()
+137
+138        if hmac.compare_digest(digest, easypost_hmac_signature):
+139            webhook_body = json.loads(event_body)
+140        else:
+141            raise SignatureVerificationError(message=INVALID_WEBHOOK_VALIDATION_ERROR)
+142    else:
+143        raise SignatureVerificationError(message=INVALID_SIGNATURE_ERROR)
+144
+145    return webhook_body
+
+ + +

Validate a webhook by comparing the HMAC signature header sent from EasyPost to your shared secret. +If the signatures do not match, an error will be raised signifying the webhook either did not originate +from EasyPost or the secrets do not match. If the signatures do match, the event_body will be returned +as JSON.

+
+ + +
+
+ + \ No newline at end of file diff --git a/easypost/util.py b/easypost/util.py deleted file mode 100644 index f8ee9fed..00000000 --- a/easypost/util.py +++ /dev/null @@ -1,144 +0,0 @@ -import hashlib -import hmac -import json -import unicodedata -from typing import ( - Any, - Optional, - Union, -) - -from easypost.constant import ( - INVALID_DELIVER_ACCURACY_ERROR, - INVALID_SIGNATURE_ERROR, - INVALID_WEBHOOK_VALIDATION_ERROR, - NO_RATES_ERROR, -) -from easypost.easypost_object import ( - EasyPostObject, - convert_to_easypost_object, -) -from easypost.errors import ( - FilteringError, - InvalidParameterError, - SignatureVerificationError, -) -from easypost.models.rate import Rate - - -def get_lowest_object_rate( - easypost_object: Union[EasyPostObject, dict[str, Any]], - carriers: Optional[list[str]] = None, - services: Optional[list[str]] = None, - rates_key: str = "rates", -) -> Rate: - """Gets the lowest rate of an EasyPost object such as a Shipment, Order, or Pickup.""" - carriers = carriers or [] - services = services or [] - lowest_rate = None - - carriers = [carrier.lower() for carrier in carriers] - services = [service.lower() for service in services] - - for rate in easypost_object.get(rates_key, []): - if (carriers and rate.carrier.lower() not in carriers) or (services and rate.service.lower() not in services): - continue - - if lowest_rate is None or float(rate.rate) < float(lowest_rate.rate): - lowest_rate = rate - - if lowest_rate is None: - raise FilteringError(message=NO_RATES_ERROR) - - return lowest_rate - - -def get_lowest_smart_rate(smart_rates: list[Rate], delivery_days: int, delivery_accuracy: str) -> Rate: - """Get the lowest SmartRate from a list of SmartRates.""" - valid_delivery_accuracy_values = { - "percentile_50", - "percentile_75", - "percentile_85", - "percentile_90", - "percentile_95", - "percentile_97", - "percentile_99", - } - lowest_smart_rate = None - - if delivery_accuracy.lower() not in valid_delivery_accuracy_values: - raise InvalidParameterError(message=INVALID_DELIVER_ACCURACY_ERROR.format(valid_delivery_accuracy_values)) - - for rate in smart_rates: - if rate["time_in_transit"][delivery_accuracy] > delivery_days: - continue - elif lowest_smart_rate is None or float(rate["rate"]) < float(lowest_smart_rate["rate"]): - lowest_smart_rate = rate - - if lowest_smart_rate is None: - raise FilteringError(message=NO_RATES_ERROR) - - return lowest_smart_rate - - -def get_lowest_stateless_rate( - stateless_rates: list[dict[str, Any]], - carriers: Optional[list[str]] = None, - services: Optional[list[str]] = None, -) -> dict[str, Any]: - """Get the lowest stateless rate.""" - carriers = carriers or [] - services = services or [] - lowest_rate = None - - carriers = [carrier.lower() for carrier in carriers] - services = [service.lower() for service in services] - - for rate in stateless_rates: - if (carriers and rate["carrier"].lower() not in carriers) or ( - services and rate["service"].lower() not in services - ): - continue - - if lowest_rate is None or float(rate["rate"]) < float(lowest_rate["rate"]): - lowest_rate = rate - - if lowest_rate is None: - raise FilteringError(message=NO_RATES_ERROR) - - return lowest_rate - - -def receive_event(raw_input: str): - """Receives a raw Webhook event and converts it to JSON.""" - return convert_to_easypost_object(response=json.loads(raw_input)) - - -def validate_webhook(event_body: bytes, headers: dict[str, Any], webhook_secret: str) -> dict[str, Any]: - """Validate a webhook by comparing the HMAC signature header sent from EasyPost to your shared secret. - If the signatures do not match, an error will be raised signifying the webhook either did not originate - from EasyPost or the secrets do not match. If the signatures do match, the `event_body` will be returned - as JSON. - """ - easypost_hmac_signature = headers.get("X-Hmac-Signature") - - if easypost_hmac_signature: - normalized_secret = unicodedata.normalize("NFKD", webhook_secret) - encoded_secret = bytes(normalized_secret, "utf8") - - expected_signature = hmac.new( - key=encoded_secret, - msg=event_body, - digestmod=hashlib.sha256, - ) - - digest = "hmac-sha256-hex=" + expected_signature.hexdigest() - - if hmac.compare_digest(digest, easypost_hmac_signature): - webhook_body = json.loads(event_body) - else: - raise SignatureVerificationError(message=INVALID_WEBHOOK_VALIDATION_ERROR) - else: - raise SignatureVerificationError(message=INVALID_SIGNATURE_ERROR) - - return webhook_body diff --git a/examples b/examples deleted file mode 160000 index 739f96c8..00000000 --- a/examples +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 739f96c80fa211060e0a0b8c13e7371c9a09d66f diff --git a/index.html b/index.html new file mode 100644 index 00000000..b6bf4bc1 --- /dev/null +++ b/index.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/justfile b/justfile deleted file mode 100644 index 69ed6a83..00000000 --- a/justfile +++ /dev/null @@ -1,66 +0,0 @@ -VIRTUAL_ENV := ".venv" -VIRTUAL_BIN := VIRTUAL_ENV / "bin" -PROJECT_NAME := "easypost" -TEST_DIR := "tests" - -# Build the project for release -build: - uv build - -# Clean the project -clean: - rm -rf {{VIRTUAL_ENV}} dist/ *.egg-info/ .*cache htmlcov *.lcov .coverage - find . -name '*.pyc' -delete - -# Test with coverage and generate HTML report -coverage: - {{VIRTUAL_BIN}}/pytest --cov={{PROJECT_NAME}} --cov-branch --cov-report=html --cov-report=lcov --cov-report=term-missing --cov-fail-under=87 - -# Generate docs - -docs: - {{VIRTUAL_BIN}}/pdoc {{PROJECT_NAME}} -o docs - -# Initialize the examples submodule -init-examples-submodule: - git submodule init - git submodule update - -# Install the project locally (dev mode) -install: init-examples-submodule - uv venv - uv pip install -e '.[dev]' - -# Update the examples submodule -update-examples-submodule: - git submodule init - git submodule update --remote - -# Lint the project -lint: - {{VIRTUAL_BIN}}/ruff check {{PROJECT_NAME}}/ {{TEST_DIR}}/ - {{VIRTUAL_BIN}}/ruff format --check {{PROJECT_NAME}}/ {{TEST_DIR}}/ - -# Fix lint issues -lint-fix: - {{VIRTUAL_BIN}}/ruff check --fix {{PROJECT_NAME}}/ {{TEST_DIR}}/ - {{VIRTUAL_BIN}}/ruff format {{PROJECT_NAME}}/ {{TEST_DIR}}/ - -# Run mypy type checking -mypy: - {{VIRTUAL_BIN}}/mypy {{PROJECT_NAME}}/ {{TEST_DIR}}/ --install-types --non-interactive - -# Cuts a release for the project on GitHub (requires GitHub CLI) -# tag = The associated tag title of the release -# target = Target branch or full commit SHA -release tag target: - gh release create {{tag}} dist/* --target {{target}} - -# Scan for security issues with Bandit -scan: - {{VIRTUAL_BIN}}/bandit -r {{PROJECT_NAME}} - -# Run tests - -test: - {{VIRTUAL_BIN}}/pytest diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index c6dac99a..00000000 --- a/pyproject.toml +++ /dev/null @@ -1,54 +0,0 @@ -[build-system] -requires = ["setuptools>=61.0", "wheel"] -build-backend = "setuptools.build_meta" - -[project] -name = "easypost" -description = "EasyPost Shipping API Client Library for Python" -version = "10.7.0" -readme = "README.md" -requires-python = ">=3.9" -license = { file = "LICENSE" } -authors = [{ name = "EasyPost", email = "support@easypost.com" }] -classifiers = [ - "Development Status :: 5 - Production/Stable", - "Environment :: Web Environment", - "Programming Language :: Python", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "License :: OSI Approved :: MIT License", - "Topic :: Software Development :: Libraries", -] -dependencies = ["requests >= 2.4.3"] -optional-dependencies = { dev = [ - "bandit == 1.8.*", - "mypy == 1.15.*", - "pdoc == 15.*", - "pytest == 8.*", - "pytest-cov == 6.*", - "pytest-vcr == 1.*", - "ruff == 0.14.*", - "vcrpy == 7.*", -] } - -[project.urls] -Docs = "https://docs.easypost.com" -Tracker = "https://github.com/EasyPost/easypost-python/issues" -Source = "https://github.com/EasyPost/easypost-python" - -[tool.setuptools.packages.find] -exclude = ["docs", "examples", "tests"] - -[tool.setuptools.package-data] -easypost = ["py.typed"] - -[tool.ruff] -line-length = 120 - -[tool.ruff.lint] -extend-select = ["I"] diff --git a/pytest.ini b/pytest.ini deleted file mode 100644 index 1b6aa55d..00000000 --- a/pytest.ini +++ /dev/null @@ -1,2 +0,0 @@ -[pytest] -testpaths=tests diff --git a/search.js b/search.js new file mode 100644 index 00000000..2564d87f --- /dev/null +++ b/search.js @@ -0,0 +1,46 @@ +window.pdocSearch = (function(){ +/** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o

\n"}, "easypost.version_info": {"fullname": "easypost.version_info", "modulename": "easypost", "qualname": "version_info", "kind": "variable", "doc": "

\n", "default_value": "['10', '7', '0']"}, "easypost.constant": {"fullname": "easypost.constant", "modulename": "easypost.constant", "kind": "module", "doc": "

\n"}, "easypost.constant.VERSION": {"fullname": "easypost.constant.VERSION", "modulename": "easypost.constant", "qualname": "VERSION", "kind": "variable", "doc": "

\n", "default_value": "'10.7.0'"}, "easypost.constant.VERSION_INFO": {"fullname": "easypost.constant.VERSION_INFO", "modulename": "easypost.constant", "qualname": "VERSION_INFO", "kind": "variable", "doc": "

\n", "default_value": "['10', '7', '0']"}, "easypost.constant.API_BASE": {"fullname": "easypost.constant.API_BASE", "modulename": "easypost.constant", "qualname": "API_BASE", "kind": "variable", "doc": "

\n", "default_value": "'https://api.easypost.com'"}, "easypost.constant.API_VERSION": {"fullname": "easypost.constant.API_VERSION", "modulename": "easypost.constant", "qualname": "API_VERSION", "kind": "variable", "doc": "

\n", "default_value": "'v2'"}, "easypost.constant.AUTHOR": {"fullname": "easypost.constant.AUTHOR", "modulename": "easypost.constant", "qualname": "AUTHOR", "kind": "variable", "doc": "

\n", "default_value": "'EasyPost <oss@easypost.com>'"}, "easypost.constant.SUPPORT_EMAIL": {"fullname": "easypost.constant.SUPPORT_EMAIL", "modulename": "easypost.constant", "qualname": "SUPPORT_EMAIL", "kind": "variable", "doc": "

\n", "default_value": "'support@easypost.com'"}, "easypost.constant.TIMEOUT": {"fullname": "easypost.constant.TIMEOUT", "modulename": "easypost.constant", "qualname": "TIMEOUT", "kind": "variable", "doc": "

\n", "default_value": "60"}, "easypost.constant.COMMUNICATION_ERROR": {"fullname": "easypost.constant.COMMUNICATION_ERROR", "modulename": "easypost.constant", "qualname": "COMMUNICATION_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Unexpected error communicating with EasyPost. If this problem persists please let us know at {}. Original error: {}'"}, "easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"fullname": "easypost.constant.INVALID_DELIVER_ACCURACY_ERROR", "modulename": "easypost.constant", "qualname": "INVALID_DELIVER_ACCURACY_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Invalid delivery_accuracy value, must be one of: {}'"}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"fullname": "easypost.constant.INVALID_PAYMENT_METHOD_ERROR", "modulename": "easypost.constant", "qualname": "INVALID_PAYMENT_METHOD_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'The chosen payment method is not valid. Please try again.'"}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"fullname": "easypost.constant.INVALID_REQUEST_LIB_ERROR", "modulename": "easypost.constant", "qualname": "INVALID_REQUEST_LIB_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Bug discovered: invalid request_lib: {}. Please report to {}.'"}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"fullname": "easypost.constant.INVALID_REQUEST_METHOD_ERROR", "modulename": "easypost.constant", "qualname": "INVALID_REQUEST_METHOD_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Bug discovered: invalid request method: {}. Please report to {}.'"}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"fullname": "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR", "modulename": "easypost.constant", "qualname": "INVALID_REQUEST_PARAMETERS_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Only GET and DELETE requests support parameters.'"}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"fullname": "easypost.constant.INVALID_REQUESTS_VERSION_ERROR", "modulename": "easypost.constant", "qualname": "INVALID_REQUESTS_VERSION_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'EasyPost requires an up to date requests library. Update requests via "pip install -U requests" or contact us at {}.'"}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"fullname": "easypost.constant.INVALID_RESPONSE_BODY_ERROR", "modulename": "easypost.constant", "qualname": "INVALID_RESPONSE_BODY_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Invalid response from API: ({}) {}'"}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"fullname": "easypost.constant.INVALID_SIGNATURE_ERROR", "modulename": "easypost.constant", "qualname": "INVALID_SIGNATURE_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Webhook received does not contain an HMAC signature.'"}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"fullname": "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR", "modulename": "easypost.constant", "qualname": "INVALID_WEBHOOK_VALIDATION_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Webhook received did not originate from EasyPost or had a webhook secret mismatch.'"}, "easypost.constant.MISSING_PARAMETER_ERROR": {"fullname": "easypost.constant.MISSING_PARAMETER_ERROR", "modulename": "easypost.constant", "qualname": "MISSING_PARAMETER_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Missing required parameter: {}'"}, "easypost.constant.NO_ATTRIBUTE_ERROR": {"fullname": "easypost.constant.NO_ATTRIBUTE_ERROR", "modulename": "easypost.constant", "qualname": "NO_ATTRIBUTE_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'{} object has no attribute {}'"}, "easypost.constant.NO_BILLING_ERROR": {"fullname": "easypost.constant.NO_BILLING_ERROR", "modulename": "easypost.constant", "qualname": "NO_BILLING_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Billing has not been setup for this user. Please add a payment method.'"}, "easypost.constant.NO_MORE_PAGES_ERROR": {"fullname": "easypost.constant.NO_MORE_PAGES_ERROR", "modulename": "easypost.constant", "qualname": "NO_MORE_PAGES_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'There are no more pages to retrieve.'"}, "easypost.constant.NO_RATES_ERROR": {"fullname": "easypost.constant.NO_RATES_ERROR", "modulename": "easypost.constant", "qualname": "NO_RATES_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'No rates found.'"}, "easypost.constant.NO_USER_FOUND": {"fullname": "easypost.constant.NO_USER_FOUND", "modulename": "easypost.constant", "qualname": "NO_USER_FOUND", "kind": "variable", "doc": "

\n", "default_value": "'No user found with the given id.'"}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"fullname": "easypost.constant.SEND_STRIPE_DETAILS_ERROR", "modulename": "easypost.constant", "qualname": "SEND_STRIPE_DETAILS_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Could not send card details to Stripe, please try again later.'"}, "easypost.constant.TIMEOUT_ERROR": {"fullname": "easypost.constant.TIMEOUT_ERROR", "modulename": "easypost.constant", "qualname": "TIMEOUT_ERROR", "kind": "variable", "doc": "

\n", "default_value": "'Request timed out.'"}, "easypost.easypost_client": {"fullname": "easypost.easypost_client", "modulename": "easypost.easypost_client", "kind": "module", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient": {"fullname": "easypost.easypost_client.EasyPostClient", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient", "kind": "class", "doc": "

A client object used to authenticate and configure all HTTP calls to the EasyPost API.

\n"}, "easypost.easypost_client.EasyPostClient.__init__": {"fullname": "easypost.easypost_client.EasyPostClient.__init__", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.__init__", "kind": "function", "doc": "

\n", "signature": "(\tapi_key: str,\tapi_base: str = 'https://api.easypost.com/v2',\ttimeout: int = 60)"}, "easypost.easypost_client.EasyPostClient.api_key": {"fullname": "easypost.easypost_client.EasyPostClient.api_key", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.api_key", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.api_base": {"fullname": "easypost.easypost_client.EasyPostClient.api_base", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.api_base", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.timeout": {"fullname": "easypost.easypost_client.EasyPostClient.timeout", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.timeout", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.address": {"fullname": "easypost.easypost_client.EasyPostClient.address", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.address", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.api_keys": {"fullname": "easypost.easypost_client.EasyPostClient.api_keys", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.api_keys", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.batch": {"fullname": "easypost.easypost_client.EasyPostClient.batch", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.batch", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.beta_rate": {"fullname": "easypost.easypost_client.EasyPostClient.beta_rate", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.beta_rate", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.beta_referral_customer": {"fullname": "easypost.easypost_client.EasyPostClient.beta_referral_customer", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.beta_referral_customer", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.billing": {"fullname": "easypost.easypost_client.EasyPostClient.billing", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.billing", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.carrier_account": {"fullname": "easypost.easypost_client.EasyPostClient.carrier_account", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.carrier_account", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.carrier_metadata": {"fullname": "easypost.easypost_client.EasyPostClient.carrier_metadata", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.carrier_metadata", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.claim": {"fullname": "easypost.easypost_client.EasyPostClient.claim", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.claim", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.customer_portal": {"fullname": "easypost.easypost_client.EasyPostClient.customer_portal", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.customer_portal", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.customs_info": {"fullname": "easypost.easypost_client.EasyPostClient.customs_info", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.customs_info", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.customs_item": {"fullname": "easypost.easypost_client.EasyPostClient.customs_item", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.customs_item", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.embeddable": {"fullname": "easypost.easypost_client.EasyPostClient.embeddable", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.embeddable", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.end_shipper": {"fullname": "easypost.easypost_client.EasyPostClient.end_shipper", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.end_shipper", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.event": {"fullname": "easypost.easypost_client.EasyPostClient.event", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.event", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.fedex_registration": {"fullname": "easypost.easypost_client.EasyPostClient.fedex_registration", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.fedex_registration", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.insurance": {"fullname": "easypost.easypost_client.EasyPostClient.insurance", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.insurance", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.luma": {"fullname": "easypost.easypost_client.EasyPostClient.luma", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.luma", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.order": {"fullname": "easypost.easypost_client.EasyPostClient.order", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.order", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.parcel": {"fullname": "easypost.easypost_client.EasyPostClient.parcel", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.parcel", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.rate": {"fullname": "easypost.easypost_client.EasyPostClient.rate", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.rate", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.pickup": {"fullname": "easypost.easypost_client.EasyPostClient.pickup", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.pickup", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.referral_customer": {"fullname": "easypost.easypost_client.EasyPostClient.referral_customer", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.referral_customer", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.refund": {"fullname": "easypost.easypost_client.EasyPostClient.refund", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.refund", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.report": {"fullname": "easypost.easypost_client.EasyPostClient.report", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.report", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.scan_form": {"fullname": "easypost.easypost_client.EasyPostClient.scan_form", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.scan_form", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.shipment": {"fullname": "easypost.easypost_client.EasyPostClient.shipment", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.shipment", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.smart_rate": {"fullname": "easypost.easypost_client.EasyPostClient.smart_rate", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.smart_rate", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.tracker": {"fullname": "easypost.easypost_client.EasyPostClient.tracker", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.tracker", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.user": {"fullname": "easypost.easypost_client.EasyPostClient.user", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.user", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.webhook": {"fullname": "easypost.easypost_client.EasyPostClient.webhook", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.webhook", "kind": "variable", "doc": "

\n"}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"fullname": "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.subscribe_to_request_hook", "kind": "function", "doc": "

Subscribe functions to run when a request occurs.

\n", "signature": "(self, function):", "funcdef": "def"}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"fullname": "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.unsubscribe_from_request_hook", "kind": "function", "doc": "

Unsubscribe functions from running when a request occurs.

\n", "signature": "(self, function):", "funcdef": "def"}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"fullname": "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.subscribe_to_response_hook", "kind": "function", "doc": "

Subscribe functions to run when a response occurs.

\n", "signature": "(self, function):", "funcdef": "def"}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"fullname": "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.unsubscribe_from_response_hook", "kind": "function", "doc": "

Unsubscribe functions from running when a response occurs.

\n", "signature": "(self, function):", "funcdef": "def"}, "easypost.easypost_client.EasyPostClient.make_api_call": {"fullname": "easypost.easypost_client.EasyPostClient.make_api_call", "modulename": "easypost.easypost_client", "qualname": "EasyPostClient.make_api_call", "kind": "function", "doc": "

Make an API call to the EasyPost API.

\n\n

This public, generic interface is useful for making arbitrary API calls to the EasyPost API that\nare not yet supported by the client library's services. When possible, the service for your use case\nshould be used instead as it provides a more convenient and higher-level interface depending on the endpoint.

\n", "signature": "(\tself,\tmethod: easypost.requestor.RequestMethod,\tendpoint: str,\tparams: dict[str, typing.Any]) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.easypost_object": {"fullname": "easypost.easypost_object", "modulename": "easypost.easypost_object", "kind": "module", "doc": "

\n"}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"fullname": "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP", "modulename": "easypost.easypost_object", "qualname": "EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP", "kind": "variable", "doc": "

\n", "annotation": ": dict[str, typing.Any]", "default_value": "{'adr': 'Address', 'ak': 'ApiKey', 'batch': 'Batch', 'brd': 'Brand', 'ca': 'CarrierAccount', 'cfrep': 'Report', 'clm': 'Claim', 'cstinfo': 'CustomsInfo', 'cstitem': 'CustomsItem', 'es': 'EndShipper', 'evt': 'Event', 'hook': 'Webhook', 'ins': 'Insurance', 'order': 'Order', 'payload': 'Payload', 'pickup': 'Pickup', 'pickuprate': 'PickupRate', 'pl': 'PostageLabel', 'plrep': 'Report', 'prcl': 'Parcel', 'rate': 'Rate', 'refrep': 'Report', 'rfnd': 'Refund', 'sf': 'ScanForm', 'shp': 'Shipment', 'shpinvrep': 'Report', 'shprep': 'Report', 'trk': 'Tracker', 'trkrep': 'Report', 'user': 'User'}"}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"fullname": "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES", "modulename": "easypost.easypost_object", "qualname": "OBJECT_CLASS_NAME_OVERRIDES", "kind": "variable", "doc": "

\n", "annotation": ": dict[str, typing.Any]", "default_value": "{'CashFlowReport': 'Report', 'PaymentLogReport': 'Report', 'RefundReport': 'Report', 'ShipmentInvoiceReport': 'Report', 'ShipmentReport': 'Report', 'TrackerReport': 'Report'}"}, "easypost.easypost_object.convert_to_easypost_object": {"fullname": "easypost.easypost_object.convert_to_easypost_object", "modulename": "easypost.easypost_object", "qualname": "convert_to_easypost_object", "kind": "function", "doc": "

Convert a response to an EasyPostObject.

\n", "signature": "(\tresponse: dict[str, typing.Any],\tparent: object = None,\tname: str | None = None):", "funcdef": "def"}, "easypost.easypost_object.EasyPostObject": {"fullname": "easypost.easypost_object.EasyPostObject", "modulename": "easypost.easypost_object", "qualname": "EasyPostObject", "kind": "class", "doc": "

\n"}, "easypost.easypost_object.EasyPostObject.__init__": {"fullname": "easypost.easypost_object.EasyPostObject.__init__", "modulename": "easypost.easypost_object", "qualname": "EasyPostObject.__init__", "kind": "function", "doc": "

\n", "signature": "(\tid: str | None = None,\tparent: object | None = None,\tname: str | None = None,\t**params)"}, "easypost.easypost_object.EasyPostObject.get": {"fullname": "easypost.easypost_object.EasyPostObject.get", "modulename": "easypost.easypost_object", "qualname": "EasyPostObject.get", "kind": "function", "doc": "

\n", "signature": "(self, k, default: Any = None) -> Any:", "funcdef": "def"}, "easypost.easypost_object.EasyPostObject.setdefault": {"fullname": "easypost.easypost_object.EasyPostObject.setdefault", "modulename": "easypost.easypost_object", "qualname": "EasyPostObject.setdefault", "kind": "function", "doc": "

\n", "signature": "(self, k, default: Any = None) -> Any:", "funcdef": "def"}, "easypost.easypost_object.EasyPostObject.keys": {"fullname": "easypost.easypost_object.EasyPostObject.keys", "modulename": "easypost.easypost_object", "qualname": "EasyPostObject.keys", "kind": "variable", "doc": "

\n", "annotation": ": list[str]"}, "easypost.easypost_object.EasyPostObject.values": {"fullname": "easypost.easypost_object.EasyPostObject.values", "modulename": "easypost.easypost_object", "qualname": "EasyPostObject.values", "kind": "variable", "doc": "

\n", "annotation": ": list[typing.Any]"}, "easypost.easypost_object.EasyPostObject.construct_from": {"fullname": "easypost.easypost_object.EasyPostObject.construct_from", "modulename": "easypost.easypost_object", "qualname": "EasyPostObject.construct_from", "kind": "function", "doc": "

Construct an EasyPostObject from values returned by the API.

\n", "signature": "(\tcls,\tvalues: dict[str, typing.Any],\tparent: object = None,\tname: str | None = None) -> object:", "funcdef": "def"}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"fullname": "easypost.easypost_object.EasyPostObject.convert_each_value", "modulename": "easypost.easypost_object", "qualname": "EasyPostObject.convert_each_value", "kind": "function", "doc": "

Convert each value of a response into an EasyPostObject.

\n", "signature": "(self, values: dict[str, typing.Any]) -> None:", "funcdef": "def"}, "easypost.easypost_object.EasyPostObject.to_json": {"fullname": "easypost.easypost_object.EasyPostObject.to_json", "modulename": "easypost.easypost_object", "qualname": "EasyPostObject.to_json", "kind": "function", "doc": "

Convert current object to json string.

\n", "signature": "(self, indent: int | None = None) -> str:", "funcdef": "def"}, "easypost.easypost_object.EasyPostObject.to_dict": {"fullname": "easypost.easypost_object.EasyPostObject.to_dict", "modulename": "easypost.easypost_object", "qualname": "EasyPostObject.to_dict", "kind": "function", "doc": "

Convert current object to a dict.

\n", "signature": "(self) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.easypost_object.EasyPostObjectEncoder": {"fullname": "easypost.easypost_object.EasyPostObjectEncoder", "modulename": "easypost.easypost_object", "qualname": "EasyPostObjectEncoder", "kind": "class", "doc": "

Extensible JSON https://json.org encoder for Python data structures.

\n\n

Supports the following objects and types by default:

\n\n

+-------------------+---------------+\n| Python | JSON |\n+===================+===============+\n| dict | object |\n+-------------------+---------------+\n| list, tuple | array |\n+-------------------+---------------+\n| str | string |\n+-------------------+---------------+\n| int, float | number |\n+-------------------+---------------+\n| True | true |\n+-------------------+---------------+\n| False | false |\n+-------------------+---------------+\n| None | null |\n+-------------------+---------------+

\n\n

To extend this to recognize other objects, subclass and implement a\n.default() method with another method that returns a serializable\nobject for o if possible, otherwise it should call the superclass\nimplementation (to raise TypeError).

\n", "bases": "json.encoder.JSONEncoder"}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"fullname": "easypost.easypost_object.EasyPostObjectEncoder.default", "modulename": "easypost.easypost_object", "qualname": "EasyPostObjectEncoder.default", "kind": "function", "doc": "

Convert an EasyPostObject to a dict.

\n", "signature": "(self, obj: Any) -> Any:", "funcdef": "def"}, "easypost.errors": {"fullname": "easypost.errors", "modulename": "easypost.errors", "kind": "module", "doc": "

\n"}, "easypost.errors.api": {"fullname": "easypost.errors.api", "modulename": "easypost.errors.api", "kind": "module", "doc": "

\n"}, "easypost.errors.api.api_error": {"fullname": "easypost.errors.api.api_error", "modulename": "easypost.errors.api.api_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.api_error.ApiError": {"fullname": "easypost.errors.api.api_error.ApiError", "modulename": "easypost.errors.api.api_error", "qualname": "ApiError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.general.easypost_error.EasyPostError"}, "easypost.errors.api.api_error.ApiError.__init__": {"fullname": "easypost.errors.api.api_error.ApiError.__init__", "modulename": "easypost.errors.api.api_error", "qualname": "ApiError.__init__", "kind": "function", "doc": "

\n", "signature": "(\tmessage: dict[str, Any] | list | str,\terrors: list[str] | None = None,\tcode: str | None = None,\thttp_status: int | None = None,\thttp_body: str | bytes | None = None)"}, "easypost.errors.api.api_error.ApiError.message": {"fullname": "easypost.errors.api.api_error.ApiError.message", "modulename": "easypost.errors.api.api_error", "qualname": "ApiError.message", "kind": "variable", "doc": "

\n"}, "easypost.errors.api.api_error.ApiError.errors": {"fullname": "easypost.errors.api.api_error.ApiError.errors", "modulename": "easypost.errors.api.api_error", "qualname": "ApiError.errors", "kind": "variable", "doc": "

\n"}, "easypost.errors.api.api_error.ApiError.code": {"fullname": "easypost.errors.api.api_error.ApiError.code", "modulename": "easypost.errors.api.api_error", "qualname": "ApiError.code", "kind": "variable", "doc": "

\n"}, "easypost.errors.api.api_error.ApiError.http_status": {"fullname": "easypost.errors.api.api_error.ApiError.http_status", "modulename": "easypost.errors.api.api_error", "qualname": "ApiError.http_status", "kind": "variable", "doc": "

\n"}, "easypost.errors.api.api_error.ApiError.http_body": {"fullname": "easypost.errors.api.api_error.ApiError.http_body", "modulename": "easypost.errors.api.api_error", "qualname": "ApiError.http_body", "kind": "variable", "doc": "

\n"}, "easypost.errors.api.bad_request_error": {"fullname": "easypost.errors.api.bad_request_error", "modulename": "easypost.errors.api.bad_request_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.bad_request_error.BadRequestError": {"fullname": "easypost.errors.api.bad_request_error.BadRequestError", "modulename": "easypost.errors.api.bad_request_error", "qualname": "BadRequestError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.encoding_error": {"fullname": "easypost.errors.api.encoding_error", "modulename": "easypost.errors.api.encoding_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.encoding_error.EncodingError": {"fullname": "easypost.errors.api.encoding_error.EncodingError", "modulename": "easypost.errors.api.encoding_error", "qualname": "EncodingError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.external_api_error": {"fullname": "easypost.errors.api.external_api_error", "modulename": "easypost.errors.api.external_api_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.external_api_error.ExternalApiError": {"fullname": "easypost.errors.api.external_api_error.ExternalApiError", "modulename": "easypost.errors.api.external_api_error", "qualname": "ExternalApiError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.forbidden_error": {"fullname": "easypost.errors.api.forbidden_error", "modulename": "easypost.errors.api.forbidden_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.forbidden_error.ForbiddenError": {"fullname": "easypost.errors.api.forbidden_error.ForbiddenError", "modulename": "easypost.errors.api.forbidden_error", "qualname": "ForbiddenError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.gateway_timeout_error": {"fullname": "easypost.errors.api.gateway_timeout_error", "modulename": "easypost.errors.api.gateway_timeout_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"fullname": "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError", "modulename": "easypost.errors.api.gateway_timeout_error", "qualname": "GatewayTimeoutError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.http_error": {"fullname": "easypost.errors.api.http_error", "modulename": "easypost.errors.api.http_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.http_error.HttpError": {"fullname": "easypost.errors.api.http_error.HttpError", "modulename": "easypost.errors.api.http_error", "qualname": "HttpError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.internal_server_error": {"fullname": "easypost.errors.api.internal_server_error", "modulename": "easypost.errors.api.internal_server_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.internal_server_error.InternalServerError": {"fullname": "easypost.errors.api.internal_server_error.InternalServerError", "modulename": "easypost.errors.api.internal_server_error", "qualname": "InternalServerError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.invalid_request_error": {"fullname": "easypost.errors.api.invalid_request_error", "modulename": "easypost.errors.api.invalid_request_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"fullname": "easypost.errors.api.invalid_request_error.InvalidRequestError", "modulename": "easypost.errors.api.invalid_request_error", "qualname": "InvalidRequestError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.json_error": {"fullname": "easypost.errors.api.json_error", "modulename": "easypost.errors.api.json_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.json_error.JsonError": {"fullname": "easypost.errors.api.json_error.JsonError", "modulename": "easypost.errors.api.json_error", "qualname": "JsonError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.method_not_allowed_error": {"fullname": "easypost.errors.api.method_not_allowed_error", "modulename": "easypost.errors.api.method_not_allowed_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"fullname": "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError", "modulename": "easypost.errors.api.method_not_allowed_error", "qualname": "MethodNotAllowedError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.not_found_error": {"fullname": "easypost.errors.api.not_found_error", "modulename": "easypost.errors.api.not_found_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.not_found_error.NotFoundError": {"fullname": "easypost.errors.api.not_found_error.NotFoundError", "modulename": "easypost.errors.api.not_found_error", "qualname": "NotFoundError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.payment_error": {"fullname": "easypost.errors.api.payment_error", "modulename": "easypost.errors.api.payment_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.payment_error.PaymentError": {"fullname": "easypost.errors.api.payment_error.PaymentError", "modulename": "easypost.errors.api.payment_error", "qualname": "PaymentError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.rate_limit_error": {"fullname": "easypost.errors.api.rate_limit_error", "modulename": "easypost.errors.api.rate_limit_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.rate_limit_error.RateLimitError": {"fullname": "easypost.errors.api.rate_limit_error.RateLimitError", "modulename": "easypost.errors.api.rate_limit_error", "qualname": "RateLimitError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.redirect_error": {"fullname": "easypost.errors.api.redirect_error", "modulename": "easypost.errors.api.redirect_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.redirect_error.RedirectError": {"fullname": "easypost.errors.api.redirect_error.RedirectError", "modulename": "easypost.errors.api.redirect_error", "qualname": "RedirectError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.service_unavailable_error": {"fullname": "easypost.errors.api.service_unavailable_error", "modulename": "easypost.errors.api.service_unavailable_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"fullname": "easypost.errors.api.service_unavailable_error.ServiceUnavailableError", "modulename": "easypost.errors.api.service_unavailable_error", "qualname": "ServiceUnavailableError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.timeout_error": {"fullname": "easypost.errors.api.timeout_error", "modulename": "easypost.errors.api.timeout_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.timeout_error.TimeoutError": {"fullname": "easypost.errors.api.timeout_error.TimeoutError", "modulename": "easypost.errors.api.timeout_error", "qualname": "TimeoutError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.unauthorized_error": {"fullname": "easypost.errors.api.unauthorized_error", "modulename": "easypost.errors.api.unauthorized_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"fullname": "easypost.errors.api.unauthorized_error.UnauthorizedError", "modulename": "easypost.errors.api.unauthorized_error", "qualname": "UnauthorizedError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.api.unknown_api_error": {"fullname": "easypost.errors.api.unknown_api_error", "modulename": "easypost.errors.api.unknown_api_error", "kind": "module", "doc": "

\n"}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"fullname": "easypost.errors.api.unknown_api_error.UnknownApiError", "modulename": "easypost.errors.api.unknown_api_error", "qualname": "UnknownApiError", "kind": "class", "doc": "

Base error for all errors thrown via the EasyPost API.

\n", "bases": "easypost.errors.api.api_error.ApiError"}, "easypost.errors.general": {"fullname": "easypost.errors.general", "modulename": "easypost.errors.general", "kind": "module", "doc": "

\n"}, "easypost.errors.general.easypost_error": {"fullname": "easypost.errors.general.easypost_error", "modulename": "easypost.errors.general.easypost_error", "kind": "module", "doc": "

\n"}, "easypost.errors.general.easypost_error.EasyPostError": {"fullname": "easypost.errors.general.easypost_error.EasyPostError", "modulename": "easypost.errors.general.easypost_error", "qualname": "EasyPostError", "kind": "class", "doc": "

The base error that all other errors from EasyPost inherit.

\n", "bases": "builtins.Exception"}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"fullname": "easypost.errors.general.easypost_error.EasyPostError.__init__", "modulename": "easypost.errors.general.easypost_error", "qualname": "EasyPostError.__init__", "kind": "function", "doc": "

\n", "signature": "(message: str)"}, "easypost.errors.general.easypost_error.EasyPostError.message": {"fullname": "easypost.errors.general.easypost_error.EasyPostError.message", "modulename": "easypost.errors.general.easypost_error", "qualname": "EasyPostError.message", "kind": "variable", "doc": "

\n"}, "easypost.errors.general.end_of_pagination_error": {"fullname": "easypost.errors.general.end_of_pagination_error", "modulename": "easypost.errors.general.end_of_pagination_error", "kind": "module", "doc": "

\n"}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"fullname": "easypost.errors.general.end_of_pagination_error.EndOfPaginationError", "modulename": "easypost.errors.general.end_of_pagination_error", "qualname": "EndOfPaginationError", "kind": "class", "doc": "

The base error that all other errors from EasyPost inherit.

\n", "bases": "easypost.errors.general.easypost_error.EasyPostError"}, "easypost.errors.general.filtering_error": {"fullname": "easypost.errors.general.filtering_error", "modulename": "easypost.errors.general.filtering_error", "kind": "module", "doc": "

\n"}, "easypost.errors.general.filtering_error.FilteringError": {"fullname": "easypost.errors.general.filtering_error.FilteringError", "modulename": "easypost.errors.general.filtering_error", "qualname": "FilteringError", "kind": "class", "doc": "

The base error that all other errors from EasyPost inherit.

\n", "bases": "easypost.errors.general.easypost_error.EasyPostError"}, "easypost.errors.general.invalid_object_error": {"fullname": "easypost.errors.general.invalid_object_error", "modulename": "easypost.errors.general.invalid_object_error", "kind": "module", "doc": "

\n"}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"fullname": "easypost.errors.general.invalid_object_error.InvalidObjectError", "modulename": "easypost.errors.general.invalid_object_error", "qualname": "InvalidObjectError", "kind": "class", "doc": "

The base error that all other errors from EasyPost inherit.

\n", "bases": "easypost.errors.general.easypost_error.EasyPostError"}, "easypost.errors.general.invalid_parameter_error": {"fullname": "easypost.errors.general.invalid_parameter_error", "modulename": "easypost.errors.general.invalid_parameter_error", "kind": "module", "doc": "

\n"}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"fullname": "easypost.errors.general.invalid_parameter_error.InvalidParameterError", "modulename": "easypost.errors.general.invalid_parameter_error", "qualname": "InvalidParameterError", "kind": "class", "doc": "

The base error that all other errors from EasyPost inherit.

\n", "bases": "easypost.errors.general.easypost_error.EasyPostError"}, "easypost.errors.general.missing_parameter_error": {"fullname": "easypost.errors.general.missing_parameter_error", "modulename": "easypost.errors.general.missing_parameter_error", "kind": "module", "doc": "

\n"}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"fullname": "easypost.errors.general.missing_parameter_error.MissingParameterError", "modulename": "easypost.errors.general.missing_parameter_error", "qualname": "MissingParameterError", "kind": "class", "doc": "

The base error that all other errors from EasyPost inherit.

\n", "bases": "easypost.errors.general.easypost_error.EasyPostError"}, "easypost.errors.general.signature_verification_error": {"fullname": "easypost.errors.general.signature_verification_error", "modulename": "easypost.errors.general.signature_verification_error", "kind": "module", "doc": "

\n"}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"fullname": "easypost.errors.general.signature_verification_error.SignatureVerificationError", "modulename": "easypost.errors.general.signature_verification_error", "qualname": "SignatureVerificationError", "kind": "class", "doc": "

The base error that all other errors from EasyPost inherit.

\n", "bases": "easypost.errors.general.easypost_error.EasyPostError"}, "easypost.hooks": {"fullname": "easypost.hooks", "modulename": "easypost.hooks", "kind": "module", "doc": "

\n"}, "easypost.hooks.event_hook": {"fullname": "easypost.hooks.event_hook", "modulename": "easypost.hooks.event_hook", "kind": "module", "doc": "

\n"}, "easypost.hooks.event_hook.EventHook": {"fullname": "easypost.hooks.event_hook.EventHook", "modulename": "easypost.hooks.event_hook", "qualname": "EventHook", "kind": "class", "doc": "

The parent event that occurs when a hook is triggered.

\n"}, "easypost.hooks.request_hook": {"fullname": "easypost.hooks.request_hook", "modulename": "easypost.hooks.request_hook", "kind": "module", "doc": "

\n"}, "easypost.hooks.request_hook.RequestHook": {"fullname": "easypost.hooks.request_hook.RequestHook", "modulename": "easypost.hooks.request_hook", "qualname": "RequestHook", "kind": "class", "doc": "

An event that gets triggered when an HTTP request begins.

\n", "bases": "easypost.hooks.event_hook.EventHook"}, "easypost.hooks.response_hook": {"fullname": "easypost.hooks.response_hook", "modulename": "easypost.hooks.response_hook", "kind": "module", "doc": "

\n"}, "easypost.hooks.response_hook.ResponseHook": {"fullname": "easypost.hooks.response_hook.ResponseHook", "modulename": "easypost.hooks.response_hook", "qualname": "ResponseHook", "kind": "class", "doc": "

An event that gets triggered when an HTTP response is returned.

\n", "bases": "easypost.hooks.event_hook.EventHook"}, "easypost.models": {"fullname": "easypost.models", "modulename": "easypost.models", "kind": "module", "doc": "

\n"}, "easypost.models.address": {"fullname": "easypost.models.address", "modulename": "easypost.models.address", "kind": "module", "doc": "

\n"}, "easypost.models.address.Address": {"fullname": "easypost.models.address.Address", "modulename": "easypost.models.address", "qualname": "Address", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.api_key": {"fullname": "easypost.models.api_key", "modulename": "easypost.models.api_key", "kind": "module", "doc": "

\n"}, "easypost.models.api_key.ApiKey": {"fullname": "easypost.models.api_key.ApiKey", "modulename": "easypost.models.api_key", "qualname": "ApiKey", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.batch": {"fullname": "easypost.models.batch", "modulename": "easypost.models.batch", "kind": "module", "doc": "

\n"}, "easypost.models.batch.Batch": {"fullname": "easypost.models.batch.Batch", "modulename": "easypost.models.batch", "qualname": "Batch", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.billing": {"fullname": "easypost.models.billing", "modulename": "easypost.models.billing", "kind": "module", "doc": "

\n"}, "easypost.models.billing.Billing": {"fullname": "easypost.models.billing.Billing", "modulename": "easypost.models.billing", "qualname": "Billing", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.brand": {"fullname": "easypost.models.brand", "modulename": "easypost.models.brand", "kind": "module", "doc": "

\n"}, "easypost.models.brand.Brand": {"fullname": "easypost.models.brand.Brand", "modulename": "easypost.models.brand", "qualname": "Brand", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.carrier_account": {"fullname": "easypost.models.carrier_account", "modulename": "easypost.models.carrier_account", "kind": "module", "doc": "

\n"}, "easypost.models.carrier_account.CarrierAccount": {"fullname": "easypost.models.carrier_account.CarrierAccount", "modulename": "easypost.models.carrier_account", "qualname": "CarrierAccount", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.claim": {"fullname": "easypost.models.claim", "modulename": "easypost.models.claim", "kind": "module", "doc": "

\n"}, "easypost.models.claim.Claim": {"fullname": "easypost.models.claim.Claim", "modulename": "easypost.models.claim", "qualname": "Claim", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.customs_info": {"fullname": "easypost.models.customs_info", "modulename": "easypost.models.customs_info", "kind": "module", "doc": "

\n"}, "easypost.models.customs_info.CustomsInfo": {"fullname": "easypost.models.customs_info.CustomsInfo", "modulename": "easypost.models.customs_info", "qualname": "CustomsInfo", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.customs_item": {"fullname": "easypost.models.customs_item", "modulename": "easypost.models.customs_item", "kind": "module", "doc": "

\n"}, "easypost.models.customs_item.CustomsItem": {"fullname": "easypost.models.customs_item.CustomsItem", "modulename": "easypost.models.customs_item", "qualname": "CustomsItem", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.end_shipper": {"fullname": "easypost.models.end_shipper", "modulename": "easypost.models.end_shipper", "kind": "module", "doc": "

\n"}, "easypost.models.end_shipper.EndShipper": {"fullname": "easypost.models.end_shipper.EndShipper", "modulename": "easypost.models.end_shipper", "qualname": "EndShipper", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.event": {"fullname": "easypost.models.event", "modulename": "easypost.models.event", "kind": "module", "doc": "

\n"}, "easypost.models.event.Event": {"fullname": "easypost.models.event.Event", "modulename": "easypost.models.event", "qualname": "Event", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.insurance": {"fullname": "easypost.models.insurance", "modulename": "easypost.models.insurance", "kind": "module", "doc": "

\n"}, "easypost.models.insurance.Insurance": {"fullname": "easypost.models.insurance.Insurance", "modulename": "easypost.models.insurance", "qualname": "Insurance", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.order": {"fullname": "easypost.models.order", "modulename": "easypost.models.order", "kind": "module", "doc": "

\n"}, "easypost.models.order.Order": {"fullname": "easypost.models.order.Order", "modulename": "easypost.models.order", "qualname": "Order", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.order.Order.lowest_rate": {"fullname": "easypost.models.order.Order.lowest_rate", "modulename": "easypost.models.order", "qualname": "Order.lowest_rate", "kind": "function", "doc": "

Get the lowest rate of this Order.

\n", "signature": "(\tself,\tcarriers: list[str] | None = None,\tservices: list[str] | None = None) -> easypost.models.rate.Rate:", "funcdef": "def"}, "easypost.models.parcel": {"fullname": "easypost.models.parcel", "modulename": "easypost.models.parcel", "kind": "module", "doc": "

\n"}, "easypost.models.parcel.Parcel": {"fullname": "easypost.models.parcel.Parcel", "modulename": "easypost.models.parcel", "qualname": "Parcel", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.payload": {"fullname": "easypost.models.payload", "modulename": "easypost.models.payload", "kind": "module", "doc": "

\n"}, "easypost.models.payload.Payload": {"fullname": "easypost.models.payload.Payload", "modulename": "easypost.models.payload", "qualname": "Payload", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.pickup": {"fullname": "easypost.models.pickup", "modulename": "easypost.models.pickup", "kind": "module", "doc": "

\n"}, "easypost.models.pickup.Pickup": {"fullname": "easypost.models.pickup.Pickup", "modulename": "easypost.models.pickup", "qualname": "Pickup", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.pickup.Pickup.lowest_rate": {"fullname": "easypost.models.pickup.Pickup.lowest_rate", "modulename": "easypost.models.pickup", "qualname": "Pickup.lowest_rate", "kind": "function", "doc": "

Get the lowest rate of this Pickup.

\n", "signature": "(\tself,\tcarriers: list[str] | None = None,\tservices: list[str] | None = None) -> easypost.models.rate.Rate:", "funcdef": "def"}, "easypost.models.pickup_rate": {"fullname": "easypost.models.pickup_rate", "modulename": "easypost.models.pickup_rate", "kind": "module", "doc": "

\n"}, "easypost.models.pickup_rate.PickupRate": {"fullname": "easypost.models.pickup_rate.PickupRate", "modulename": "easypost.models.pickup_rate", "qualname": "PickupRate", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.postage_label": {"fullname": "easypost.models.postage_label", "modulename": "easypost.models.postage_label", "kind": "module", "doc": "

\n"}, "easypost.models.postage_label.PostageLabel": {"fullname": "easypost.models.postage_label.PostageLabel", "modulename": "easypost.models.postage_label", "qualname": "PostageLabel", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.rate": {"fullname": "easypost.models.rate", "modulename": "easypost.models.rate", "kind": "module", "doc": "

\n"}, "easypost.models.rate.Rate": {"fullname": "easypost.models.rate.Rate", "modulename": "easypost.models.rate", "qualname": "Rate", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.refund": {"fullname": "easypost.models.refund", "modulename": "easypost.models.refund", "kind": "module", "doc": "

\n"}, "easypost.models.refund.Refund": {"fullname": "easypost.models.refund.Refund", "modulename": "easypost.models.refund", "qualname": "Refund", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.report": {"fullname": "easypost.models.report", "modulename": "easypost.models.report", "kind": "module", "doc": "

\n"}, "easypost.models.report.Report": {"fullname": "easypost.models.report.Report", "modulename": "easypost.models.report", "qualname": "Report", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.scan_form": {"fullname": "easypost.models.scan_form", "modulename": "easypost.models.scan_form", "kind": "module", "doc": "

\n"}, "easypost.models.scan_form.ScanForm": {"fullname": "easypost.models.scan_form.ScanForm", "modulename": "easypost.models.scan_form", "qualname": "ScanForm", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.shipment": {"fullname": "easypost.models.shipment", "modulename": "easypost.models.shipment", "kind": "module", "doc": "

\n"}, "easypost.models.shipment.Shipment": {"fullname": "easypost.models.shipment.Shipment", "modulename": "easypost.models.shipment", "qualname": "Shipment", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.shipment.Shipment.lowest_rate": {"fullname": "easypost.models.shipment.Shipment.lowest_rate", "modulename": "easypost.models.shipment", "qualname": "Shipment.lowest_rate", "kind": "function", "doc": "

Get the lowest rate of this shipment.

\n", "signature": "(\tself,\tcarriers: list[str] | None = None,\tservices: list[str] | None = None) -> easypost.models.rate.Rate:", "funcdef": "def"}, "easypost.models.tracker": {"fullname": "easypost.models.tracker", "modulename": "easypost.models.tracker", "kind": "module", "doc": "

\n"}, "easypost.models.tracker.Tracker": {"fullname": "easypost.models.tracker.Tracker", "modulename": "easypost.models.tracker", "qualname": "Tracker", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.user": {"fullname": "easypost.models.user", "modulename": "easypost.models.user", "kind": "module", "doc": "

\n"}, "easypost.models.user.User": {"fullname": "easypost.models.user.User", "modulename": "easypost.models.user", "qualname": "User", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.models.webhook": {"fullname": "easypost.models.webhook", "modulename": "easypost.models.webhook", "kind": "module", "doc": "

\n"}, "easypost.models.webhook.Webhook": {"fullname": "easypost.models.webhook.Webhook", "modulename": "easypost.models.webhook", "qualname": "Webhook", "kind": "class", "doc": "

\n", "bases": "easypost.easypost_object.EasyPostObject"}, "easypost.requestor": {"fullname": "easypost.requestor", "modulename": "easypost.requestor", "kind": "module", "doc": "

\n"}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"fullname": "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING", "modulename": "easypost.requestor", "qualname": "STATUS_CODE_TO_ERROR_MAPPING", "kind": "variable", "doc": "

\n", "annotation": ": dict[int, typing.Any]", "default_value": "{400: <class 'easypost.errors.api.bad_request_error.BadRequestError'>, 401: <class 'easypost.errors.api.unauthorized_error.UnauthorizedError'>, 402: <class 'easypost.errors.api.payment_error.PaymentError'>, 403: <class 'easypost.errors.api.forbidden_error.ForbiddenError'>, 404: <class 'easypost.errors.api.not_found_error.NotFoundError'>, 405: <class 'easypost.errors.api.method_not_allowed_error.MethodNotAllowedError'>, 408: <class 'easypost.errors.api.timeout_error.TimeoutError'>, 422: <class 'easypost.errors.api.invalid_request_error.InvalidRequestError'>, 429: <class 'easypost.errors.api.rate_limit_error.RateLimitError'>, 500: <class 'easypost.errors.api.internal_server_error.InternalServerError'>, 503: <class 'easypost.errors.api.service_unavailable_error.ServiceUnavailableError'>, 504: <class 'easypost.errors.api.gateway_timeout_error.GatewayTimeoutError'>}"}, "easypost.requestor.RequestMethod": {"fullname": "easypost.requestor.RequestMethod", "modulename": "easypost.requestor", "qualname": "RequestMethod", "kind": "class", "doc": "

\n", "bases": "enum.Enum"}, "easypost.requestor.RequestMethod.GET": {"fullname": "easypost.requestor.RequestMethod.GET", "modulename": "easypost.requestor", "qualname": "RequestMethod.GET", "kind": "variable", "doc": "

\n", "default_value": "<RequestMethod.GET: 'get'>"}, "easypost.requestor.RequestMethod.POST": {"fullname": "easypost.requestor.RequestMethod.POST", "modulename": "easypost.requestor", "qualname": "RequestMethod.POST", "kind": "variable", "doc": "

\n", "default_value": "<RequestMethod.POST: 'post'>"}, "easypost.requestor.RequestMethod.PUT": {"fullname": "easypost.requestor.RequestMethod.PUT", "modulename": "easypost.requestor", "qualname": "RequestMethod.PUT", "kind": "variable", "doc": "

\n", "default_value": "<RequestMethod.PUT: 'put'>"}, "easypost.requestor.RequestMethod.PATCH": {"fullname": "easypost.requestor.RequestMethod.PATCH", "modulename": "easypost.requestor", "qualname": "RequestMethod.PATCH", "kind": "variable", "doc": "

\n", "default_value": "<RequestMethod.PATCH: 'patch'>"}, "easypost.requestor.RequestMethod.DELETE": {"fullname": "easypost.requestor.RequestMethod.DELETE", "modulename": "easypost.requestor", "qualname": "RequestMethod.DELETE", "kind": "variable", "doc": "

\n", "default_value": "<RequestMethod.DELETE: 'delete'>"}, "easypost.requestor.Requestor": {"fullname": "easypost.requestor.Requestor", "modulename": "easypost.requestor", "qualname": "Requestor", "kind": "class", "doc": "

\n"}, "easypost.requestor.Requestor.__init__": {"fullname": "easypost.requestor.Requestor.__init__", "modulename": "easypost.requestor", "qualname": "Requestor.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.requestor.Requestor.form_encode_params": {"fullname": "easypost.requestor.Requestor.form_encode_params", "modulename": "easypost.requestor", "qualname": "Requestor.form_encode_params", "kind": "function", "doc": "

Form-encode a multi-layer dictionary to a one-layer dictionary.

\n", "signature": "(\tdata: dict[str, typing.Any],\tparent_keys: list[str] | None = None,\tparent_dict: dict[str, Any] | None = None) -> dict:", "funcdef": "def"}, "easypost.requestor.Requestor.request": {"fullname": "easypost.requestor.Requestor.request", "modulename": "easypost.requestor", "qualname": "Requestor.request", "kind": "function", "doc": "

Make a request to the EasyPost API.

\n", "signature": "(\tself,\tmethod: easypost.requestor.RequestMethod,\turl: str,\tparams: dict[str, Any] | None = None,\tbeta: bool = False) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.requestor.Requestor.request_raw": {"fullname": "easypost.requestor.Requestor.request_raw", "modulename": "easypost.requestor", "qualname": "Requestor.request_raw", "kind": "function", "doc": "

Internal logic required to make a request to the EasyPost API.

\n", "signature": "(\tself,\tmethod: easypost.requestor.RequestMethod,\turl: str,\tparams: dict[str, Any] | None = None,\tbeta: bool = False) -> Tuple[str, int]:", "funcdef": "def"}, "easypost.requestor.Requestor.interpret_response": {"fullname": "easypost.requestor.Requestor.interpret_response", "modulename": "easypost.requestor", "qualname": "Requestor.interpret_response", "kind": "function", "doc": "

Interpret the response body we receive from the API.

\n", "signature": "(self, http_body: str, http_status: int) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.requestor.Requestor.requests_request": {"fullname": "easypost.requestor.Requestor.requests_request", "modulename": "easypost.requestor", "qualname": "Requestor.requests_request", "kind": "function", "doc": "

Make a request by using the request library.

\n", "signature": "(\tself,\tmethod: easypost.requestor.RequestMethod,\tabs_url: str,\theaders: dict[str, typing.Any],\tparams: dict[str, typing.Any]) -> Tuple[str, int, dict[str, Any]]:", "funcdef": "def"}, "easypost.requestor.Requestor.urlfetch_request": {"fullname": "easypost.requestor.Requestor.urlfetch_request", "modulename": "easypost.requestor", "qualname": "Requestor.urlfetch_request", "kind": "function", "doc": "

Make a request by using the urlfetch library.

\n", "signature": "(\tself,\tmethod: easypost.requestor.RequestMethod,\tabs_url: str,\theaders: dict[str, typing.Any],\tparams: dict[str, typing.Any]) -> Tuple[str, int, dict[str, Any]]:", "funcdef": "def"}, "easypost.requestor.Requestor.handle_api_error": {"fullname": "easypost.requestor.Requestor.handle_api_error", "modulename": "easypost.requestor", "qualname": "Requestor.handle_api_error", "kind": "function", "doc": "

Handles API errors returned from the EasyPost API.

\n", "signature": "(\tself,\thttp_status: int,\thttp_body: str,\tresponse: dict[str, typing.Any]) -> None:", "funcdef": "def"}, "easypost.requestor.Requestor.encode_url_params": {"fullname": "easypost.requestor.Requestor.encode_url_params", "modulename": "easypost.requestor", "qualname": "Requestor.encode_url_params", "kind": "function", "doc": "

Encode params for a URL.

\n", "signature": "(\tself,\tparams: dict[str, typing.Any],\tmethod: easypost.requestor.RequestMethod) -> str | None:", "funcdef": "def"}, "easypost.requestor.Requestor.add_params_to_url": {"fullname": "easypost.requestor.Requestor.add_params_to_url", "modulename": "easypost.requestor", "qualname": "Requestor.add_params_to_url", "kind": "function", "doc": "

Add params to the URL.

\n", "signature": "(\tself,\turl: str,\tparams: dict[str, typing.Any],\tmethod: easypost.requestor.RequestMethod) -> str:", "funcdef": "def"}, "easypost.services": {"fullname": "easypost.services", "modulename": "easypost.services", "kind": "module", "doc": "

\n"}, "easypost.services.address_service": {"fullname": "easypost.services.address_service", "modulename": "easypost.services.address_service", "kind": "module", "doc": "

\n"}, "easypost.services.address_service.AddressService": {"fullname": "easypost.services.address_service.AddressService", "modulename": "easypost.services.address_service", "qualname": "AddressService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.address_service.AddressService.__init__": {"fullname": "easypost.services.address_service.AddressService.__init__", "modulename": "easypost.services.address_service", "qualname": "AddressService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.address_service.AddressService.create": {"fullname": "easypost.services.address_service.AddressService.create", "modulename": "easypost.services.address_service", "qualname": "AddressService.create", "kind": "function", "doc": "

Create an Address.

\n", "signature": "(\tself,\tverify: bool | None = None,\tverify_strict: bool | None = None,\tverify_carrier: str | None = None,\t**params) -> easypost.models.address.Address:", "funcdef": "def"}, "easypost.services.address_service.AddressService.all": {"fullname": "easypost.services.address_service.AddressService.all", "modulename": "easypost.services.address_service", "qualname": "AddressService.all", "kind": "function", "doc": "

Retrieve a list of Addresses.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.address_service.AddressService.retrieve": {"fullname": "easypost.services.address_service.AddressService.retrieve", "modulename": "easypost.services.address_service", "qualname": "AddressService.retrieve", "kind": "function", "doc": "

Retrieve an Address.

\n", "signature": "(self, id) -> easypost.models.address.Address:", "funcdef": "def"}, "easypost.services.address_service.AddressService.create_and_verify": {"fullname": "easypost.services.address_service.AddressService.create_and_verify", "modulename": "easypost.services.address_service", "qualname": "AddressService.create_and_verify", "kind": "function", "doc": "

Create and verify an Address in one call.

\n", "signature": "(\tself,\tverify_carrier: str | None = None,\t**params) -> easypost.models.address.Address:", "funcdef": "def"}, "easypost.services.address_service.AddressService.verify": {"fullname": "easypost.services.address_service.AddressService.verify", "modulename": "easypost.services.address_service", "qualname": "AddressService.verify", "kind": "function", "doc": "

Verify an already created Address.

\n", "signature": "(self, id) -> easypost.models.address.Address:", "funcdef": "def"}, "easypost.services.address_service.AddressService.get_next_page": {"fullname": "easypost.services.address_service.AddressService.get_next_page", "modulename": "easypost.services.address_service", "qualname": "AddressService.get_next_page", "kind": "function", "doc": "

Retrieve the next page of the list Addresses response.

\n", "signature": "(\tself,\taddresses: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.api_key_service": {"fullname": "easypost.services.api_key_service", "modulename": "easypost.services.api_key_service", "kind": "module", "doc": "

\n"}, "easypost.services.api_key_service.ApiKeyService": {"fullname": "easypost.services.api_key_service.ApiKeyService", "modulename": "easypost.services.api_key_service", "qualname": "ApiKeyService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.api_key_service.ApiKeyService.__init__": {"fullname": "easypost.services.api_key_service.ApiKeyService.__init__", "modulename": "easypost.services.api_key_service", "qualname": "ApiKeyService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"fullname": "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user", "modulename": "easypost.services.api_key_service", "qualname": "ApiKeyService.retrieve_api_keys_for_user", "kind": "function", "doc": "

Retrieve a list of API keys (works for the authenticated User or a child User).

\n", "signature": "(self, id: str) -> list[easypost.models.api_key.ApiKey]:", "funcdef": "def"}, "easypost.services.api_key_service.ApiKeyService.all": {"fullname": "easypost.services.api_key_service.ApiKeyService.all", "modulename": "easypost.services.api_key_service", "qualname": "ApiKeyService.all", "kind": "function", "doc": "

Retrieve a list of all API keys.

\n", "signature": "(self) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.api_key_service.ApiKeyService.create": {"fullname": "easypost.services.api_key_service.ApiKeyService.create", "modulename": "easypost.services.api_key_service", "qualname": "ApiKeyService.create", "kind": "function", "doc": "

Create an API key for a child or referral customer user.

\n", "signature": "(self, mode: str) -> easypost.models.api_key.ApiKey:", "funcdef": "def"}, "easypost.services.api_key_service.ApiKeyService.delete": {"fullname": "easypost.services.api_key_service.ApiKeyService.delete", "modulename": "easypost.services.api_key_service", "qualname": "ApiKeyService.delete", "kind": "function", "doc": "

Delete an API key for a child or referral customer user.

\n", "signature": "(self, id: str) -> None:", "funcdef": "def"}, "easypost.services.api_key_service.ApiKeyService.enable": {"fullname": "easypost.services.api_key_service.ApiKeyService.enable", "modulename": "easypost.services.api_key_service", "qualname": "ApiKeyService.enable", "kind": "function", "doc": "

Enable a child or referral customer API key.

\n", "signature": "(self, id: str) -> easypost.models.api_key.ApiKey:", "funcdef": "def"}, "easypost.services.api_key_service.ApiKeyService.disable": {"fullname": "easypost.services.api_key_service.ApiKeyService.disable", "modulename": "easypost.services.api_key_service", "qualname": "ApiKeyService.disable", "kind": "function", "doc": "

Disable a child or referral customer API key.

\n", "signature": "(self, id: str) -> easypost.models.api_key.ApiKey:", "funcdef": "def"}, "easypost.services.base_service": {"fullname": "easypost.services.base_service", "modulename": "easypost.services.base_service", "kind": "module", "doc": "

\n"}, "easypost.services.base_service.BaseService": {"fullname": "easypost.services.base_service.BaseService", "modulename": "easypost.services.base_service", "qualname": "BaseService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n"}, "easypost.services.base_service.BaseService.__init__": {"fullname": "easypost.services.base_service.BaseService.__init__", "modulename": "easypost.services.base_service", "qualname": "BaseService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.batch_service": {"fullname": "easypost.services.batch_service", "modulename": "easypost.services.batch_service", "kind": "module", "doc": "

\n"}, "easypost.services.batch_service.BatchService": {"fullname": "easypost.services.batch_service.BatchService", "modulename": "easypost.services.batch_service", "qualname": "BatchService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.batch_service.BatchService.__init__": {"fullname": "easypost.services.batch_service.BatchService.__init__", "modulename": "easypost.services.batch_service", "qualname": "BatchService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.batch_service.BatchService.create": {"fullname": "easypost.services.batch_service.BatchService.create", "modulename": "easypost.services.batch_service", "qualname": "BatchService.create", "kind": "function", "doc": "

Create a Batch.

\n", "signature": "(self, **params) -> easypost.models.batch.Batch:", "funcdef": "def"}, "easypost.services.batch_service.BatchService.all": {"fullname": "easypost.services.batch_service.BatchService.all", "modulename": "easypost.services.batch_service", "qualname": "BatchService.all", "kind": "function", "doc": "

Retrieve a list of Batches.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.batch_service.BatchService.retrieve": {"fullname": "easypost.services.batch_service.BatchService.retrieve", "modulename": "easypost.services.batch_service", "qualname": "BatchService.retrieve", "kind": "function", "doc": "

Retrieve a Batch.

\n", "signature": "(self, id: str) -> easypost.models.batch.Batch:", "funcdef": "def"}, "easypost.services.batch_service.BatchService.buy": {"fullname": "easypost.services.batch_service.BatchService.buy", "modulename": "easypost.services.batch_service", "qualname": "BatchService.buy", "kind": "function", "doc": "

Buy a Batch.

\n", "signature": "(self, id: str, **params) -> easypost.models.batch.Batch:", "funcdef": "def"}, "easypost.services.batch_service.BatchService.label": {"fullname": "easypost.services.batch_service.BatchService.label", "modulename": "easypost.services.batch_service", "qualname": "BatchService.label", "kind": "function", "doc": "

Create a Batch label.

\n", "signature": "(self, id: str, **params) -> easypost.models.batch.Batch:", "funcdef": "def"}, "easypost.services.batch_service.BatchService.remove_shipments": {"fullname": "easypost.services.batch_service.BatchService.remove_shipments", "modulename": "easypost.services.batch_service", "qualname": "BatchService.remove_shipments", "kind": "function", "doc": "

Remove Shipments from a Batch.

\n", "signature": "(self, id: str, **params) -> easypost.models.batch.Batch:", "funcdef": "def"}, "easypost.services.batch_service.BatchService.add_shipments": {"fullname": "easypost.services.batch_service.BatchService.add_shipments", "modulename": "easypost.services.batch_service", "qualname": "BatchService.add_shipments", "kind": "function", "doc": "

Add Shipments to a Batch.

\n", "signature": "(self, id: str, **params) -> easypost.models.batch.Batch:", "funcdef": "def"}, "easypost.services.batch_service.BatchService.create_scan_form": {"fullname": "easypost.services.batch_service.BatchService.create_scan_form", "modulename": "easypost.services.batch_service", "qualname": "BatchService.create_scan_form", "kind": "function", "doc": "

Create a ScanForm for a Batch.

\n", "signature": "(self, id: str, **params) -> easypost.models.batch.Batch:", "funcdef": "def"}, "easypost.services.batch_service.BatchService.get_next_page": {"fullname": "easypost.services.batch_service.BatchService.get_next_page", "modulename": "easypost.services.batch_service", "qualname": "BatchService.get_next_page", "kind": "function", "doc": "

Retrieve the next page of the list Batch response.

\n\n

NOTE: This function has known issues with retrieving pages in order due to server-side issues.\nIt is not recommended to be used currently.

\n", "signature": "(\tself,\tbatches: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.beta_rate_service": {"fullname": "easypost.services.beta_rate_service", "modulename": "easypost.services.beta_rate_service", "kind": "module", "doc": "

\n"}, "easypost.services.beta_rate_service.BetaRateService": {"fullname": "easypost.services.beta_rate_service.BetaRateService", "modulename": "easypost.services.beta_rate_service", "qualname": "BetaRateService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"fullname": "easypost.services.beta_rate_service.BetaRateService.__init__", "modulename": "easypost.services.beta_rate_service", "qualname": "BetaRateService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"fullname": "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates", "modulename": "easypost.services.beta_rate_service", "qualname": "BetaRateService.retrieve_stateless_rates", "kind": "function", "doc": "

Retrieves stateless rates by passing shipment data.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.beta_referral_customer_service": {"fullname": "easypost.services.beta_referral_customer_service", "modulename": "easypost.services.beta_referral_customer_service", "kind": "module", "doc": "

\n"}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"fullname": "easypost.services.beta_referral_customer_service.BetaReferralCustomerService", "modulename": "easypost.services.beta_referral_customer_service", "qualname": "BetaReferralCustomerService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"fullname": "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method", "modulename": "easypost.services.beta_referral_customer_service", "qualname": "BetaReferralCustomerService.add_payment_method", "kind": "function", "doc": "

Add a Stripe payment method to your EasyPost account.

\n\n

This endpoint uses a user's personal Stripe account. The stripe_customer_id\nand payment_method_reference IDs both come from Stripe. By adding these to\nEasyPost, we will associate your Stripe payment method with either your primary\nor secondary EasyPost payment method.

\n", "signature": "(\tself,\tstripe_customer_id: str,\tpayment_method_reference: str,\tpriority: str = 'primary') -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"fullname": "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount", "modulename": "easypost.services.beta_referral_customer_service", "qualname": "BetaReferralCustomerService.refund_by_amount", "kind": "function", "doc": "

Refund a ReferralCustomer wallet by specifying an amount.

\n", "signature": "(self, refund_amount: int) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"fullname": "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log", "modulename": "easypost.services.beta_referral_customer_service", "qualname": "BetaReferralCustomerService.refund_by_payment_log", "kind": "function", "doc": "

Refund a ReferralCustomer wallet by specifying a payment log ID to completely refund.

\n", "signature": "(self, payment_log_id: str) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"fullname": "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret", "modulename": "easypost.services.beta_referral_customer_service", "qualname": "BetaReferralCustomerService.create_credit_card_client_secret", "kind": "function", "doc": "

Creates a client secret to use with Stripe when adding a credit card.

\n", "signature": "(self) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"fullname": "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret", "modulename": "easypost.services.beta_referral_customer_service", "qualname": "BetaReferralCustomerService.create_bank_account_client_secret", "kind": "function", "doc": "

Creates a client secret to use with Stripe when adding a bank account.

\n", "signature": "(self, return_url: str | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.billing_service": {"fullname": "easypost.services.billing_service", "modulename": "easypost.services.billing_service", "kind": "module", "doc": "

\n"}, "easypost.services.billing_service.BillingService": {"fullname": "easypost.services.billing_service.BillingService", "modulename": "easypost.services.billing_service", "qualname": "BillingService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.billing_service.BillingService.__init__": {"fullname": "easypost.services.billing_service.BillingService.__init__", "modulename": "easypost.services.billing_service", "qualname": "BillingService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.billing_service.BillingService.fund_wallet": {"fullname": "easypost.services.billing_service.BillingService.fund_wallet", "modulename": "easypost.services.billing_service", "qualname": "BillingService.fund_wallet", "kind": "function", "doc": "

Fund your EasyPost wallet by charging your primary or secondary payment method on file.

\n", "signature": "(self, amount: str, priority: str = 'primary') -> None:", "funcdef": "def"}, "easypost.services.billing_service.BillingService.delete_payment_method": {"fullname": "easypost.services.billing_service.BillingService.delete_payment_method", "modulename": "easypost.services.billing_service", "qualname": "BillingService.delete_payment_method", "kind": "function", "doc": "

Delete a payment method.

\n", "signature": "(self, priority: str) -> None:", "funcdef": "def"}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"fullname": "easypost.services.billing_service.BillingService.retrieve_payment_methods", "modulename": "easypost.services.billing_service", "qualname": "BillingService.retrieve_payment_methods", "kind": "function", "doc": "

Retrieve payment methods.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.carrier_account_service": {"fullname": "easypost.services.carrier_account_service", "modulename": "easypost.services.carrier_account_service", "kind": "module", "doc": "

\n"}, "easypost.services.carrier_account_service.CarrierAccountService": {"fullname": "easypost.services.carrier_account_service.CarrierAccountService", "modulename": "easypost.services.carrier_account_service", "qualname": "CarrierAccountService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"fullname": "easypost.services.carrier_account_service.CarrierAccountService.__init__", "modulename": "easypost.services.carrier_account_service", "qualname": "CarrierAccountService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"fullname": "easypost.services.carrier_account_service.CarrierAccountService.create", "modulename": "easypost.services.carrier_account_service", "qualname": "CarrierAccountService.create", "kind": "function", "doc": "

Create a CarrierAccount.

\n", "signature": "(self, **params) -> easypost.models.carrier_account.CarrierAccount:", "funcdef": "def"}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"fullname": "easypost.services.carrier_account_service.CarrierAccountService.all", "modulename": "easypost.services.carrier_account_service", "qualname": "CarrierAccountService.all", "kind": "function", "doc": "

Retrieve a list of CarrierAccounts.

\n", "signature": "(self, **params) -> list[dict[str, typing.Any]]:", "funcdef": "def"}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"fullname": "easypost.services.carrier_account_service.CarrierAccountService.retrieve", "modulename": "easypost.services.carrier_account_service", "qualname": "CarrierAccountService.retrieve", "kind": "function", "doc": "

Retrieve a CarrierAccount.

\n", "signature": "(self, id: str) -> easypost.models.carrier_account.CarrierAccount:", "funcdef": "def"}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"fullname": "easypost.services.carrier_account_service.CarrierAccountService.update", "modulename": "easypost.services.carrier_account_service", "qualname": "CarrierAccountService.update", "kind": "function", "doc": "

Update a CarrierAccount.

\n", "signature": "(\tself,\tid: str,\t**params) -> easypost.models.carrier_account.CarrierAccount:", "funcdef": "def"}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"fullname": "easypost.services.carrier_account_service.CarrierAccountService.delete", "modulename": "easypost.services.carrier_account_service", "qualname": "CarrierAccountService.delete", "kind": "function", "doc": "

Delete a CarrierAccount.

\n", "signature": "(self, id: str) -> None:", "funcdef": "def"}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"fullname": "easypost.services.carrier_account_service.CarrierAccountService.types", "modulename": "easypost.services.carrier_account_service", "qualname": "CarrierAccountService.types", "kind": "function", "doc": "

Get the types of CarrierAccounts available to the User.

\n", "signature": "(self) -> list[dict[str, typing.Any]]:", "funcdef": "def"}, "easypost.services.carrier_metadata_service": {"fullname": "easypost.services.carrier_metadata_service", "modulename": "easypost.services.carrier_metadata_service", "kind": "module", "doc": "

\n"}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"fullname": "easypost.services.carrier_metadata_service.CarrierMetadataService", "modulename": "easypost.services.carrier_metadata_service", "qualname": "CarrierMetadataService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"fullname": "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__", "modulename": "easypost.services.carrier_metadata_service", "qualname": "CarrierMetadataService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"fullname": "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve", "modulename": "easypost.services.carrier_metadata_service", "qualname": "CarrierMetadataService.retrieve", "kind": "function", "doc": "

Get metadata for all carriers on the EasyPost platform or specify optional filters.

\n", "signature": "(\tself,\tcarriers: list[str] | None = None,\ttypes: list[str] | None = None) -> list[dict[str, typing.Any]]:", "funcdef": "def"}, "easypost.services.claim_service": {"fullname": "easypost.services.claim_service", "modulename": "easypost.services.claim_service", "kind": "module", "doc": "

\n"}, "easypost.services.claim_service.ClaimService": {"fullname": "easypost.services.claim_service.ClaimService", "modulename": "easypost.services.claim_service", "qualname": "ClaimService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.claim_service.ClaimService.__init__": {"fullname": "easypost.services.claim_service.ClaimService.__init__", "modulename": "easypost.services.claim_service", "qualname": "ClaimService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.claim_service.ClaimService.create": {"fullname": "easypost.services.claim_service.ClaimService.create", "modulename": "easypost.services.claim_service", "qualname": "ClaimService.create", "kind": "function", "doc": "

Create a Claim.

\n", "signature": "(self, **params) -> easypost.models.claim.Claim:", "funcdef": "def"}, "easypost.services.claim_service.ClaimService.all": {"fullname": "easypost.services.claim_service.ClaimService.all", "modulename": "easypost.services.claim_service", "qualname": "ClaimService.all", "kind": "function", "doc": "

Retrieve a list of Claims.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.claim_service.ClaimService.retrieve": {"fullname": "easypost.services.claim_service.ClaimService.retrieve", "modulename": "easypost.services.claim_service", "qualname": "ClaimService.retrieve", "kind": "function", "doc": "

Retrieve a Claim.

\n", "signature": "(self, id: str) -> easypost.models.claim.Claim:", "funcdef": "def"}, "easypost.services.claim_service.ClaimService.get_next_page": {"fullname": "easypost.services.claim_service.ClaimService.get_next_page", "modulename": "easypost.services.claim_service", "qualname": "ClaimService.get_next_page", "kind": "function", "doc": "

Retrieve the next page of the list Claim response.

\n", "signature": "(\tself,\tclaims: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.claim_service.ClaimService.cancel": {"fullname": "easypost.services.claim_service.ClaimService.cancel", "modulename": "easypost.services.claim_service", "qualname": "ClaimService.cancel", "kind": "function", "doc": "

Cancel a Claim.

\n", "signature": "(self, id: str) -> easypost.models.claim.Claim:", "funcdef": "def"}, "easypost.services.customer_portal_service": {"fullname": "easypost.services.customer_portal_service", "modulename": "easypost.services.customer_portal_service", "kind": "module", "doc": "

\n"}, "easypost.services.customer_portal_service.CustomerPortalService": {"fullname": "easypost.services.customer_portal_service.CustomerPortalService", "modulename": "easypost.services.customer_portal_service", "qualname": "CustomerPortalService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"fullname": "easypost.services.customer_portal_service.CustomerPortalService.__init__", "modulename": "easypost.services.customer_portal_service", "qualname": "CustomerPortalService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"fullname": "easypost.services.customer_portal_service.CustomerPortalService.create_account_link", "modulename": "easypost.services.customer_portal_service", "qualname": "CustomerPortalService.create_account_link", "kind": "function", "doc": "

Create a Portal Session.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.customs_info_service": {"fullname": "easypost.services.customs_info_service", "modulename": "easypost.services.customs_info_service", "kind": "module", "doc": "

\n"}, "easypost.services.customs_info_service.CustomsInfoService": {"fullname": "easypost.services.customs_info_service.CustomsInfoService", "modulename": "easypost.services.customs_info_service", "qualname": "CustomsInfoService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"fullname": "easypost.services.customs_info_service.CustomsInfoService.__init__", "modulename": "easypost.services.customs_info_service", "qualname": "CustomsInfoService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.customs_info_service.CustomsInfoService.create": {"fullname": "easypost.services.customs_info_service.CustomsInfoService.create", "modulename": "easypost.services.customs_info_service", "qualname": "CustomsInfoService.create", "kind": "function", "doc": "

Create a CustomsInfo.

\n", "signature": "(self, **params) -> easypost.models.customs_info.CustomsInfo:", "funcdef": "def"}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"fullname": "easypost.services.customs_info_service.CustomsInfoService.retrieve", "modulename": "easypost.services.customs_info_service", "qualname": "CustomsInfoService.retrieve", "kind": "function", "doc": "

Retrieve a CustomsInfo.

\n", "signature": "(self, id: str) -> easypost.models.customs_info.CustomsInfo:", "funcdef": "def"}, "easypost.services.customs_item_service": {"fullname": "easypost.services.customs_item_service", "modulename": "easypost.services.customs_item_service", "kind": "module", "doc": "

\n"}, "easypost.services.customs_item_service.CustomsItemService": {"fullname": "easypost.services.customs_item_service.CustomsItemService", "modulename": "easypost.services.customs_item_service", "qualname": "CustomsItemService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"fullname": "easypost.services.customs_item_service.CustomsItemService.__init__", "modulename": "easypost.services.customs_item_service", "qualname": "CustomsItemService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.customs_item_service.CustomsItemService.create": {"fullname": "easypost.services.customs_item_service.CustomsItemService.create", "modulename": "easypost.services.customs_item_service", "qualname": "CustomsItemService.create", "kind": "function", "doc": "

Create a CustomsItem.

\n", "signature": "(self, **params) -> easypost.models.customs_item.CustomsItem:", "funcdef": "def"}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"fullname": "easypost.services.customs_item_service.CustomsItemService.retrieve", "modulename": "easypost.services.customs_item_service", "qualname": "CustomsItemService.retrieve", "kind": "function", "doc": "

Retrieve a CustomsItem.

\n", "signature": "(self, id: str) -> easypost.models.customs_item.CustomsItem:", "funcdef": "def"}, "easypost.services.embeddable_service": {"fullname": "easypost.services.embeddable_service", "modulename": "easypost.services.embeddable_service", "kind": "module", "doc": "

\n"}, "easypost.services.embeddable_service.EmbeddableService": {"fullname": "easypost.services.embeddable_service.EmbeddableService", "modulename": "easypost.services.embeddable_service", "qualname": "EmbeddableService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"fullname": "easypost.services.embeddable_service.EmbeddableService.__init__", "modulename": "easypost.services.embeddable_service", "qualname": "EmbeddableService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"fullname": "easypost.services.embeddable_service.EmbeddableService.create_session", "modulename": "easypost.services.embeddable_service", "qualname": "EmbeddableService.create_session", "kind": "function", "doc": "

Create an Embeddables Session.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.end_shipper_service": {"fullname": "easypost.services.end_shipper_service", "modulename": "easypost.services.end_shipper_service", "kind": "module", "doc": "

\n"}, "easypost.services.end_shipper_service.EndShipperService": {"fullname": "easypost.services.end_shipper_service.EndShipperService", "modulename": "easypost.services.end_shipper_service", "qualname": "EndShipperService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"fullname": "easypost.services.end_shipper_service.EndShipperService.__init__", "modulename": "easypost.services.end_shipper_service", "qualname": "EndShipperService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.end_shipper_service.EndShipperService.create": {"fullname": "easypost.services.end_shipper_service.EndShipperService.create", "modulename": "easypost.services.end_shipper_service", "qualname": "EndShipperService.create", "kind": "function", "doc": "

Create an EndShipper.

\n", "signature": "(self, **params) -> easypost.models.address.Address:", "funcdef": "def"}, "easypost.services.end_shipper_service.EndShipperService.all": {"fullname": "easypost.services.end_shipper_service.EndShipperService.all", "modulename": "easypost.services.end_shipper_service", "qualname": "EndShipperService.all", "kind": "function", "doc": "

Retrieve a list of EndShippers.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"fullname": "easypost.services.end_shipper_service.EndShipperService.retrieve", "modulename": "easypost.services.end_shipper_service", "qualname": "EndShipperService.retrieve", "kind": "function", "doc": "

Retrieve an EndShipper.

\n", "signature": "(self, id: str) -> easypost.models.address.Address:", "funcdef": "def"}, "easypost.services.end_shipper_service.EndShipperService.update": {"fullname": "easypost.services.end_shipper_service.EndShipperService.update", "modulename": "easypost.services.end_shipper_service", "qualname": "EndShipperService.update", "kind": "function", "doc": "

Update an EndShipper object.

\n\n

This function requires all parameters to be present for an EndShipper.

\n", "signature": "(self, id: str, **params) -> easypost.models.address.Address:", "funcdef": "def"}, "easypost.services.event_service": {"fullname": "easypost.services.event_service", "modulename": "easypost.services.event_service", "kind": "module", "doc": "

\n"}, "easypost.services.event_service.EventService": {"fullname": "easypost.services.event_service.EventService", "modulename": "easypost.services.event_service", "qualname": "EventService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.event_service.EventService.__init__": {"fullname": "easypost.services.event_service.EventService.__init__", "modulename": "easypost.services.event_service", "qualname": "EventService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.event_service.EventService.create": {"fullname": "easypost.services.event_service.EventService.create", "modulename": "easypost.services.event_service", "qualname": "EventService.create", "kind": "function", "doc": "

Create an Event.

\n", "signature": "(self, **params) -> easypost.models.event.Event:", "funcdef": "def"}, "easypost.services.event_service.EventService.all": {"fullname": "easypost.services.event_service.EventService.all", "modulename": "easypost.services.event_service", "qualname": "EventService.all", "kind": "function", "doc": "

Retrieve a list of Events.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.event_service.EventService.retrieve": {"fullname": "easypost.services.event_service.EventService.retrieve", "modulename": "easypost.services.event_service", "qualname": "EventService.retrieve", "kind": "function", "doc": "

Retrieve an Event.

\n", "signature": "(self, id: str) -> easypost.models.event.Event:", "funcdef": "def"}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"fullname": "easypost.services.event_service.EventService.retrieve_all_payloads", "modulename": "easypost.services.event_service", "qualname": "EventService.retrieve_all_payloads", "kind": "function", "doc": "

Retrieve a list of Payloads for an Event.

\n", "signature": "(self, event_id: str, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.event_service.EventService.retrieve_payload": {"fullname": "easypost.services.event_service.EventService.retrieve_payload", "modulename": "easypost.services.event_service", "qualname": "EventService.retrieve_payload", "kind": "function", "doc": "

Retrieve a Payload of an Event.

\n", "signature": "(\tself,\tevent_id: str,\tpayload_id: str,\t**params) -> easypost.models.payload.Payload:", "funcdef": "def"}, "easypost.services.event_service.EventService.get_next_page": {"fullname": "easypost.services.event_service.EventService.get_next_page", "modulename": "easypost.services.event_service", "qualname": "EventService.get_next_page", "kind": "function", "doc": "

Retrieve the next page of the list Events response.

\n", "signature": "(\tself,\tevents: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.fedex_registration_service": {"fullname": "easypost.services.fedex_registration_service", "modulename": "easypost.services.fedex_registration_service", "kind": "module", "doc": "

\n"}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"fullname": "easypost.services.fedex_registration_service.FedExRegistrationService", "modulename": "easypost.services.fedex_registration_service", "qualname": "FedExRegistrationService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"fullname": "easypost.services.fedex_registration_service.FedExRegistrationService.__init__", "modulename": "easypost.services.fedex_registration_service", "qualname": "FedExRegistrationService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"fullname": "easypost.services.fedex_registration_service.FedExRegistrationService.register_address", "modulename": "easypost.services.fedex_registration_service", "qualname": "FedExRegistrationService.register_address", "kind": "function", "doc": "

Register the billing address for a FedEx account.

\n", "signature": "(self, fedex_account_number: str, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"fullname": "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin", "modulename": "easypost.services.fedex_registration_service", "qualname": "FedExRegistrationService.request_pin", "kind": "function", "doc": "

Request a PIN for FedEx account verification.

\n", "signature": "(\tself,\tfedex_account_number: str,\tpin_method_option: str,\t**params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"fullname": "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin", "modulename": "easypost.services.fedex_registration_service", "qualname": "FedExRegistrationService.validate_pin", "kind": "function", "doc": "

Validate the PIN entered by the user for FedEx account verification.

\n", "signature": "(self, fedex_account_number: str, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"fullname": "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice", "modulename": "easypost.services.fedex_registration_service", "qualname": "FedExRegistrationService.submit_invoice", "kind": "function", "doc": "

Submit invoice information to complete FedEx account registration.

\n", "signature": "(self, fedex_account_number: str, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.insurance_service": {"fullname": "easypost.services.insurance_service", "modulename": "easypost.services.insurance_service", "kind": "module", "doc": "

\n"}, "easypost.services.insurance_service.InsuranceService": {"fullname": "easypost.services.insurance_service.InsuranceService", "modulename": "easypost.services.insurance_service", "qualname": "InsuranceService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.insurance_service.InsuranceService.__init__": {"fullname": "easypost.services.insurance_service.InsuranceService.__init__", "modulename": "easypost.services.insurance_service", "qualname": "InsuranceService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.insurance_service.InsuranceService.create": {"fullname": "easypost.services.insurance_service.InsuranceService.create", "modulename": "easypost.services.insurance_service", "qualname": "InsuranceService.create", "kind": "function", "doc": "

Create an Insurance.

\n", "signature": "(self, **params) -> easypost.models.insurance.Insurance:", "funcdef": "def"}, "easypost.services.insurance_service.InsuranceService.all": {"fullname": "easypost.services.insurance_service.InsuranceService.all", "modulename": "easypost.services.insurance_service", "qualname": "InsuranceService.all", "kind": "function", "doc": "

Retrieve a list of Insurances.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.insurance_service.InsuranceService.retrieve": {"fullname": "easypost.services.insurance_service.InsuranceService.retrieve", "modulename": "easypost.services.insurance_service", "qualname": "InsuranceService.retrieve", "kind": "function", "doc": "

Retrieve an Insurance.

\n", "signature": "(self, id: str) -> easypost.models.insurance.Insurance:", "funcdef": "def"}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"fullname": "easypost.services.insurance_service.InsuranceService.get_next_page", "modulename": "easypost.services.insurance_service", "qualname": "InsuranceService.get_next_page", "kind": "function", "doc": "

Retrieve the next page of the list Insurance response.

\n", "signature": "(\tself,\tinsurances: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.insurance_service.InsuranceService.refund": {"fullname": "easypost.services.insurance_service.InsuranceService.refund", "modulename": "easypost.services.insurance_service", "qualname": "InsuranceService.refund", "kind": "function", "doc": "

\n", "signature": "(self, id: str) -> easypost.models.insurance.Insurance:", "funcdef": "def"}, "easypost.services.luma_service": {"fullname": "easypost.services.luma_service", "modulename": "easypost.services.luma_service", "kind": "module", "doc": "

\n"}, "easypost.services.luma_service.LumaService": {"fullname": "easypost.services.luma_service.LumaService", "modulename": "easypost.services.luma_service", "qualname": "LumaService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.luma_service.LumaService.__init__": {"fullname": "easypost.services.luma_service.LumaService.__init__", "modulename": "easypost.services.luma_service", "qualname": "LumaService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.luma_service.LumaService.get_promise": {"fullname": "easypost.services.luma_service.LumaService.get_promise", "modulename": "easypost.services.luma_service", "qualname": "LumaService.get_promise", "kind": "function", "doc": "

Get service recommendations from Luma that meet the criteria of your ruleset.

\n", "signature": "(\tself,\t**params: dict[str, typing.Any]) -> easypost.models.shipment.Shipment:", "funcdef": "def"}, "easypost.services.order_service": {"fullname": "easypost.services.order_service", "modulename": "easypost.services.order_service", "kind": "module", "doc": "

\n"}, "easypost.services.order_service.OrderService": {"fullname": "easypost.services.order_service.OrderService", "modulename": "easypost.services.order_service", "qualname": "OrderService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.order_service.OrderService.__init__": {"fullname": "easypost.services.order_service.OrderService.__init__", "modulename": "easypost.services.order_service", "qualname": "OrderService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.order_service.OrderService.create": {"fullname": "easypost.services.order_service.OrderService.create", "modulename": "easypost.services.order_service", "qualname": "OrderService.create", "kind": "function", "doc": "

Create an Order.

\n", "signature": "(self, **params) -> easypost.models.order.Order:", "funcdef": "def"}, "easypost.services.order_service.OrderService.retrieve": {"fullname": "easypost.services.order_service.OrderService.retrieve", "modulename": "easypost.services.order_service", "qualname": "OrderService.retrieve", "kind": "function", "doc": "

Retrieve an Order.

\n", "signature": "(self, id: str) -> easypost.models.order.Order:", "funcdef": "def"}, "easypost.services.order_service.OrderService.get_rates": {"fullname": "easypost.services.order_service.OrderService.get_rates", "modulename": "easypost.services.order_service", "qualname": "OrderService.get_rates", "kind": "function", "doc": "

Get rates for an Order.

\n", "signature": "(self, id: str) -> easypost.models.order.Order:", "funcdef": "def"}, "easypost.services.order_service.OrderService.buy": {"fullname": "easypost.services.order_service.OrderService.buy", "modulename": "easypost.services.order_service", "qualname": "OrderService.buy", "kind": "function", "doc": "

Buy an Order.

\n", "signature": "(self, id: str, **params) -> easypost.models.order.Order:", "funcdef": "def"}, "easypost.services.parcel_service": {"fullname": "easypost.services.parcel_service", "modulename": "easypost.services.parcel_service", "kind": "module", "doc": "

\n"}, "easypost.services.parcel_service.ParcelService": {"fullname": "easypost.services.parcel_service.ParcelService", "modulename": "easypost.services.parcel_service", "qualname": "ParcelService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.parcel_service.ParcelService.__init__": {"fullname": "easypost.services.parcel_service.ParcelService.__init__", "modulename": "easypost.services.parcel_service", "qualname": "ParcelService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.parcel_service.ParcelService.create": {"fullname": "easypost.services.parcel_service.ParcelService.create", "modulename": "easypost.services.parcel_service", "qualname": "ParcelService.create", "kind": "function", "doc": "

Create a Parcel.

\n", "signature": "(self, **params) -> easypost.models.parcel.Parcel:", "funcdef": "def"}, "easypost.services.parcel_service.ParcelService.retrieve": {"fullname": "easypost.services.parcel_service.ParcelService.retrieve", "modulename": "easypost.services.parcel_service", "qualname": "ParcelService.retrieve", "kind": "function", "doc": "

Retrieve a Parcel.

\n", "signature": "(self, id: str) -> easypost.models.parcel.Parcel:", "funcdef": "def"}, "easypost.services.pickup_service": {"fullname": "easypost.services.pickup_service", "modulename": "easypost.services.pickup_service", "kind": "module", "doc": "

\n"}, "easypost.services.pickup_service.PickupService": {"fullname": "easypost.services.pickup_service.PickupService", "modulename": "easypost.services.pickup_service", "qualname": "PickupService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.pickup_service.PickupService.__init__": {"fullname": "easypost.services.pickup_service.PickupService.__init__", "modulename": "easypost.services.pickup_service", "qualname": "PickupService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.pickup_service.PickupService.create": {"fullname": "easypost.services.pickup_service.PickupService.create", "modulename": "easypost.services.pickup_service", "qualname": "PickupService.create", "kind": "function", "doc": "

Create a Pickup.

\n", "signature": "(self, **params) -> easypost.models.pickup.Pickup:", "funcdef": "def"}, "easypost.services.pickup_service.PickupService.all": {"fullname": "easypost.services.pickup_service.PickupService.all", "modulename": "easypost.services.pickup_service", "qualname": "PickupService.all", "kind": "function", "doc": "

Retrieve a list of Pickups.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.pickup_service.PickupService.retrieve": {"fullname": "easypost.services.pickup_service.PickupService.retrieve", "modulename": "easypost.services.pickup_service", "qualname": "PickupService.retrieve", "kind": "function", "doc": "

Retrieve a Pickup.

\n", "signature": "(self, id: str) -> easypost.models.pickup.Pickup:", "funcdef": "def"}, "easypost.services.pickup_service.PickupService.get_next_page": {"fullname": "easypost.services.pickup_service.PickupService.get_next_page", "modulename": "easypost.services.pickup_service", "qualname": "PickupService.get_next_page", "kind": "function", "doc": "

Retrieve the next page of the list Pickup response.

\n", "signature": "(\tself,\tpickups: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.pickup_service.PickupService.buy": {"fullname": "easypost.services.pickup_service.PickupService.buy", "modulename": "easypost.services.pickup_service", "qualname": "PickupService.buy", "kind": "function", "doc": "

Buy a Pickup.

\n", "signature": "(self, id: str, **params) -> easypost.models.pickup.Pickup:", "funcdef": "def"}, "easypost.services.pickup_service.PickupService.cancel": {"fullname": "easypost.services.pickup_service.PickupService.cancel", "modulename": "easypost.services.pickup_service", "qualname": "PickupService.cancel", "kind": "function", "doc": "

Cancel a Pickup.

\n", "signature": "(self, id: str, **params) -> easypost.models.pickup.Pickup:", "funcdef": "def"}, "easypost.services.rate_service": {"fullname": "easypost.services.rate_service", "modulename": "easypost.services.rate_service", "kind": "module", "doc": "

\n"}, "easypost.services.rate_service.RateService": {"fullname": "easypost.services.rate_service.RateService", "modulename": "easypost.services.rate_service", "qualname": "RateService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.rate_service.RateService.__init__": {"fullname": "easypost.services.rate_service.RateService.__init__", "modulename": "easypost.services.rate_service", "qualname": "RateService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.rate_service.RateService.retrieve": {"fullname": "easypost.services.rate_service.RateService.retrieve", "modulename": "easypost.services.rate_service", "qualname": "RateService.retrieve", "kind": "function", "doc": "

Retrieve a Rate.

\n", "signature": "(self, id: str) -> easypost.models.rate.Rate:", "funcdef": "def"}, "easypost.services.referral_customer_service": {"fullname": "easypost.services.referral_customer_service", "modulename": "easypost.services.referral_customer_service", "kind": "module", "doc": "

\n"}, "easypost.services.referral_customer_service.ReferralCustomerService": {"fullname": "easypost.services.referral_customer_service.ReferralCustomerService", "modulename": "easypost.services.referral_customer_service", "qualname": "ReferralCustomerService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"fullname": "easypost.services.referral_customer_service.ReferralCustomerService.__init__", "modulename": "easypost.services.referral_customer_service", "qualname": "ReferralCustomerService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"fullname": "easypost.services.referral_customer_service.ReferralCustomerService.create", "modulename": "easypost.services.referral_customer_service", "qualname": "ReferralCustomerService.create", "kind": "function", "doc": "

Create a referral customer.

\n\n

This function requires the Partner User's API key.

\n", "signature": "(self, **params) -> easypost.models.user.User:", "funcdef": "def"}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"fullname": "easypost.services.referral_customer_service.ReferralCustomerService.update_email", "modulename": "easypost.services.referral_customer_service", "qualname": "ReferralCustomerService.update_email", "kind": "function", "doc": "

Update a referral customer.

\n\n

This function requires the Partner User's API key.

\n", "signature": "(self, id: str, email: str) -> None:", "funcdef": "def"}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"fullname": "easypost.services.referral_customer_service.ReferralCustomerService.all", "modulename": "easypost.services.referral_customer_service", "qualname": "ReferralCustomerService.all", "kind": "function", "doc": "

Retrieve a list of referral customers.

\n\n

This function requires the Partner User's API key.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"fullname": "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page", "modulename": "easypost.services.referral_customer_service", "qualname": "ReferralCustomerService.get_next_page", "kind": "function", "doc": "

Retrieve next page of referral customers.

\n", "signature": "(\tself,\treferral_customers: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"fullname": "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe", "modulename": "easypost.services.referral_customer_service", "qualname": "ReferralCustomerService.add_credit_card_from_stripe", "kind": "function", "doc": "

Add a credit card to EasyPost for a ReferralCustomer with a payment method ID from Stripe.

\n\n

This function requires the ReferralCustomer User's API key.

\n", "signature": "(\tself,\treferral_api_key: str,\tpayment_method_id: str,\tpriority: str = 'primary') -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"fullname": "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe", "modulename": "easypost.services.referral_customer_service", "qualname": "ReferralCustomerService.add_bank_account_from_stripe", "kind": "function", "doc": "

Add a bank account to EasyPost for a ReferralCustomer.

\n\n

This function requires the ReferralCustomer User's API key.

\n", "signature": "(\tself,\treferral_api_key: str,\tfinancial_connections_id: str,\tmandate_data: dict[str, typing.Any],\tpriority: str = 'primary') -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"fullname": "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key", "modulename": "easypost.services.referral_customer_service", "qualname": "ReferralCustomerService.retrieve_easypost_stripe_api_key", "kind": "function", "doc": "

Retrieve EasyPost's Stripe public API key.

\n", "signature": "(self) -> str:", "funcdef": "def"}, "easypost.services.refund_service": {"fullname": "easypost.services.refund_service", "modulename": "easypost.services.refund_service", "kind": "module", "doc": "

\n"}, "easypost.services.refund_service.RefundService": {"fullname": "easypost.services.refund_service.RefundService", "modulename": "easypost.services.refund_service", "qualname": "RefundService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.refund_service.RefundService.__init__": {"fullname": "easypost.services.refund_service.RefundService.__init__", "modulename": "easypost.services.refund_service", "qualname": "RefundService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.refund_service.RefundService.create": {"fullname": "easypost.services.refund_service.RefundService.create", "modulename": "easypost.services.refund_service", "qualname": "RefundService.create", "kind": "function", "doc": "

Create a Shipment Refund.

\n", "signature": "(self, **params) -> easypost.models.refund.Refund:", "funcdef": "def"}, "easypost.services.refund_service.RefundService.all": {"fullname": "easypost.services.refund_service.RefundService.all", "modulename": "easypost.services.refund_service", "qualname": "RefundService.all", "kind": "function", "doc": "

Retrieve a list of Shipment Refunds.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.refund_service.RefundService.retrieve": {"fullname": "easypost.services.refund_service.RefundService.retrieve", "modulename": "easypost.services.refund_service", "qualname": "RefundService.retrieve", "kind": "function", "doc": "

Retrieve a Shipment Refund.

\n", "signature": "(self, id: str) -> easypost.models.refund.Refund:", "funcdef": "def"}, "easypost.services.refund_service.RefundService.get_next_page": {"fullname": "easypost.services.refund_service.RefundService.get_next_page", "modulename": "easypost.services.refund_service", "qualname": "RefundService.get_next_page", "kind": "function", "doc": "

Retrieve the next page of the list Refund response.

\n", "signature": "(\tself,\trefunds: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.report_service": {"fullname": "easypost.services.report_service", "modulename": "easypost.services.report_service", "kind": "module", "doc": "

\n"}, "easypost.services.report_service.ReportService": {"fullname": "easypost.services.report_service.ReportService", "modulename": "easypost.services.report_service", "qualname": "ReportService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.report_service.ReportService.__init__": {"fullname": "easypost.services.report_service.ReportService.__init__", "modulename": "easypost.services.report_service", "qualname": "ReportService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.report_service.ReportService.create": {"fullname": "easypost.services.report_service.ReportService.create", "modulename": "easypost.services.report_service", "qualname": "ReportService.create", "kind": "function", "doc": "

Create a Report.

\n", "signature": "(self, **params) -> easypost.models.report.Report:", "funcdef": "def"}, "easypost.services.report_service.ReportService.all": {"fullname": "easypost.services.report_service.ReportService.all", "modulename": "easypost.services.report_service", "qualname": "ReportService.all", "kind": "function", "doc": "

Retrieve a list of Reports.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.report_service.ReportService.retrieve": {"fullname": "easypost.services.report_service.ReportService.retrieve", "modulename": "easypost.services.report_service", "qualname": "ReportService.retrieve", "kind": "function", "doc": "

Retrieve a Report.

\n", "signature": "(self, id: str) -> easypost.models.report.Report:", "funcdef": "def"}, "easypost.services.report_service.ReportService.get_next_page": {"fullname": "easypost.services.report_service.ReportService.get_next_page", "modulename": "easypost.services.report_service", "qualname": "ReportService.get_next_page", "kind": "function", "doc": "

Retrieve the next page of the list Report response.

\n", "signature": "(\tself,\treports: dict[str, typing.Any],\tpage_size: int | None = None,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.scan_form_service": {"fullname": "easypost.services.scan_form_service", "modulename": "easypost.services.scan_form_service", "kind": "module", "doc": "

\n"}, "easypost.services.scan_form_service.ScanFormService": {"fullname": "easypost.services.scan_form_service.ScanFormService", "modulename": "easypost.services.scan_form_service", "qualname": "ScanFormService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.scan_form_service.ScanFormService.__init__": {"fullname": "easypost.services.scan_form_service.ScanFormService.__init__", "modulename": "easypost.services.scan_form_service", "qualname": "ScanFormService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.scan_form_service.ScanFormService.create": {"fullname": "easypost.services.scan_form_service.ScanFormService.create", "modulename": "easypost.services.scan_form_service", "qualname": "ScanFormService.create", "kind": "function", "doc": "

Create a ScanForm.

\n", "signature": "(self, **params) -> easypost.models.scan_form.ScanForm:", "funcdef": "def"}, "easypost.services.scan_form_service.ScanFormService.all": {"fullname": "easypost.services.scan_form_service.ScanFormService.all", "modulename": "easypost.services.scan_form_service", "qualname": "ScanFormService.all", "kind": "function", "doc": "

Retrieve a list of ScanForms.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"fullname": "easypost.services.scan_form_service.ScanFormService.retrieve", "modulename": "easypost.services.scan_form_service", "qualname": "ScanFormService.retrieve", "kind": "function", "doc": "

Retrieve a ScanForm.

\n", "signature": "(self, id: str) -> easypost.models.scan_form.ScanForm:", "funcdef": "def"}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"fullname": "easypost.services.scan_form_service.ScanFormService.get_next_page", "modulename": "easypost.services.scan_form_service", "qualname": "ScanFormService.get_next_page", "kind": "function", "doc": "

Retrieve the next page of the list ScanForm response.

\n", "signature": "(\tself,\tscan_forms: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.shipment_service": {"fullname": "easypost.services.shipment_service", "modulename": "easypost.services.shipment_service", "kind": "module", "doc": "

\n"}, "easypost.services.shipment_service.ShipmentService": {"fullname": "easypost.services.shipment_service.ShipmentService", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.shipment_service.ShipmentService.__init__": {"fullname": "easypost.services.shipment_service.ShipmentService.__init__", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.shipment_service.ShipmentService.create": {"fullname": "easypost.services.shipment_service.ShipmentService.create", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.create", "kind": "function", "doc": "

Create a Shipment.

\n", "signature": "(self, **params) -> easypost.models.shipment.Shipment:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.all": {"fullname": "easypost.services.shipment_service.ShipmentService.all", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.all", "kind": "function", "doc": "

Retrieve a list of Shipments.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.retrieve": {"fullname": "easypost.services.shipment_service.ShipmentService.retrieve", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.retrieve", "kind": "function", "doc": "

Retrieve a Shipment.

\n", "signature": "(self, id: str) -> easypost.models.shipment.Shipment:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"fullname": "easypost.services.shipment_service.ShipmentService.get_next_page", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.get_next_page", "kind": "function", "doc": "

Get next page of shipment collection.

\n", "signature": "(\tself,\tshipments: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"fullname": "easypost.services.shipment_service.ShipmentService.regenerate_rates", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.regenerate_rates", "kind": "function", "doc": "

Regenerate Rates for a Shipment.

\n", "signature": "(self, id: str) -> dict[str, list[easypost.models.rate.Rate]]:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"fullname": "easypost.services.shipment_service.ShipmentService.get_smart_rates", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.get_smart_rates", "kind": "function", "doc": "

Get SmartRates for a Shipment.

\n", "signature": "(self, id: str) -> list[easypost.models.rate.Rate]:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.buy": {"fullname": "easypost.services.shipment_service.ShipmentService.buy", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.buy", "kind": "function", "doc": "

Buy a Shipment.

\n", "signature": "(\tself,\tid: str,\tend_shipper_id: str | None = None,\t**params) -> easypost.models.shipment.Shipment:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.refund": {"fullname": "easypost.services.shipment_service.ShipmentService.refund", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.refund", "kind": "function", "doc": "

Refund a Shipment.

\n", "signature": "(self, id: str, **params) -> easypost.models.shipment.Shipment:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.insure": {"fullname": "easypost.services.shipment_service.ShipmentService.insure", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.insure", "kind": "function", "doc": "

Insure a Shipment.

\n", "signature": "(self, id: str, **params) -> easypost.models.shipment.Shipment:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.label": {"fullname": "easypost.services.shipment_service.ShipmentService.label", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.label", "kind": "function", "doc": "

Convert the label format of a Shipment.

\n", "signature": "(self, id: str, **params) -> easypost.models.shipment.Shipment:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"fullname": "easypost.services.shipment_service.ShipmentService.lowest_smart_rate", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.lowest_smart_rate", "kind": "function", "doc": "

Get the lowest SmartRate of a Shipment.

\n", "signature": "(\tself,\tid: str,\tdelivery_days: int,\tdelivery_accuracy: str) -> easypost.models.rate.Rate:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.generate_form": {"fullname": "easypost.services.shipment_service.ShipmentService.generate_form", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.generate_form", "kind": "function", "doc": "

Generate a form for a Shipment.

\n", "signature": "(\tself,\tid: str,\tform_type: str,\tform_options: dict[str, Any] | None = {}) -> easypost.models.shipment.Shipment:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"fullname": "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.retrieve_estimated_delivery_date", "kind": "function", "doc": "

Retrieves the estimated delivery date of each Rate via SmartRate.

\n", "signature": "(self, id: str, planned_ship_date: str) -> list[dict[str, typing.Any]]:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"fullname": "easypost.services.shipment_service.ShipmentService.recommend_ship_date", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.recommend_ship_date", "kind": "function", "doc": "

Retrieve a recommended ship date for an existing Shipment via the Precision Shipping API,\nbased on a specific desired delivery date.

\n", "signature": "(self, id: str, desired_delivery_date: str) -> list[dict[str, typing.Any]]:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"fullname": "easypost.services.shipment_service.ShipmentService.create_and_buy_luma", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.create_and_buy_luma", "kind": "function", "doc": "

Create and buy a Luma Shipment in one call.

\n", "signature": "(\tself,\t**params: dict[str, typing.Any]) -> easypost.models.shipment.Shipment:", "funcdef": "def"}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"fullname": "easypost.services.shipment_service.ShipmentService.buy_luma", "modulename": "easypost.services.shipment_service", "qualname": "ShipmentService.buy_luma", "kind": "function", "doc": "

Buy a Shipment with Luma.

\n", "signature": "(\tself,\tid: str,\t**params: dict[str, typing.Any]) -> easypost.models.shipment.Shipment:", "funcdef": "def"}, "easypost.services.smartrate_service": {"fullname": "easypost.services.smartrate_service", "modulename": "easypost.services.smartrate_service", "kind": "module", "doc": "

\n"}, "easypost.services.smartrate_service.SmartRateService": {"fullname": "easypost.services.smartrate_service.SmartRateService", "modulename": "easypost.services.smartrate_service", "qualname": "SmartRateService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.smartrate_service.SmartRateService.__init__": {"fullname": "easypost.services.smartrate_service.SmartRateService.__init__", "modulename": "easypost.services.smartrate_service", "qualname": "SmartRateService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"fullname": "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date", "modulename": "easypost.services.smartrate_service", "qualname": "SmartRateService.estimate_delivery_date", "kind": "function", "doc": "

Retrieve the estimated delivery date of each carrier-service level combination via the\nSmart Deliver By API, based on a specific ship date and origin-destination postal code pair.

\n", "signature": "(self, **params) -> list[dict[str, typing.Any]]:", "funcdef": "def"}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"fullname": "easypost.services.smartrate_service.SmartRateService.recommend_ship_date", "modulename": "easypost.services.smartrate_service", "qualname": "SmartRateService.recommend_ship_date", "kind": "function", "doc": "

Retrieve a recommended ship date for each carrier-service level combination via the\nSmart Deliver On API, based on a specific delivery date and origin-destination postal code pair.

\n", "signature": "(self, **params) -> list[dict[str, typing.Any]]:", "funcdef": "def"}, "easypost.services.tracker_service": {"fullname": "easypost.services.tracker_service", "modulename": "easypost.services.tracker_service", "kind": "module", "doc": "

\n"}, "easypost.services.tracker_service.TrackerService": {"fullname": "easypost.services.tracker_service.TrackerService", "modulename": "easypost.services.tracker_service", "qualname": "TrackerService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.tracker_service.TrackerService.__init__": {"fullname": "easypost.services.tracker_service.TrackerService.__init__", "modulename": "easypost.services.tracker_service", "qualname": "TrackerService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.tracker_service.TrackerService.create": {"fullname": "easypost.services.tracker_service.TrackerService.create", "modulename": "easypost.services.tracker_service", "qualname": "TrackerService.create", "kind": "function", "doc": "

Create a Tracker.

\n", "signature": "(self, **params) -> easypost.models.tracker.Tracker:", "funcdef": "def"}, "easypost.services.tracker_service.TrackerService.all": {"fullname": "easypost.services.tracker_service.TrackerService.all", "modulename": "easypost.services.tracker_service", "qualname": "TrackerService.all", "kind": "function", "doc": "

Retrieve a list of Trackers.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"fullname": "easypost.services.tracker_service.TrackerService.retrieve_batch", "modulename": "easypost.services.tracker_service", "qualname": "TrackerService.retrieve_batch", "kind": "function", "doc": "

Retrieve a batch of Trackers.

\n", "signature": "(self, **params) -> easypost.models.tracker.Tracker:", "funcdef": "def"}, "easypost.services.tracker_service.TrackerService.retrieve": {"fullname": "easypost.services.tracker_service.TrackerService.retrieve", "modulename": "easypost.services.tracker_service", "qualname": "TrackerService.retrieve", "kind": "function", "doc": "

Retrieve a Tracker.

\n", "signature": "(self, id: str) -> easypost.models.tracker.Tracker:", "funcdef": "def"}, "easypost.services.tracker_service.TrackerService.get_next_page": {"fullname": "easypost.services.tracker_service.TrackerService.get_next_page", "modulename": "easypost.services.tracker_service", "qualname": "TrackerService.get_next_page", "kind": "function", "doc": "

Retrieve the next page of the list Tracker response.

\n", "signature": "(\tself,\ttrackers: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.tracker_service.TrackerService.delete": {"fullname": "easypost.services.tracker_service.TrackerService.delete", "modulename": "easypost.services.tracker_service", "qualname": "TrackerService.delete", "kind": "function", "doc": "

Delete a Tracker.

\n", "signature": "(self, id: str) -> None:", "funcdef": "def"}, "easypost.services.user_service": {"fullname": "easypost.services.user_service", "modulename": "easypost.services.user_service", "kind": "module", "doc": "

\n"}, "easypost.services.user_service.UserService": {"fullname": "easypost.services.user_service.UserService", "modulename": "easypost.services.user_service", "qualname": "UserService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.user_service.UserService.__init__": {"fullname": "easypost.services.user_service.UserService.__init__", "modulename": "easypost.services.user_service", "qualname": "UserService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.user_service.UserService.create": {"fullname": "easypost.services.user_service.UserService.create", "modulename": "easypost.services.user_service", "qualname": "UserService.create", "kind": "function", "doc": "

Create a User.

\n", "signature": "(self, **params) -> easypost.models.user.User:", "funcdef": "def"}, "easypost.services.user_service.UserService.all": {"fullname": "easypost.services.user_service.UserService.all", "modulename": "easypost.services.user_service", "qualname": "UserService.all", "kind": "function", "doc": "

Retrieve a list of Users.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.user_service.UserService.retrieve": {"fullname": "easypost.services.user_service.UserService.retrieve", "modulename": "easypost.services.user_service", "qualname": "UserService.retrieve", "kind": "function", "doc": "

Retrieve a User.

\n\n

If no id is passed, retrieve the authenticated User.

\n", "signature": "(self, id: str | None = None) -> easypost.models.user.User:", "funcdef": "def"}, "easypost.services.user_service.UserService.update": {"fullname": "easypost.services.user_service.UserService.update", "modulename": "easypost.services.user_service", "qualname": "UserService.update", "kind": "function", "doc": "

Update a User.

\n", "signature": "(self, id: str, **params) -> easypost.models.user.User:", "funcdef": "def"}, "easypost.services.user_service.UserService.delete": {"fullname": "easypost.services.user_service.UserService.delete", "modulename": "easypost.services.user_service", "qualname": "UserService.delete", "kind": "function", "doc": "

Delete a User.

\n", "signature": "(self, id: str) -> None:", "funcdef": "def"}, "easypost.services.user_service.UserService.retrieve_me": {"fullname": "easypost.services.user_service.UserService.retrieve_me", "modulename": "easypost.services.user_service", "qualname": "UserService.retrieve_me", "kind": "function", "doc": "

Retrieve the authenticated User.

\n", "signature": "(self) -> easypost.models.user.User:", "funcdef": "def"}, "easypost.services.user_service.UserService.update_brand": {"fullname": "easypost.services.user_service.UserService.update_brand", "modulename": "easypost.services.user_service", "qualname": "UserService.update_brand", "kind": "function", "doc": "

Update a User's Brand.

\n", "signature": "(self, id: str, **params) -> easypost.models.user.User:", "funcdef": "def"}, "easypost.services.user_service.UserService.all_children": {"fullname": "easypost.services.user_service.UserService.all_children", "modulename": "easypost.services.user_service", "qualname": "UserService.all_children", "kind": "function", "doc": "

Retrieve a paginated list of children from the API.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.user_service.UserService.get_next_page_of_children": {"fullname": "easypost.services.user_service.UserService.get_next_page_of_children", "modulename": "easypost.services.user_service", "qualname": "UserService.get_next_page_of_children", "kind": "function", "doc": "

Retrieve the next page of the list Children response.

\n", "signature": "(\tself,\tchildren: dict[str, typing.Any],\tpage_size: int,\toptional_params: dict[str, Any] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.webhook_service": {"fullname": "easypost.services.webhook_service", "modulename": "easypost.services.webhook_service", "kind": "module", "doc": "

\n"}, "easypost.services.webhook_service.WebhookService": {"fullname": "easypost.services.webhook_service.WebhookService", "modulename": "easypost.services.webhook_service", "qualname": "WebhookService", "kind": "class", "doc": "

The base service that all other services inherit containing shared logic.

\n", "bases": "easypost.services.base_service.BaseService"}, "easypost.services.webhook_service.WebhookService.__init__": {"fullname": "easypost.services.webhook_service.WebhookService.__init__", "modulename": "easypost.services.webhook_service", "qualname": "WebhookService.__init__", "kind": "function", "doc": "

\n", "signature": "(client)"}, "easypost.services.webhook_service.WebhookService.create": {"fullname": "easypost.services.webhook_service.WebhookService.create", "modulename": "easypost.services.webhook_service", "qualname": "WebhookService.create", "kind": "function", "doc": "

Create a Webhook.

\n", "signature": "(self, **params) -> easypost.models.webhook.Webhook:", "funcdef": "def"}, "easypost.services.webhook_service.WebhookService.all": {"fullname": "easypost.services.webhook_service.WebhookService.all", "modulename": "easypost.services.webhook_service", "qualname": "WebhookService.all", "kind": "function", "doc": "

Retrieve a list of Webhooks.

\n", "signature": "(self, **params) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.services.webhook_service.WebhookService.retrieve": {"fullname": "easypost.services.webhook_service.WebhookService.retrieve", "modulename": "easypost.services.webhook_service", "qualname": "WebhookService.retrieve", "kind": "function", "doc": "

Retrieve a Webhook.

\n", "signature": "(self, id: str) -> easypost.models.webhook.Webhook:", "funcdef": "def"}, "easypost.services.webhook_service.WebhookService.update": {"fullname": "easypost.services.webhook_service.WebhookService.update", "modulename": "easypost.services.webhook_service", "qualname": "WebhookService.update", "kind": "function", "doc": "

Update a Webhook.

\n", "signature": "(self, id: str, **params) -> easypost.models.webhook.Webhook:", "funcdef": "def"}, "easypost.services.webhook_service.WebhookService.delete": {"fullname": "easypost.services.webhook_service.WebhookService.delete", "modulename": "easypost.services.webhook_service", "qualname": "WebhookService.delete", "kind": "function", "doc": "

Delete a Webhook.

\n", "signature": "(self, id: str) -> None:", "funcdef": "def"}, "easypost.util": {"fullname": "easypost.util", "modulename": "easypost.util", "kind": "module", "doc": "

\n"}, "easypost.util.get_lowest_object_rate": {"fullname": "easypost.util.get_lowest_object_rate", "modulename": "easypost.util", "qualname": "get_lowest_object_rate", "kind": "function", "doc": "

Gets the lowest rate of an EasyPost object such as a Shipment, Order, or Pickup.

\n", "signature": "(\teasypost_object: easypost.easypost_object.EasyPostObject | dict[str, Any],\tcarriers: list[str] | None = None,\tservices: list[str] | None = None,\trates_key: str = 'rates') -> easypost.models.rate.Rate:", "funcdef": "def"}, "easypost.util.get_lowest_smart_rate": {"fullname": "easypost.util.get_lowest_smart_rate", "modulename": "easypost.util", "qualname": "get_lowest_smart_rate", "kind": "function", "doc": "

Get the lowest SmartRate from a list of SmartRates.

\n", "signature": "(\tsmart_rates: list[easypost.models.rate.Rate],\tdelivery_days: int,\tdelivery_accuracy: str) -> easypost.models.rate.Rate:", "funcdef": "def"}, "easypost.util.get_lowest_stateless_rate": {"fullname": "easypost.util.get_lowest_stateless_rate", "modulename": "easypost.util", "qualname": "get_lowest_stateless_rate", "kind": "function", "doc": "

Get the lowest stateless rate.

\n", "signature": "(\tstateless_rates: list[dict[str, typing.Any]],\tcarriers: list[str] | None = None,\tservices: list[str] | None = None) -> dict[str, typing.Any]:", "funcdef": "def"}, "easypost.util.receive_event": {"fullname": "easypost.util.receive_event", "modulename": "easypost.util", "qualname": "receive_event", "kind": "function", "doc": "

Receives a raw Webhook event and converts it to JSON.

\n", "signature": "(raw_input: str):", "funcdef": "def"}, "easypost.util.validate_webhook": {"fullname": "easypost.util.validate_webhook", "modulename": "easypost.util", "qualname": "validate_webhook", "kind": "function", "doc": "

Validate a webhook by comparing the HMAC signature header sent from EasyPost to your shared secret.\nIf the signatures do not match, an error will be raised signifying the webhook either did not originate\nfrom EasyPost or the secrets do not match. If the signatures do match, the event_body will be returned\nas JSON.

\n", "signature": "(\tevent_body: bytes,\theaders: dict[str, typing.Any],\twebhook_secret: str) -> dict[str, typing.Any]:", "funcdef": "def"}}, "docInfo": {"easypost": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.version_info": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 11, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.VERSION": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.VERSION_INFO": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 11, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.API_BASE": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.API_VERSION": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.AUTHOR": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.SUPPORT_EMAIL": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.TIMEOUT": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.COMMUNICATION_ERROR": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 22, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 13, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 14, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 14, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 14, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 11, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 26, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 10, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 12, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 17, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.MISSING_PARAMETER_ERROR": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.NO_ATTRIBUTE_ERROR": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 10, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.NO_BILLING_ERROR": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 17, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.NO_MORE_PAGES_ERROR": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 11, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.NO_RATES_ERROR": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.NO_USER_FOUND": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 11, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 15, "signature": 0, "bases": 0, "doc": 3}, "easypost.constant.TIMEOUT_ERROR": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 18}, "easypost.easypost_client.EasyPostClient.__init__": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 57, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.api_key": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.api_base": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.timeout": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.address": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.api_keys": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.batch": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.beta_rate": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.beta_referral_customer": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.billing": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.carrier_account": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.carrier_metadata": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.claim": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.customer_portal": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.customs_info": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.customs_item": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.embeddable": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.end_shipper": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.event": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.fedex_registration": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.insurance": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.luma": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.order": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.parcel": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.rate": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.pickup": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.referral_customer": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.refund": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.report": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.scan_form": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.shipment": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.smart_rate": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.tracker": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.user": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.webhook": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "easypost.easypost_client.EasyPostClient.make_api_call": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 92, "bases": 0, "doc": 66}, "easypost.easypost_object": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"qualname": 8, "fullname": 11, "annotation": 4, "default_value": 212, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"qualname": 4, "fullname": 7, "annotation": 4, "default_value": 44, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_object.convert_to_easypost_object": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 76, "bases": 0, "doc": 9}, "easypost.easypost_object.EasyPostObject": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_object.EasyPostObject.__init__": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 84, "bases": 0, "doc": 3}, "easypost.easypost_object.EasyPostObject.get": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 3}, "easypost.easypost_object.EasyPostObject.setdefault": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 3}, "easypost.easypost_object.EasyPostObject.keys": {"qualname": 2, "fullname": 5, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_object.EasyPostObject.values": {"qualname": 2, "fullname": 5, "annotation": 3, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.easypost_object.EasyPostObject.construct_from": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 85, "bases": 0, "doc": 12}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 12}, "easypost.easypost_object.EasyPostObject.to_json": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 37, "bases": 0, "doc": 9}, "easypost.easypost_object.EasyPostObject.to_dict": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 9}, "easypost.easypost_object.EasyPostObjectEncoder": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 3, "doc": 141}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 9}, "easypost.errors": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.api_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.api_error.ApiError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.api_error.ApiError.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 149, "bases": 0, "doc": 3}, "easypost.errors.api.api_error.ApiError.message": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.api_error.ApiError.errors": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.api_error.ApiError.code": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.api_error.ApiError.http_status": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.api_error.ApiError.http_body": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.bad_request_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.bad_request_error.BadRequestError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.encoding_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.encoding_error.EncodingError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.external_api_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.external_api_error.ExternalApiError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.forbidden_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.forbidden_error.ForbiddenError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.gateway_timeout_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.http_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.http_error.HttpError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.internal_server_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.internal_server_error.InternalServerError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.invalid_request_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.json_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.json_error.JsonError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.method_not_allowed_error": {"qualname": 0, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"qualname": 1, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.not_found_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.not_found_error.NotFoundError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.payment_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.payment_error.PaymentError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.rate_limit_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.rate_limit_error.RateLimitError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.redirect_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.redirect_error.RedirectError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.service_unavailable_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.timeout_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.timeout_error.TimeoutError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.unauthorized_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.api.unknown_api_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.general": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.general.easypost_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.general.easypost_error.EasyPostError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 13}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 3}, "easypost.errors.general.easypost_error.EasyPostError.message": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.general.end_of_pagination_error": {"qualname": 0, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"qualname": 1, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.general.filtering_error": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.general.filtering_error.FilteringError": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.general.invalid_object_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.general.invalid_parameter_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.general.missing_parameter_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.errors.general.signature_verification_error": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 6, "doc": 13}, "easypost.hooks": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.hooks.event_hook": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.hooks.event_hook.EventHook": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "easypost.hooks.request_hook": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.hooks.request_hook.RequestHook": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 13}, "easypost.hooks.response_hook": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.hooks.response_hook.ResponseHook": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.models": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.address": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.address.Address": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.api_key": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.api_key.ApiKey": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.batch": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.batch.Batch": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.billing": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.billing.Billing": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.brand": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.brand.Brand": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.carrier_account": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.carrier_account.CarrierAccount": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.claim": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.claim.Claim": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.customs_info": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.customs_info.CustomsInfo": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.customs_item": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.customs_item.CustomsItem": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.end_shipper": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.end_shipper.EndShipper": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.event": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.event.Event": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.insurance": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.insurance.Insurance": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.order": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.order.Order": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.order.Order.lowest_rate": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 90, "bases": 0, "doc": 10}, "easypost.models.parcel": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.parcel.Parcel": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.payload": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.payload.Payload": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.pickup": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.pickup.Pickup": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.pickup.Pickup.lowest_rate": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 90, "bases": 0, "doc": 10}, "easypost.models.pickup_rate": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.pickup_rate.PickupRate": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.postage_label": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.postage_label.PostageLabel": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.rate": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.rate.Rate": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.refund": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.refund.Refund": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.report": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.report.Report": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.scan_form": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.scan_form.ScanForm": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.shipment": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.shipment.Shipment": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.shipment.Shipment.lowest_rate": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 90, "bases": 0, "doc": 10}, "easypost.models.tracker": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.tracker.Tracker": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.user": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.user.User": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.models.webhook": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.models.webhook.Webhook": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 3}, "easypost.requestor": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"qualname": 5, "fullname": 7, "annotation": 4, "default_value": 154, "signature": 0, "bases": 0, "doc": 3}, "easypost.requestor.RequestMethod": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 3}, "easypost.requestor.RequestMethod.GET": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "easypost.requestor.RequestMethod.POST": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "easypost.requestor.RequestMethod.PUT": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "easypost.requestor.RequestMethod.PATCH": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "easypost.requestor.RequestMethod.DELETE": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 9, "signature": 0, "bases": 0, "doc": 3}, "easypost.requestor.Requestor": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.requestor.Requestor.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.requestor.Requestor.form_encode_params": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 105, "bases": 0, "doc": 14}, "easypost.requestor.Requestor.request": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 118, "bases": 0, "doc": 10}, "easypost.requestor.Requestor.request_raw": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 113, "bases": 0, "doc": 14}, "easypost.requestor.Requestor.interpret_response": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 53, "bases": 0, "doc": 12}, "easypost.requestor.Requestor.requests_request": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 132, "bases": 0, "doc": 13}, "easypost.requestor.Requestor.urlfetch_request": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 132, "bases": 0, "doc": 13}, "easypost.requestor.Requestor.handle_api_error": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 67, "bases": 0, "doc": 11}, "easypost.requestor.Requestor.encode_url_params": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 70, "bases": 0, "doc": 8}, "easypost.requestor.Requestor.add_params_to_url": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 75, "bases": 0, "doc": 8}, "easypost.services": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.address_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.address_service.AddressService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.address_service.AddressService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.address_service.AddressService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 112, "bases": 0, "doc": 6}, "easypost.services.address_service.AddressService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.address_service.AddressService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 34, "bases": 0, "doc": 6}, "easypost.services.address_service.AddressService.create_and_verify": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 63, "bases": 0, "doc": 11}, "easypost.services.address_service.AddressService.verify": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 34, "bases": 0, "doc": 8}, "easypost.services.address_service.AddressService.get_next_page": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 109, "bases": 0, "doc": 12}, "easypost.services.api_key_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.api_key_service.ApiKeyService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.api_key_service.ApiKeyService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"qualname": 6, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 18}, "easypost.services.api_key_service.ApiKeyService.all": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 10}, "easypost.services.api_key_service.ApiKeyService.create": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 40, "bases": 0, "doc": 14}, "easypost.services.api_key_service.ApiKeyService.delete": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 14}, "easypost.services.api_key_service.ApiKeyService.enable": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 40, "bases": 0, "doc": 11}, "easypost.services.api_key_service.ApiKeyService.disable": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 40, "bases": 0, "doc": 11}, "easypost.services.base_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.base_service.BaseService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "easypost.services.base_service.BaseService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.batch_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.batch_service.BatchService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.batch_service.BatchService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.batch_service.BatchService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.batch_service.BatchService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.batch_service.BatchService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.batch_service.BatchService.buy": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 6}, "easypost.services.batch_service.BatchService.label": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 7}, "easypost.services.batch_service.BatchService.remove_shipments": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 8}, "easypost.services.batch_service.BatchService.add_shipments": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 8}, "easypost.services.batch_service.BatchService.create_scan_form": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 9}, "easypost.services.batch_service.BatchService.get_next_page": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 109, "bases": 0, "doc": 39}, "easypost.services.beta_rate_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.beta_rate_service.BetaRateService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 10}, "easypost.services.beta_referral_customer_service": {"qualname": 0, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"qualname": 1, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"qualname": 4, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 78, "bases": 0, "doc": 62}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"qualname": 4, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 42, "bases": 0, "doc": 11}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"qualname": 5, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 16}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"qualname": 6, "fullname": 12, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 16}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"qualname": 6, "fullname": 12, "annotation": 0, "default_value": 0, "signature": 55, "bases": 0, "doc": 16}, "easypost.services.billing_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.billing_service.BillingService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.billing_service.BillingService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.billing_service.BillingService.fund_wallet": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 17}, "easypost.services.billing_service.BillingService.delete_payment_method": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 7}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 6}, "easypost.services.carrier_account_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.carrier_account_service.CarrierAccountService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 37, "bases": 0, "doc": 6}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 42, "bases": 0, "doc": 8}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 40, "bases": 0, "doc": 6}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 50, "bases": 0, "doc": 6}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 6}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 12}, "easypost.services.carrier_metadata_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 96, "bases": 0, "doc": 16}, "easypost.services.claim_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.claim_service.ClaimService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.claim_service.ClaimService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.claim_service.ClaimService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.claim_service.ClaimService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.claim_service.ClaimService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.claim_service.ClaimService.get_next_page": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 109, "bases": 0, "doc": 12}, "easypost.services.claim_service.ClaimService.cancel": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.customer_portal_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.customer_portal_service.CustomerPortalService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 7}, "easypost.services.customs_info_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.customs_info_service.CustomsInfoService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.customs_info_service.CustomsInfoService.create": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 37, "bases": 0, "doc": 6}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 40, "bases": 0, "doc": 6}, "easypost.services.customs_item_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.customs_item_service.CustomsItemService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.customs_item_service.CustomsItemService.create": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 37, "bases": 0, "doc": 6}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 40, "bases": 0, "doc": 6}, "easypost.services.embeddable_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.embeddable_service.EmbeddableService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 7}, "easypost.services.end_shipper_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.end_shipper_service.EndShipperService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.end_shipper_service.EndShipperService.create": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.end_shipper_service.EndShipperService.all": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.end_shipper_service.EndShipperService.update": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 21}, "easypost.services.event_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.event_service.EventService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.event_service.EventService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.event_service.EventService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.event_service.EventService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.event_service.EventService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 49, "bases": 0, "doc": 11}, "easypost.services.event_service.EventService.retrieve_payload": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 62, "bases": 0, "doc": 9}, "easypost.services.event_service.EventService.get_next_page": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 109, "bases": 0, "doc": 12}, "easypost.services.fedex_registration_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 50, "bases": 0, "doc": 11}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 66, "bases": 0, "doc": 10}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 50, "bases": 0, "doc": 14}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 50, "bases": 0, "doc": 11}, "easypost.services.insurance_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.insurance_service.InsuranceService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.insurance_service.InsuranceService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.insurance_service.InsuranceService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.insurance_service.InsuranceService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.insurance_service.InsuranceService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 109, "bases": 0, "doc": 12}, "easypost.services.insurance_service.InsuranceService.refund": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 3}, "easypost.services.luma_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.luma_service.LumaService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.luma_service.LumaService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.luma_service.LumaService.get_promise": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 60, "bases": 0, "doc": 15}, "easypost.services.order_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.order_service.OrderService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.order_service.OrderService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.order_service.OrderService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.order_service.OrderService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.order_service.OrderService.get_rates": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 8}, "easypost.services.order_service.OrderService.buy": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 6}, "easypost.services.parcel_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.parcel_service.ParcelService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.parcel_service.ParcelService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.parcel_service.ParcelService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.parcel_service.ParcelService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.pickup_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.pickup_service.PickupService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.pickup_service.PickupService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.pickup_service.PickupService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.pickup_service.PickupService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.pickup_service.PickupService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.pickup_service.PickupService.get_next_page": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 109, "bases": 0, "doc": 12}, "easypost.services.pickup_service.PickupService.buy": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 6}, "easypost.services.pickup_service.PickupService.cancel": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 6}, "easypost.services.rate_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.rate_service.RateService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.rate_service.RateService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.rate_service.RateService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.referral_customer_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.referral_customer_service.ReferralCustomerService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 19}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 34, "bases": 0, "doc": 19}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 21}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 110, "bases": 0, "doc": 9}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"qualname": 6, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 78, "bases": 0, "doc": 31}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"qualname": 6, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 107, "bases": 0, "doc": 24}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"qualname": 6, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 14, "bases": 0, "doc": 10}, "easypost.services.refund_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.refund_service.RefundService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.refund_service.RefundService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.refund_service.RefundService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 7}, "easypost.services.refund_service.RefundService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 9}, "easypost.services.refund_service.RefundService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 7}, "easypost.services.refund_service.RefundService.get_next_page": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 109, "bases": 0, "doc": 12}, "easypost.services.report_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.report_service.ReportService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.report_service.ReportService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.report_service.ReportService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.report_service.ReportService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.report_service.ReportService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.report_service.ReportService.get_next_page": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 122, "bases": 0, "doc": 12}, "easypost.services.scan_form_service": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.scan_form_service.ScanFormService": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.scan_form_service.ScanFormService.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.scan_form_service.ScanFormService.create": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 37, "bases": 0, "doc": 6}, "easypost.services.scan_form_service.ScanFormService.all": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 40, "bases": 0, "doc": 6}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 110, "bases": 0, "doc": 12}, "easypost.services.shipment_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.shipment_service.ShipmentService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.shipment_service.ShipmentService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.shipment_service.ShipmentService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.shipment_service.ShipmentService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.shipment_service.ShipmentService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 109, "bases": 0, "doc": 9}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 55, "bases": 0, "doc": 8}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 8}, "easypost.services.shipment_service.ShipmentService.buy": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 75, "bases": 0, "doc": 6}, "easypost.services.shipment_service.ShipmentService.refund": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 6}, "easypost.services.shipment_service.ShipmentService.insure": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 6}, "easypost.services.shipment_service.ShipmentService.label": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 10}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 65, "bases": 0, "doc": 10}, "easypost.services.shipment_service.ShipmentService.generate_form": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 90, "bases": 0, "doc": 9}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"qualname": 5, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 57, "bases": 0, "doc": 13}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 57, "bases": 0, "doc": 24}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"qualname": 5, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 60, "bases": 0, "doc": 12}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 71, "bases": 0, "doc": 8}, "easypost.services.smartrate_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.smartrate_service.SmartRateService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.smartrate_service.SmartRateService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 42, "bases": 0, "doc": 32}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 42, "bases": 0, "doc": 32}, "easypost.services.tracker_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.tracker_service.TrackerService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.tracker_service.TrackerService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.tracker_service.TrackerService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.tracker_service.TrackerService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 8}, "easypost.services.tracker_service.TrackerService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.tracker_service.TrackerService.get_next_page": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 109, "bases": 0, "doc": 12}, "easypost.services.tracker_service.TrackerService.delete": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 6}, "easypost.services.user_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.user_service.UserService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.user_service.UserService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.user_service.UserService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.user_service.UserService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.user_service.UserService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 52, "bases": 0, "doc": 18}, "easypost.services.user_service.UserService.update": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 6}, "easypost.services.user_service.UserService.delete": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 6}, "easypost.services.user_service.UserService.retrieve_me": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 29, "bases": 0, "doc": 7}, "easypost.services.user_service.UserService.update_brand": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 8}, "easypost.services.user_service.UserService.all_children": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 12}, "easypost.services.user_service.UserService.get_next_page_of_children": {"qualname": 6, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 109, "bases": 0, "doc": 12}, "easypost.services.webhook_service": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.services.webhook_service.WebhookService": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 5, "doc": 14}, "easypost.services.webhook_service.WebhookService.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "easypost.services.webhook_service.WebhookService.create": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 6}, "easypost.services.webhook_service.WebhookService.all": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 8}, "easypost.services.webhook_service.WebhookService.retrieve": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 6}, "easypost.services.webhook_service.WebhookService.update": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 6}, "easypost.services.webhook_service.WebhookService.delete": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 6}, "easypost.util": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "easypost.util.get_lowest_object_rate": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 146, "bases": 0, "doc": 18}, "easypost.util.get_lowest_smart_rate": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 81, "bases": 0, "doc": 12}, "easypost.util.get_lowest_stateless_rate": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 119, "bases": 0, "doc": 8}, "easypost.util.receive_event": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 13}, "easypost.util.validate_webhook": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 78, "bases": 0, "doc": 60}}, "length": 471, "save": true}, "index": {"qualname": {"root": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}, "easypost.requestor.Requestor.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}}, "df": 36, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.version_info": {"tf": 1}, "easypost.constant.VERSION": {"tf": 1}, "easypost.constant.VERSION_INFO": {"tf": 1}, "easypost.constant.API_VERSION": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 5}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 2}}}}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}}, "df": 1, "s": {"docs": {"easypost.easypost_object.EasyPostObject.values": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"easypost.version_info": {"tf": 1}, "easypost.constant.VERSION_INFO": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customs_info": {"tf": 1}}, "df": 3}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 9, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}}, "df": 1}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}, "easypost.requestor.Requestor.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}}, "df": 36}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.insurance": {"tf": 1}, "easypost.models.insurance.Insurance": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}}, "df": 7}}}}}}}}}}}, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.Requestor.interpret_response": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_client.EasyPostClient.customs_item": {"tf": 1}}, "df": 1}}}, "d": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"easypost.constant.API_BASE": {"tf": 1}, "easypost.constant.API_VERSION": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_key": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_base": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_keys": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 9, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.errors.api.api_error.ApiError.message": {"tf": 1}, "easypost.errors.api.api_error.ApiError.errors": {"tf": 1}, "easypost.errors.api.api_error.ApiError.code": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_status": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1}}, "df": 7}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"easypost.models.api_key.ApiKey": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}}, "df": 8}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.AUTHOR": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.carrier_account": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 4}}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}}, "df": 1}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 5, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_client.EasyPostClient.address": {"tf": 1}, "easypost.models.address.Address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}}, "df": 8}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}}, "df": 19}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.API_BASE": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_base": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}}, "df": 2}}}}}}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.easypost_client.EasyPostClient.batch": {"tf": 1}, "easypost.models.batch.Batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 11}}}}}}}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "k": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.easypost_client.EasyPostClient.billing": {"tf": 1}, "easypost.models.billing.Billing": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}}, "df": 5}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"easypost.easypost_client.EasyPostClient.beta_rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}}, "df": 3}}}}}}}}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.models.brand.Brand": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}}, "df": 2}}}}, "u": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}}, "df": 6}}, "y": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}}, "df": 2}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.SUPPORT_EMAIL": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}}, "df": 2}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}}, "df": 1, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 4}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"easypost.errors.api.api_error.ApiError.http_status": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 2}}}}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.end_shipper": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.shipment": {"tf": 1}, "easypost.models.shipment.Shipment": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}}, "df": 3, "s": {"docs": {"easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}}, "df": 18}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_client.EasyPostClient.scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"easypost.models.scan_form.ScanForm": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}}, "df": 4, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"easypost.constant.SUPPORT_EMAIL": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.embeddable": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}, "easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}, "easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}, "easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}, "easypost.constant.NO_RATES_ERROR": {"tf": 1}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}, "easypost.constant.TIMEOUT_ERROR": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}}, "df": 19, "s": {"docs": {"easypost.errors.api.api_error.ApiError.errors": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 3, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_key": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_base": {"tf": 1}, "easypost.easypost_client.EasyPostClient.timeout": {"tf": 1}, "easypost.easypost_client.EasyPostClient.address": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_keys": {"tf": 1}, "easypost.easypost_client.EasyPostClient.batch": {"tf": 1}, "easypost.easypost_client.EasyPostClient.beta_rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1}, "easypost.easypost_client.EasyPostClient.billing": {"tf": 1}, "easypost.easypost_client.EasyPostClient.carrier_account": {"tf": 1}, "easypost.easypost_client.EasyPostClient.carrier_metadata": {"tf": 1}, "easypost.easypost_client.EasyPostClient.claim": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customer_portal": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customs_info": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customs_item": {"tf": 1}, "easypost.easypost_client.EasyPostClient.embeddable": {"tf": 1}, "easypost.easypost_client.EasyPostClient.end_shipper": {"tf": 1}, "easypost.easypost_client.EasyPostClient.event": {"tf": 1}, "easypost.easypost_client.EasyPostClient.fedex_registration": {"tf": 1}, "easypost.easypost_client.EasyPostClient.insurance": {"tf": 1}, "easypost.easypost_client.EasyPostClient.luma": {"tf": 1}, "easypost.easypost_client.EasyPostClient.order": {"tf": 1}, "easypost.easypost_client.EasyPostClient.parcel": {"tf": 1}, "easypost.easypost_client.EasyPostClient.rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.pickup": {"tf": 1}, "easypost.easypost_client.EasyPostClient.referral_customer": {"tf": 1}, "easypost.easypost_client.EasyPostClient.refund": {"tf": 1}, "easypost.easypost_client.EasyPostClient.report": {"tf": 1}, "easypost.easypost_client.EasyPostClient.scan_form": {"tf": 1}, "easypost.easypost_client.EasyPostClient.shipment": {"tf": 1}, "easypost.easypost_client.EasyPostClient.smart_rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.tracker": {"tf": 1}, "easypost.easypost_client.EasyPostClient.user": {"tf": 1}, "easypost.easypost_client.EasyPostClient.webhook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 41}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.get": {"tf": 1}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1}, "easypost.easypost_object.EasyPostObject.keys": {"tf": 1}, "easypost.easypost_object.EasyPostObject.values": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}}, "df": 10, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}}, "df": 2}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.message": {"tf": 1}}, "df": 3}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_client.EasyPostClient.end_shipper": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.models.end_shipper.EndShipper": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.encoding_error.EncodingError": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.event": {"tf": 1}, "easypost.models.event.Event": {"tf": 1}, "easypost.util.receive_event": {"tf": 1}}, "df": 3, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.hooks.event_hook.EventHook": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}}, "df": 8}}}}}}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}}, "df": 1, "d": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.TIMEOUT": {"tf": 1}, "easypost.constant.TIMEOUT_ERROR": {"tf": 1}, "easypost.easypost_client.EasyPostClient.timeout": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.tracker": {"tf": 1}, "easypost.models.tracker.Tracker": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}}, "df": 8}}}}}}}}}}}}}, "o": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 8}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"easypost.errors.api.api_error.ApiError.code": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customer_portal": {"tf": 1}, "easypost.easypost_client.EasyPostClient.referral_customer": {"tf": 1}}, "df": 3, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "s": {"docs": {"easypost.easypost_client.EasyPostClient.customs_info": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customs_item": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"easypost.models.customs_info.CustomsInfo": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}}, "df": 4}}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"easypost.models.customs_item.CustomsItem": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.carrier_account": {"tf": 1}, "easypost.easypost_client.EasyPostClient.carrier_metadata": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.models.carrier_account.CarrierAccount": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}}, "df": 8}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}, "d": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}}, "df": 2}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_client.EasyPostClient.claim": {"tf": 1}, "easypost.models.claim.Claim": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}}, "df": 7}}}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}}, "df": 28}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 2}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1, "y": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.requestor.RequestMethod.DELETE": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}}, "df": 7}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 4}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.payment_error.PaymentError": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"easypost.models.payload.Payload": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}}, "df": 2, "s": {"docs": {"easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}}, "df": 1, "s": {"docs": {"easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 3}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.parcel": {"tf": 1}, "easypost.models.parcel.Parcel": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}}, "df": 4}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 13, "s": {"docs": {"easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.requestor.RequestMethod.PATCH": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.customer_portal": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.RequestMethod.POST": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.models.postage_label.PostageLabel": {"tf": 1}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_client.EasyPostClient.pickup": {"tf": 1}, "easypost.models.pickup.Pickup": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}}, "df": 3, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.models.pickup_rate.PickupRate": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}}, "df": 8}}}}}}}}}}}, "n": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.luma_service.LumaService.get_promise": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.RequestMethod.PUT": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.user_service.UserService.retrieve_me": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}}, "df": 4, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "s": {"docs": {"easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"easypost.easypost_client.EasyPostClient.carrier_metadata": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"easypost.errors.api.api_error.ApiError.message": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.message": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}, "p": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}}, "df": 10, "s": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}}, "df": 2}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.hooks.request_hook.RequestHook": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"easypost.requestor.RequestMethod": {"tf": 1}, "easypost.requestor.RequestMethod.GET": {"tf": 1}, "easypost.requestor.RequestMethod.POST": {"tf": 1}, "easypost.requestor.RequestMethod.PUT": {"tf": 1}, "easypost.requestor.RequestMethod.PATCH": {"tf": 1}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1}}, "df": 6}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.Requestor": {"tf": 1}, "easypost.requestor.Requestor.__init__": {"tf": 1}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 11}}}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}}, "df": 4, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.hooks.response_hook.ResponseHook": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1}, "easypost.easypost_client.EasyPostClient.referral_customer": {"tf": 1}}, "df": 2, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 9}}}}}}}}}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_client.EasyPostClient.refund": {"tf": 1}, "easypost.models.refund.Refund": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}}, "df": 6, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}}, "df": 6}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_client.EasyPostClient.fedex_registration": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.report": {"tf": 1}, "easypost.models.report.Report": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}}, "df": 6}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.redirect_error.RedirectError": {"tf": 1}}, "df": 1}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}}, "df": 30}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"easypost.util.receive_event": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.beta_rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.smart_rate": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.rate.Rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 11, "s": {"docs": {"easypost.constant.NO_RATES_ERROR": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}}, "df": 3}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "w": {"docs": {"easypost.requestor.Requestor.request_raw": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "k": {"docs": {"easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"easypost.easypost_client.EasyPostClient.luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}}, "df": 3}}}}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 7}}}}, "g": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}}, "df": 2}}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}, "easypost.easypost_client.EasyPostClient.webhook": {"tf": 1}, "easypost.models.webhook.Webhook": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 4, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.webhook_service.WebhookService": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}}, "df": 7}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {"easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}, "easypost.constant.NO_RATES_ERROR": {"tf": 1}, "easypost.constant.NO_USER_FOUND": {"tf": 1}}, "df": 5, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 13}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.NO_USER_FOUND": {"tf": 1}, "easypost.easypost_client.EasyPostClient.user": {"tf": 1}, "easypost.models.user.User": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}}, "df": 4, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 11}}}}}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}}, "df": 2}}}}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "k": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "l": {"docs": {"easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.requestor.Requestor.urlfetch_request": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}}, "df": 6}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.NO_USER_FOUND": {"tf": 1}}, "df": 1}}}, "r": {"docs": {"easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}}, "df": 1, "m": {"docs": {"easypost.easypost_client.EasyPostClient.scan_form": {"tf": 1}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}}, "df": 4}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"easypost.easypost_client.EasyPostClient.fedex_registration": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 5}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.filtering_error.FilteringError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"easypost.easypost_client.EasyPostClient.api_key": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 2, "s": {"docs": {"easypost.easypost_client.EasyPostClient.api_keys": {"tf": 1}, "easypost.easypost_object.EasyPostObject.keys": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}}, "df": 3}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.order": {"tf": 1}, "easypost.models.order.Order": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}}, "df": 6}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}}, "df": 4}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {"easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}}, "df": 4}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"easypost.errors.api.api_error.ApiError.http_status": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.http_error.HttpError": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.requestor.Requestor.handle_api_error": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.get": {"tf": 1}, "easypost.requestor.RequestMethod.GET": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 21}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.json_error.JsonError": {"tf": 1}}, "df": 1}}}}}}}}}}}, "fullname": {"root": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}, "easypost.requestor.Requestor.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}}, "df": 36, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost": {"tf": 1}, "easypost.version_info": {"tf": 1}, "easypost.constant": {"tf": 1}, "easypost.constant.VERSION": {"tf": 1}, "easypost.constant.VERSION_INFO": {"tf": 1}, "easypost.constant.API_BASE": {"tf": 1}, "easypost.constant.API_VERSION": {"tf": 1}, "easypost.constant.AUTHOR": {"tf": 1}, "easypost.constant.SUPPORT_EMAIL": {"tf": 1}, "easypost.constant.TIMEOUT": {"tf": 1}, "easypost.constant.COMMUNICATION_ERROR": {"tf": 1}, "easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}, "easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}, "easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}, "easypost.constant.NO_RATES_ERROR": {"tf": 1}, "easypost.constant.NO_USER_FOUND": {"tf": 1}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}, "easypost.constant.TIMEOUT_ERROR": {"tf": 1}, "easypost.easypost_client": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.__init__": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.api_key": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.api_base": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.timeout": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.address": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.api_keys": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.batch": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.beta_rate": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.billing": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.carrier_account": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.carrier_metadata": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.claim": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.customer_portal": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.customs_info": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.customs_item": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.embeddable": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.end_shipper": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.event": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.fedex_registration": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.insurance": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.luma": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.order": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.parcel": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.rate": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.pickup": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.referral_customer": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.refund": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.report": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.scan_form": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.shipment": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.smart_rate": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.tracker": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.user": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.webhook": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1.4142135623730951}, "easypost.easypost_object": {"tf": 1.4142135623730951}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1.7320508075688772}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1.4142135623730951}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.get": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.keys": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.values": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1.4142135623730951}, "easypost.errors": {"tf": 1}, "easypost.errors.api": {"tf": 1}, "easypost.errors.api.api_error": {"tf": 1}, "easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.errors.api.api_error.ApiError.message": {"tf": 1}, "easypost.errors.api.api_error.ApiError.errors": {"tf": 1}, "easypost.errors.api.api_error.ApiError.code": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_status": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1}, "easypost.errors.api.bad_request_error": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general": {"tf": 1}, "easypost.errors.general.easypost_error": {"tf": 1.4142135623730951}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1.4142135623730951}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1.4142135623730951}, "easypost.errors.general.easypost_error.EasyPostError.message": {"tf": 1.4142135623730951}, "easypost.errors.general.end_of_pagination_error": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.hooks": {"tf": 1}, "easypost.hooks.event_hook": {"tf": 1}, "easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.hooks.request_hook": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}, "easypost.models": {"tf": 1}, "easypost.models.address": {"tf": 1}, "easypost.models.address.Address": {"tf": 1}, "easypost.models.api_key": {"tf": 1}, "easypost.models.api_key.ApiKey": {"tf": 1}, "easypost.models.batch": {"tf": 1}, "easypost.models.batch.Batch": {"tf": 1}, "easypost.models.billing": {"tf": 1}, "easypost.models.billing.Billing": {"tf": 1}, "easypost.models.brand": {"tf": 1}, "easypost.models.brand.Brand": {"tf": 1}, "easypost.models.carrier_account": {"tf": 1}, "easypost.models.carrier_account.CarrierAccount": {"tf": 1}, "easypost.models.claim": {"tf": 1}, "easypost.models.claim.Claim": {"tf": 1}, "easypost.models.customs_info": {"tf": 1}, "easypost.models.customs_info.CustomsInfo": {"tf": 1}, "easypost.models.customs_item": {"tf": 1}, "easypost.models.customs_item.CustomsItem": {"tf": 1}, "easypost.models.end_shipper": {"tf": 1}, "easypost.models.end_shipper.EndShipper": {"tf": 1}, "easypost.models.event": {"tf": 1}, "easypost.models.event.Event": {"tf": 1}, "easypost.models.insurance": {"tf": 1}, "easypost.models.insurance.Insurance": {"tf": 1}, "easypost.models.order": {"tf": 1}, "easypost.models.order.Order": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.parcel": {"tf": 1}, "easypost.models.parcel.Parcel": {"tf": 1}, "easypost.models.payload": {"tf": 1}, "easypost.models.payload.Payload": {"tf": 1}, "easypost.models.pickup": {"tf": 1}, "easypost.models.pickup.Pickup": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.pickup_rate": {"tf": 1}, "easypost.models.pickup_rate.PickupRate": {"tf": 1}, "easypost.models.postage_label": {"tf": 1}, "easypost.models.postage_label.PostageLabel": {"tf": 1}, "easypost.models.rate": {"tf": 1}, "easypost.models.rate.Rate": {"tf": 1}, "easypost.models.refund": {"tf": 1}, "easypost.models.refund.Refund": {"tf": 1}, "easypost.models.report": {"tf": 1}, "easypost.models.report.Report": {"tf": 1}, "easypost.models.scan_form": {"tf": 1}, "easypost.models.scan_form.ScanForm": {"tf": 1}, "easypost.models.shipment": {"tf": 1}, "easypost.models.shipment.Shipment": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.models.tracker": {"tf": 1}, "easypost.models.tracker.Tracker": {"tf": 1}, "easypost.models.user": {"tf": 1}, "easypost.models.user.User": {"tf": 1}, "easypost.models.webhook": {"tf": 1}, "easypost.models.webhook.Webhook": {"tf": 1}, "easypost.requestor": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}, "easypost.requestor.RequestMethod": {"tf": 1}, "easypost.requestor.RequestMethod.GET": {"tf": 1}, "easypost.requestor.RequestMethod.POST": {"tf": 1}, "easypost.requestor.RequestMethod.PUT": {"tf": 1}, "easypost.requestor.RequestMethod.PATCH": {"tf": 1}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1}, "easypost.requestor.Requestor": {"tf": 1}, "easypost.requestor.Requestor.__init__": {"tf": 1}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services": {"tf": 1}, "easypost.services.address_service": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.api_key_service": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.base_service": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}, "easypost.services.batch_service": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.beta_rate_service": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.beta_referral_customer_service": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.billing_service": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.customer_portal_service": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.customs_info_service": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.embeddable_service": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.fedex_registration_service": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}, "easypost.services.insurance_service": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}, "easypost.services.luma_service": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.parcel_service": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.services.rate_service": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1.4142135623730951}, "easypost.services.refund_service": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.smartrate_service": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.services.webhook_service": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}, "easypost.util": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}, "easypost.util.receive_event": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 471, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_key": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_base": {"tf": 1}, "easypost.easypost_client.EasyPostClient.timeout": {"tf": 1}, "easypost.easypost_client.EasyPostClient.address": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_keys": {"tf": 1}, "easypost.easypost_client.EasyPostClient.batch": {"tf": 1}, "easypost.easypost_client.EasyPostClient.beta_rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1}, "easypost.easypost_client.EasyPostClient.billing": {"tf": 1}, "easypost.easypost_client.EasyPostClient.carrier_account": {"tf": 1}, "easypost.easypost_client.EasyPostClient.carrier_metadata": {"tf": 1}, "easypost.easypost_client.EasyPostClient.claim": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customer_portal": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customs_info": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customs_item": {"tf": 1}, "easypost.easypost_client.EasyPostClient.embeddable": {"tf": 1}, "easypost.easypost_client.EasyPostClient.end_shipper": {"tf": 1}, "easypost.easypost_client.EasyPostClient.event": {"tf": 1}, "easypost.easypost_client.EasyPostClient.fedex_registration": {"tf": 1}, "easypost.easypost_client.EasyPostClient.insurance": {"tf": 1}, "easypost.easypost_client.EasyPostClient.luma": {"tf": 1}, "easypost.easypost_client.EasyPostClient.order": {"tf": 1}, "easypost.easypost_client.EasyPostClient.parcel": {"tf": 1}, "easypost.easypost_client.EasyPostClient.rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.pickup": {"tf": 1}, "easypost.easypost_client.EasyPostClient.referral_customer": {"tf": 1}, "easypost.easypost_client.EasyPostClient.refund": {"tf": 1}, "easypost.easypost_client.EasyPostClient.report": {"tf": 1}, "easypost.easypost_client.EasyPostClient.scan_form": {"tf": 1}, "easypost.easypost_client.EasyPostClient.shipment": {"tf": 1}, "easypost.easypost_client.EasyPostClient.smart_rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.tracker": {"tf": 1}, "easypost.easypost_client.EasyPostClient.user": {"tf": 1}, "easypost.easypost_client.EasyPostClient.webhook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 41}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.get": {"tf": 1}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1}, "easypost.easypost_object.EasyPostObject.keys": {"tf": 1}, "easypost.easypost_object.EasyPostObject.values": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}}, "df": 10, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}}, "df": 2}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.message": {"tf": 1}}, "df": 3}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"easypost.constant.SUPPORT_EMAIL": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.embeddable": {"tf": 1}, "easypost.services.embeddable_service": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}}, "df": 5, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}, "easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}, "easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}, "easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}, "easypost.constant.NO_RATES_ERROR": {"tf": 1}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}, "easypost.constant.TIMEOUT_ERROR": {"tf": 1}, "easypost.errors.api.api_error": {"tf": 1}, "easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.errors.api.api_error.ApiError.message": {"tf": 1}, "easypost.errors.api.api_error.ApiError.errors": {"tf": 1}, "easypost.errors.api.api_error.ApiError.code": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_status": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1}, "easypost.errors.api.bad_request_error": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general.easypost_error": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.message": {"tf": 1}, "easypost.errors.general.end_of_pagination_error": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}}, "df": 79, "s": {"docs": {"easypost.errors": {"tf": 1}, "easypost.errors.api": {"tf": 1}, "easypost.errors.api.api_error": {"tf": 1}, "easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.errors.api.api_error.ApiError.message": {"tf": 1}, "easypost.errors.api.api_error.ApiError.errors": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError.code": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_status": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1}, "easypost.errors.api.bad_request_error": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general": {"tf": 1}, "easypost.errors.general.easypost_error": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.message": {"tf": 1}, "easypost.errors.general.end_of_pagination_error": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}}, "df": 63}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_client.EasyPostClient.end_shipper": {"tf": 1}, "easypost.errors.general.end_of_pagination_error": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.models.end_shipper": {"tf": 1}, "easypost.models.end_shipper.EndShipper": {"tf": 1}, "easypost.services.end_shipper_service": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}}, "df": 12, "o": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.models.end_shipper.EndShipper": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.errors.api.encoding_error": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.encoding_error.EncodingError": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.event": {"tf": 1}, "easypost.hooks.event_hook": {"tf": 1}, "easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.models.event": {"tf": 1}, "easypost.models.event.Event": {"tf": 1.4142135623730951}, "easypost.services.event_service": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.util.receive_event": {"tf": 1}}, "df": 15, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.hooks.event_hook.EventHook": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}}, "df": 8}}}}}}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.errors.api.external_api_error": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}}, "df": 1, "d": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.version_info": {"tf": 1}, "easypost.constant.VERSION": {"tf": 1}, "easypost.constant.VERSION_INFO": {"tf": 1}, "easypost.constant.API_VERSION": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 5}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.errors.general.signature_verification_error": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}}, "df": 2}}}}}}}, "y": {"docs": {"easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 2}}}}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}}, "df": 1, "s": {"docs": {"easypost.easypost_object.EasyPostObject.values": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"easypost.version_info": {"tf": 1}, "easypost.constant.VERSION_INFO": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customs_info": {"tf": 1}, "easypost.models.customs_info": {"tf": 1}, "easypost.models.customs_info.CustomsInfo": {"tf": 1}, "easypost.services.customs_info_service": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}}, "df": 10}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}, "easypost.errors.api.invalid_request_error": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.general.invalid_object_error": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}}, "df": 15, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}}, "df": 1}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}, "easypost.requestor.Requestor.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}}, "df": 36}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.insurance": {"tf": 1}, "easypost.models.insurance": {"tf": 1}, "easypost.models.insurance.Insurance": {"tf": 1.4142135623730951}, "easypost.services.insurance_service": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}}, "df": 11, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}}, "df": 7}}}}}}}}}}}, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.errors.api.internal_server_error": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.Requestor.interpret_response": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_client.EasyPostClient.customs_item": {"tf": 1}, "easypost.models.customs_item": {"tf": 1}, "easypost.models.customs_item.CustomsItem": {"tf": 1}, "easypost.services.customs_item_service": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}}, "df": 8}}}, "d": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant": {"tf": 1}, "easypost.constant.VERSION": {"tf": 1}, "easypost.constant.VERSION_INFO": {"tf": 1}, "easypost.constant.API_BASE": {"tf": 1}, "easypost.constant.API_VERSION": {"tf": 1}, "easypost.constant.AUTHOR": {"tf": 1}, "easypost.constant.SUPPORT_EMAIL": {"tf": 1}, "easypost.constant.TIMEOUT": {"tf": 1}, "easypost.constant.COMMUNICATION_ERROR": {"tf": 1}, "easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}, "easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}, "easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}, "easypost.constant.NO_RATES_ERROR": {"tf": 1}, "easypost.constant.NO_USER_FOUND": {"tf": 1}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}, "easypost.constant.TIMEOUT_ERROR": {"tf": 1}}, "df": 26}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}}, "df": 2}}}}}, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}}, "df": 1}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"easypost.errors.api.api_error.ApiError.code": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 2}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client": {"tf": 1}, "easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_key": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_base": {"tf": 1}, "easypost.easypost_client.EasyPostClient.timeout": {"tf": 1}, "easypost.easypost_client.EasyPostClient.address": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_keys": {"tf": 1}, "easypost.easypost_client.EasyPostClient.batch": {"tf": 1}, "easypost.easypost_client.EasyPostClient.beta_rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1}, "easypost.easypost_client.EasyPostClient.billing": {"tf": 1}, "easypost.easypost_client.EasyPostClient.carrier_account": {"tf": 1}, "easypost.easypost_client.EasyPostClient.carrier_metadata": {"tf": 1}, "easypost.easypost_client.EasyPostClient.claim": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customer_portal": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customs_info": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customs_item": {"tf": 1}, "easypost.easypost_client.EasyPostClient.embeddable": {"tf": 1}, "easypost.easypost_client.EasyPostClient.end_shipper": {"tf": 1}, "easypost.easypost_client.EasyPostClient.event": {"tf": 1}, "easypost.easypost_client.EasyPostClient.fedex_registration": {"tf": 1}, "easypost.easypost_client.EasyPostClient.insurance": {"tf": 1}, "easypost.easypost_client.EasyPostClient.luma": {"tf": 1}, "easypost.easypost_client.EasyPostClient.order": {"tf": 1}, "easypost.easypost_client.EasyPostClient.parcel": {"tf": 1}, "easypost.easypost_client.EasyPostClient.rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.pickup": {"tf": 1}, "easypost.easypost_client.EasyPostClient.referral_customer": {"tf": 1}, "easypost.easypost_client.EasyPostClient.refund": {"tf": 1}, "easypost.easypost_client.EasyPostClient.report": {"tf": 1}, "easypost.easypost_client.EasyPostClient.scan_form": {"tf": 1}, "easypost.easypost_client.EasyPostClient.shipment": {"tf": 1}, "easypost.easypost_client.EasyPostClient.smart_rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.tracker": {"tf": 1}, "easypost.easypost_client.EasyPostClient.user": {"tf": 1}, "easypost.easypost_client.EasyPostClient.webhook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 44}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_client.EasyPostClient.claim": {"tf": 1}, "easypost.models.claim": {"tf": 1}, "easypost.models.claim.Claim": {"tf": 1.4142135623730951}, "easypost.services.claim_service": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}}, "df": 11, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}}, "df": 7}}}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 2}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customer_portal": {"tf": 1}, "easypost.easypost_client.EasyPostClient.referral_customer": {"tf": 1}, "easypost.services.beta_referral_customer_service": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.customer_portal_service": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.referral_customer_service": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 24, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "s": {"docs": {"easypost.easypost_client.EasyPostClient.customs_info": {"tf": 1}, "easypost.easypost_client.EasyPostClient.customs_item": {"tf": 1}, "easypost.models.customs_info": {"tf": 1}, "easypost.models.customs_info.CustomsInfo": {"tf": 1}, "easypost.models.customs_item": {"tf": 1}, "easypost.models.customs_item.CustomsItem": {"tf": 1}, "easypost.services.customs_info_service": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}}, "df": 16, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"easypost.models.customs_info.CustomsInfo": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}}, "df": 4}}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"easypost.models.customs_item.CustomsItem": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.carrier_account": {"tf": 1}, "easypost.easypost_client.EasyPostClient.carrier_metadata": {"tf": 1}, "easypost.models.carrier_account": {"tf": 1}, "easypost.models.carrier_account.CarrierAccount": {"tf": 1}, "easypost.services.carrier_account_service": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 17, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.models.carrier_account.CarrierAccount": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}}, "df": 8}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}, "d": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}}, "df": 2}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}}, "df": 28}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 2}}}}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"easypost.constant.API_BASE": {"tf": 1}, "easypost.constant.API_VERSION": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_key": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_base": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_keys": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.errors.api": {"tf": 1}, "easypost.errors.api.api_error": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError.message": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError.errors": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError.code": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError.http_status": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1.4142135623730951}, "easypost.errors.api.bad_request_error": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error": {"tf": 1.4142135623730951}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1.4142135623730951}, "easypost.errors.api.forbidden_error": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error": {"tf": 1.4142135623730951}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1.4142135623730951}, "easypost.models.api_key": {"tf": 1}, "easypost.models.api_key.ApiKey": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.services.api_key_service": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1.4142135623730951}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 64, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.errors.api.api_error.ApiError.message": {"tf": 1}, "easypost.errors.api.api_error.ApiError.errors": {"tf": 1}, "easypost.errors.api.api_error.ApiError.code": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_status": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1}}, "df": 7}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"easypost.models.api_key.ApiKey": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}}, "df": 8}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.AUTHOR": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.carrier_account": {"tf": 1}, "easypost.models.carrier_account": {"tf": 1}, "easypost.models.carrier_account.CarrierAccount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.carrier_account_service": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 15}}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}}, "df": 1}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 5, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_client.EasyPostClient.address": {"tf": 1}, "easypost.models.address": {"tf": 1}, "easypost.models.address.Address": {"tf": 1.4142135623730951}, "easypost.services.address_service": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}}, "df": 13, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}}, "df": 8}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}}, "df": 19, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.errors.api.method_not_allowed_error": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}}, "df": 2}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.API_BASE": {"tf": 1}, "easypost.easypost_client.EasyPostClient.api_base": {"tf": 1}, "easypost.services.base_service": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}}, "df": 5, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}}, "df": 2}}}}}}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.easypost_client.EasyPostClient.batch": {"tf": 1}, "easypost.models.batch": {"tf": 1}, "easypost.models.batch.Batch": {"tf": 1.4142135623730951}, "easypost.services.batch_service": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}}, "df": 16, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 11}}}}}}}}}}, "d": {"docs": {"easypost.errors.api.bad_request_error": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "k": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.easypost_client.EasyPostClient.billing": {"tf": 1}, "easypost.models.billing": {"tf": 1}, "easypost.models.billing.Billing": {"tf": 1.4142135623730951}, "easypost.services.billing_service": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}}, "df": 10, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}}, "df": 5}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"easypost.easypost_client.EasyPostClient.beta_rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1}, "easypost.services.beta_rate_service": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.beta_referral_customer_service": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 13, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}}, "df": 3}}}}}}}}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.models.brand": {"tf": 1}, "easypost.models.brand.Brand": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}}, "df": 3}}}}, "u": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}}, "df": 6}}, "y": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}}, "df": 2}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.SUPPORT_EMAIL": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}}, "df": 2}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}, "easypost.errors.general.signature_verification_error": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}}, "df": 3, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.internal_server_error": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.errors.api.service_unavailable_error": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.services.address_service": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.api_key_service": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.base_service": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}, "easypost.services.batch_service": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.beta_rate_service": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.beta_referral_customer_service": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.billing_service": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.customer_portal_service": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.customs_info_service": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.embeddable_service": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.fedex_registration_service": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}, "easypost.services.insurance_service": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}, "easypost.services.luma_service": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.parcel_service": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.services.rate_service": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}, "easypost.services.refund_service": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.smartrate_service": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.services.webhook_service": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}}, "df": 235, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "s": {"docs": {"easypost.services": {"tf": 1}, "easypost.services.address_service": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.api_key_service": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.base_service": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}, "easypost.services.batch_service": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.beta_rate_service": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.beta_referral_customer_service": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.billing_service": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.customer_portal_service": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.customs_info_service": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.embeddable_service": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.fedex_registration_service": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}, "easypost.services.insurance_service": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}, "easypost.services.luma_service": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.parcel_service": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.services.rate_service": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}, "easypost.services.refund_service": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.smartrate_service": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.services.webhook_service": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}}, "df": 234}}}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 4}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"easypost.errors.api.api_error.ApiError.http_status": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 2}}}}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.end_shipper": {"tf": 1}, "easypost.models.end_shipper": {"tf": 1}, "easypost.models.end_shipper.EndShipper": {"tf": 1}, "easypost.services.end_shipper_service": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}}, "df": 10}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.shipment": {"tf": 1}, "easypost.models.shipment": {"tf": 1}, "easypost.models.shipment.Shipment": {"tf": 1.4142135623730951}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1.4142135623730951}, "easypost.services.shipment_service": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}}, "df": 23, "s": {"docs": {"easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}}, "df": 18}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_client.EasyPostClient.scan_form": {"tf": 1}, "easypost.models.scan_form": {"tf": 1}, "easypost.models.scan_form.ScanForm": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.scan_form_service": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}}, "df": 11, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"easypost.models.scan_form.ScanForm": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}}, "df": 4, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.smartrate_service": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 5, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 4}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.TIMEOUT": {"tf": 1}, "easypost.constant.TIMEOUT_ERROR": {"tf": 1}, "easypost.easypost_client.EasyPostClient.timeout": {"tf": 1}, "easypost.errors.api.gateway_timeout_error": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.timeout_error": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}}, "df": 7, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.tracker": {"tf": 1}, "easypost.models.tracker": {"tf": 1}, "easypost.models.tracker.Tracker": {"tf": 1.4142135623730951}, "easypost.services.tracker_service": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}}, "df": 12, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}}, "df": 8}}}}}}}}}}}}}, "o": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 8}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1, "y": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.requestor.RequestMethod.DELETE": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}}, "df": 7}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 4}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.errors.api.payment_error": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}}, "df": 7, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.payment_error.PaymentError": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"easypost.models.payload": {"tf": 1}, "easypost.models.payload.Payload": {"tf": 1.4142135623730951}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}}, "df": 3, "s": {"docs": {"easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}, "easypost.errors.general.invalid_parameter_error": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}}, "df": 5, "s": {"docs": {"easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 3}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.parcel": {"tf": 1}, "easypost.models.parcel": {"tf": 1}, "easypost.models.parcel.Parcel": {"tf": 1.4142135623730951}, "easypost.services.parcel_service": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}}, "df": 8, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}}, "df": 4}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 13, "s": {"docs": {"easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.errors.general.end_of_pagination_error": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}}, "df": 2}}}}}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.requestor.RequestMethod.PATCH": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.customer_portal": {"tf": 1}, "easypost.services.customer_portal_service": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}}, "df": 5}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.RequestMethod.POST": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"easypost.models.postage_label": {"tf": 1}, "easypost.models.postage_label.PostageLabel": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.models.postage_label.PostageLabel": {"tf": 1}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_client.EasyPostClient.pickup": {"tf": 1}, "easypost.models.pickup": {"tf": 1}, "easypost.models.pickup.Pickup": {"tf": 1.4142135623730951}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1.4142135623730951}, "easypost.models.pickup_rate": {"tf": 1}, "easypost.models.pickup_rate.PickupRate": {"tf": 1}, "easypost.services.pickup_service": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}}, "df": 15, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.models.pickup_rate.PickupRate": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}}, "df": 8}}}}}}}}}}}, "n": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.luma_service.LumaService.get_promise": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.RequestMethod.PUT": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.user_service.UserService.retrieve_me": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.errors.api.method_not_allowed_error": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}}, "df": 6, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "s": {"docs": {"easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"easypost.easypost_client.EasyPostClient.carrier_metadata": {"tf": 1}, "easypost.services.carrier_metadata_service": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 5}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"easypost.errors.api.api_error.ApiError.message": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.message": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}, "easypost.errors.general.missing_parameter_error": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}}, "df": 3, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}}, "df": 1}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"easypost.models": {"tf": 1}, "easypost.models.address": {"tf": 1}, "easypost.models.address.Address": {"tf": 1}, "easypost.models.api_key": {"tf": 1}, "easypost.models.api_key.ApiKey": {"tf": 1}, "easypost.models.batch": {"tf": 1}, "easypost.models.batch.Batch": {"tf": 1}, "easypost.models.billing": {"tf": 1}, "easypost.models.billing.Billing": {"tf": 1}, "easypost.models.brand": {"tf": 1}, "easypost.models.brand.Brand": {"tf": 1}, "easypost.models.carrier_account": {"tf": 1}, "easypost.models.carrier_account.CarrierAccount": {"tf": 1}, "easypost.models.claim": {"tf": 1}, "easypost.models.claim.Claim": {"tf": 1}, "easypost.models.customs_info": {"tf": 1}, "easypost.models.customs_info.CustomsInfo": {"tf": 1}, "easypost.models.customs_item": {"tf": 1}, "easypost.models.customs_item.CustomsItem": {"tf": 1}, "easypost.models.end_shipper": {"tf": 1}, "easypost.models.end_shipper.EndShipper": {"tf": 1}, "easypost.models.event": {"tf": 1}, "easypost.models.event.Event": {"tf": 1}, "easypost.models.insurance": {"tf": 1}, "easypost.models.insurance.Insurance": {"tf": 1}, "easypost.models.order": {"tf": 1}, "easypost.models.order.Order": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.parcel": {"tf": 1}, "easypost.models.parcel.Parcel": {"tf": 1}, "easypost.models.payload": {"tf": 1}, "easypost.models.payload.Payload": {"tf": 1}, "easypost.models.pickup": {"tf": 1}, "easypost.models.pickup.Pickup": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.pickup_rate": {"tf": 1}, "easypost.models.pickup_rate.PickupRate": {"tf": 1}, "easypost.models.postage_label": {"tf": 1}, "easypost.models.postage_label.PostageLabel": {"tf": 1}, "easypost.models.rate": {"tf": 1}, "easypost.models.rate.Rate": {"tf": 1}, "easypost.models.refund": {"tf": 1}, "easypost.models.refund.Refund": {"tf": 1}, "easypost.models.report": {"tf": 1}, "easypost.models.report.Report": {"tf": 1}, "easypost.models.scan_form": {"tf": 1}, "easypost.models.scan_form.ScanForm": {"tf": 1}, "easypost.models.shipment": {"tf": 1}, "easypost.models.shipment.Shipment": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.models.tracker": {"tf": 1}, "easypost.models.tracker.Tracker": {"tf": 1}, "easypost.models.user": {"tf": 1}, "easypost.models.user.User": {"tf": 1}, "easypost.models.webhook": {"tf": 1}, "easypost.models.webhook.Webhook": {"tf": 1}}, "df": 56}}}}}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}, "p": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.errors.api.bad_request_error": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.invalid_request_error": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.hooks.request_hook": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}}, "df": 16, "s": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}}, "df": 2}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.hooks.request_hook.RequestHook": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}, "easypost.requestor.RequestMethod": {"tf": 1}, "easypost.requestor.RequestMethod.GET": {"tf": 1}, "easypost.requestor.RequestMethod.POST": {"tf": 1}, "easypost.requestor.RequestMethod.PUT": {"tf": 1}, "easypost.requestor.RequestMethod.PATCH": {"tf": 1}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1}, "easypost.requestor.Requestor": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.__init__": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.request": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.request_raw": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.interpret_response": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.requests_request": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1.4142135623730951}}, "df": 19}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"easypost.requestor.RequestMethod": {"tf": 1}, "easypost.requestor.RequestMethod.GET": {"tf": 1}, "easypost.requestor.RequestMethod.POST": {"tf": 1}, "easypost.requestor.RequestMethod.PUT": {"tf": 1}, "easypost.requestor.RequestMethod.PATCH": {"tf": 1}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1}}, "df": 6}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.hooks.response_hook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}}, "df": 6, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.hooks.response_hook.ResponseHook": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1}, "easypost.easypost_client.EasyPostClient.referral_customer": {"tf": 1}, "easypost.services.beta_referral_customer_service": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.referral_customer_service": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 19, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 9}}}}}}}}}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_client.EasyPostClient.refund": {"tf": 1}, "easypost.models.refund": {"tf": 1}, "easypost.models.refund.Refund": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}, "easypost.services.refund_service": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}}, "df": 14, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}}, "df": 6}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_client.EasyPostClient.fedex_registration": {"tf": 1}, "easypost.services.fedex_registration_service": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 8}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.report": {"tf": 1}, "easypost.models.report": {"tf": 1}, "easypost.models.report.Report": {"tf": 1.4142135623730951}, "easypost.services.report_service": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}}, "df": 10, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}}, "df": 6}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.errors.api.redirect_error": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.redirect_error.RedirectError": {"tf": 1}}, "df": 1}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}}, "df": 30}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"easypost.util.receive_event": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.beta_rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.rate": {"tf": 1}, "easypost.easypost_client.EasyPostClient.smart_rate": {"tf": 1}, "easypost.errors.api.rate_limit_error": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.pickup_rate": {"tf": 1}, "easypost.models.pickup_rate.PickupRate": {"tf": 1}, "easypost.models.rate": {"tf": 1}, "easypost.models.rate.Rate": {"tf": 1.4142135623730951}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.beta_rate_service": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.rate_service": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 24, "s": {"docs": {"easypost.constant.NO_RATES_ERROR": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}}, "df": 3}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "w": {"docs": {"easypost.requestor.Requestor.request_raw": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.errors.api.rate_limit_error": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}}, "df": 2}}}, "n": {"docs": {}, "df": 0, "k": {"docs": {"easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"easypost.easypost_client.EasyPostClient.luma": {"tf": 1}, "easypost.services.luma_service": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}}, "df": 7, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}}, "df": 3}}}}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 7}}}}, "g": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.models.postage_label": {"tf": 1}, "easypost.models.postage_label.PostageLabel": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}}, "df": 4}}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}, "easypost.easypost_client.EasyPostClient.webhook": {"tf": 1}, "easypost.models.webhook": {"tf": 1}, "easypost.models.webhook.Webhook": {"tf": 1.4142135623730951}, "easypost.services.webhook_service": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 13, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.webhook_service.WebhookService": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}}, "df": 7}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {"easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}, "easypost.constant.NO_RATES_ERROR": {"tf": 1}, "easypost.constant.NO_USER_FOUND": {"tf": 1}}, "df": 5, "t": {"docs": {"easypost.errors.api.method_not_allowed_error": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}}, "df": 4, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 13}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.NO_USER_FOUND": {"tf": 1}, "easypost.easypost_client.EasyPostClient.user": {"tf": 1}, "easypost.models.user": {"tf": 1}, "easypost.models.user.User": {"tf": 1.4142135623730951}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.user_service": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 17, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 11}}}}}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}}, "df": 2}}}}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.errors.api.service_unavailable_error": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}}, "df": 2}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.errors.api.unauthorized_error": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "k": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"easypost.errors.api.unknown_api_error": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "l": {"docs": {"easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.requestor.Requestor.urlfetch_request": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}}, "df": 6}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"easypost.util": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}, "easypost.util.receive_event": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 6}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.NO_USER_FOUND": {"tf": 1}, "easypost.errors.api.not_found_error": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}}, "df": 3}}}, "r": {"docs": {"easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}}, "df": 1, "m": {"docs": {"easypost.easypost_client.EasyPostClient.scan_form": {"tf": 1}, "easypost.models.scan_form": {"tf": 1}, "easypost.models.scan_form.ScanForm": {"tf": 1}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.scan_form_service": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}}, "df": 13}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"easypost.errors.api.forbidden_error": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"easypost.easypost_client.EasyPostClient.fedex_registration": {"tf": 1}, "easypost.services.fedex_registration_service": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 8, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 5}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.errors.general.filtering_error": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.general.filtering_error.FilteringError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"easypost.easypost_client.EasyPostClient.api_key": {"tf": 1}, "easypost.models.api_key": {"tf": 1}, "easypost.models.api_key.ApiKey": {"tf": 1}, "easypost.services.api_key_service": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 13, "s": {"docs": {"easypost.easypost_client.EasyPostClient.api_keys": {"tf": 1}, "easypost.easypost_object.EasyPostObject.keys": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}}, "df": 3}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.order": {"tf": 1}, "easypost.models.order": {"tf": 1}, "easypost.models.order.Order": {"tf": 1.4142135623730951}, "easypost.models.order.Order.lowest_rate": {"tf": 1.4142135623730951}, "easypost.services.order_service": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}}, "df": 11, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}}, "df": 6}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object": {"tf": 1}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1.4142135623730951}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1.4142135623730951}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.get": {"tf": 1}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1}, "easypost.easypost_object.EasyPostObject.keys": {"tf": 1}, "easypost.easypost_object.EasyPostObject.values": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}, "easypost.errors.general.invalid_object_error": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}}, "df": 19}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {"easypost.errors.general.end_of_pagination_error": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 3}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.hooks.event_hook": {"tf": 1}, "easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.hooks.request_hook": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}}, "df": 10, "s": {"docs": {"easypost.hooks": {"tf": 1}, "easypost.hooks.event_hook": {"tf": 1}, "easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.hooks.request_hook": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}}, "df": 7}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"easypost.errors.api.api_error.ApiError.http_status": {"tf": 1}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1}, "easypost.errors.api.http_error": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.http_error.HttpError": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.requestor.Requestor.handle_api_error": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.get": {"tf": 1}, "easypost.requestor.RequestMethod.GET": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 21}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.errors.general": {"tf": 1}, "easypost.errors.general.easypost_error": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.message": {"tf": 1}, "easypost.errors.general.end_of_pagination_error": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}}, "df": 17}, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"easypost.errors.api.gateway_timeout_error": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.errors.api.json_error": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.json_error.JsonError": {"tf": 1}}, "df": 1}}}}}}}}}}}, "annotation": {"root": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}, "easypost.easypost_object.EasyPostObject.keys": {"tf": 1}, "easypost.easypost_object.EasyPostObject.values": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 5, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 3}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "y": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}, "easypost.easypost_object.EasyPostObject.values": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 4}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EasyPostObject.keys": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.easypost_object.EasyPostObject.values": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "default_value": {"root": {"0": {"docs": {"easypost.version_info": {"tf": 1}, "easypost.constant.VERSION": {"tf": 1}, "easypost.constant.VERSION_INFO": {"tf": 1}}, "df": 3}, "1": {"0": {"docs": {"easypost.version_info": {"tf": 1}, "easypost.constant.VERSION": {"tf": 1}, "easypost.constant.VERSION_INFO": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "4": {"0": {"0": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "1": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "2": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "3": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "4": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "5": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "8": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "2": {"2": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "9": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "5": {"0": {"0": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "3": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "4": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "6": {"0": {"docs": {"easypost.constant.TIMEOUT": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "7": {"docs": {"easypost.version_info": {"tf": 1}, "easypost.constant.VERSION": {"tf": 1}, "easypost.constant.VERSION_INFO": {"tf": 1}}, "df": 3}, "docs": {"easypost.version_info": {"tf": 1.4142135623730951}, "easypost.constant.VERSION": {"tf": 1.4142135623730951}, "easypost.constant.VERSION_INFO": {"tf": 1.4142135623730951}, "easypost.constant.API_BASE": {"tf": 1.4142135623730951}, "easypost.constant.API_VERSION": {"tf": 1.4142135623730951}, "easypost.constant.AUTHOR": {"tf": 1.4142135623730951}, "easypost.constant.SUPPORT_EMAIL": {"tf": 1.4142135623730951}, "easypost.constant.COMMUNICATION_ERROR": {"tf": 2}, "easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 2}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 2}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 2}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 2}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.NO_RATES_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.NO_USER_FOUND": {"tf": 1.4142135623730951}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.TIMEOUT_ERROR": {"tf": 1.4142135623730951}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 5.656854249492381}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 2.8284271247461903}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}, "easypost.requestor.RequestMethod.GET": {"tf": 1.4142135623730951}, "easypost.requestor.RequestMethod.POST": {"tf": 1.4142135623730951}, "easypost.requestor.RequestMethod.PUT": {"tf": 1.4142135623730951}, "easypost.requestor.RequestMethod.PATCH": {"tf": 1.4142135623730951}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1.4142135623730951}}, "df": 33, "x": {"2": {"7": {"docs": {"easypost.version_info": {"tf": 2.449489742783178}, "easypost.constant.VERSION": {"tf": 1.4142135623730951}, "easypost.constant.VERSION_INFO": {"tf": 2.449489742783178}, "easypost.constant.API_BASE": {"tf": 1.4142135623730951}, "easypost.constant.API_VERSION": {"tf": 1.4142135623730951}, "easypost.constant.AUTHOR": {"tf": 1.4142135623730951}, "easypost.constant.SUPPORT_EMAIL": {"tf": 1.4142135623730951}, "easypost.constant.COMMUNICATION_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.NO_RATES_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.NO_USER_FOUND": {"tf": 1.4142135623730951}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1.4142135623730951}, "easypost.constant.TIMEOUT_ERROR": {"tf": 1.4142135623730951}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 10.954451150103322}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 4.898979485566356}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 4.898979485566356}, "easypost.requestor.RequestMethod.GET": {"tf": 1.4142135623730951}, "easypost.requestor.RequestMethod.POST": {"tf": 1.4142135623730951}, "easypost.requestor.RequestMethod.PUT": {"tf": 1.4142135623730951}, "easypost.requestor.RequestMethod.PATCH": {"tf": 1.4142135623730951}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1.4142135623730951}}, "df": 33}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"easypost.constant.API_BASE": {"tf": 1}}, "df": 1}}}}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {"easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 1}, "s": {"docs": {"easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}}, "df": 2}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.API_BASE": {"tf": 1}, "easypost.constant.AUTHOR": {"tf": 1}, "easypost.constant.COMMUNICATION_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 3.4641016151377544}}, "df": 6}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1.4142135623730951}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 3.4641016151377544}}, "df": 2, "s": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 3.4641016151377544}}, "df": 1}}}}}, "s": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"easypost.constant.API_BASE": {"tf": 1}, "easypost.constant.AUTHOR": {"tf": 1}, "easypost.constant.SUPPORT_EMAIL": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 3.4641016151377544}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}}}}}}}, "v": {"2": {"docs": {"easypost.constant.API_VERSION": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.AUTHOR": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 3.4641016151377544}, "easypost.requestor.RequestMethod.GET": {"tf": 1}, "easypost.requestor.RequestMethod.POST": {"tf": 1}, "easypost.requestor.RequestMethod.PUT": {"tf": 1}, "easypost.requestor.RequestMethod.PATCH": {"tf": 1}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1}}, "df": 7}, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "b": {"docs": {"easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "@": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.AUTHOR": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1.4142135623730951}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1}, "l": {"docs": {}, "df": 0, "y": {"docs": {"easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}}, "df": 1}}}, "f": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.TIMEOUT_ERROR": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.AUTHOR": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 3.4641016151377544}, "easypost.requestor.RequestMethod.GET": {"tf": 1}, "easypost.requestor.RequestMethod.POST": {"tf": 1}, "easypost.requestor.RequestMethod.PUT": {"tf": 1}, "easypost.requestor.RequestMethod.PATCH": {"tf": 1}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1}}, "df": 7}, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.requestor.RequestMethod.GET": {"tf": 1.4142135623730951}}, "df": 2}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"easypost.constant.NO_USER_FOUND": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}}, "df": 1, "@": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.SUPPORT_EMAIL": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"easypost.constant.NO_BILLING_ERROR": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "u": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.constant.NO_USER_FOUND": {"tf": 1}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1.4142135623730951}}, "df": 3}}}, "p": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 1}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}, "easypost.constant.NO_USER_FOUND": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1.4142135623730951}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 3}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 5, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "s": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "s": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}}, "df": 1}, "d": {"docs": {"easypost.constant.NO_USER_FOUND": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}}, "df": 2}}, "e": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.NO_USER_FOUND": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 2}, "k": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "o": {"docs": {"easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 5}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.TIMEOUT_ERROR": {"tf": 1}}, "df": 1}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 6}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}}, "df": 1, "s": {"docs": {"easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.requestor.RequestMethod.PATCH": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1.4142135623730951}}, "df": 1, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.RequestMethod.POST": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.RequestMethod.PUT": {"tf": 1.4142135623730951}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {"easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}}, "df": 2, "t": {"docs": {"easypost.constant.COMMUNICATION_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}}, "df": 2, "d": {"docs": {"easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 3.4641016151377544}}, "df": 2, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.NO_BILLING_ERROR": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}}, "df": 1}}, "k": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1.4142135623730951}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}}, "df": 2}}}}}}}}, "d": {"docs": {"easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 4, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "n": {"docs": {"easypost.constant.NO_BILLING_ERROR": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "g": {"docs": {"easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.constant.NO_BILLING_ERROR": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1.4142135623730951}}, "df": 1}}}, "d": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {"easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}, "easypost.constant.NO_RATES_ERROR": {"tf": 1}, "easypost.constant.NO_USER_FOUND": {"tf": 1}}, "df": 4, "t": {"docs": {"easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1.4142135623730951}}, "df": 6, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.constant.TIMEOUT_ERROR": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1.4142135623730951}}, "df": 4, "s": {"docs": {"easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1.7320508075688772}}, "df": 2}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"easypost.requestor.RequestMethod.GET": {"tf": 1}, "easypost.requestor.RequestMethod.POST": {"tf": 1}, "easypost.requestor.RequestMethod.PUT": {"tf": 1}, "easypost.requestor.RequestMethod.PATCH": {"tf": 1}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1}}, "df": 5}}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1}}, "df": 1}, "d": {"docs": {"easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 2.449489742783178}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 2.449489742783178}}, "df": 4}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1}}, "df": 1}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1.4142135623730951}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 2, "s": {"docs": {"easypost.constant.NO_RATES_ERROR": {"tf": 1}}, "df": 1}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1.4142135623730951}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.constant.NO_BILLING_ERROR": {"tf": 1}}, "df": 1, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.constant.NO_RATES_ERROR": {"tf": 1}, "easypost.constant.NO_USER_FOUND": {"tf": 1}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1}}, "df": 3}}}}}}}, "signature": {"root": {"6": {"0": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 6.708203932499369}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 3.7416573867739413}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 3.7416573867739413}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 3.7416573867739413}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 3.7416573867739413}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 8.717797887081348}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 8}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 8.426149773176359}, "easypost.easypost_object.EasyPostObject.get": {"tf": 5.477225575051661}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 5.477225575051661}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 8.426149773176359}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 5.830951894845301}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 5.5677643628300215}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 5.0990195135927845}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 4.47213595499958}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 11.090536506409418}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 3.4641016151377544}, "easypost.models.order.Order.lowest_rate": {"tf": 8.660254037844387}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 8.660254037844387}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 8.660254037844387}, "easypost.requestor.Requestor.__init__": {"tf": 2.8284271247461903}, "easypost.requestor.Requestor.form_encode_params": {"tf": 9.273618495495704}, "easypost.requestor.Requestor.request": {"tf": 9.899494936611665}, "easypost.requestor.Requestor.request_raw": {"tf": 9.695359714832659}, "easypost.requestor.Requestor.interpret_response": {"tf": 6.48074069840786}, "easypost.requestor.Requestor.requests_request": {"tf": 10.392304845413264}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 10.392304845413264}, "easypost.requestor.Requestor.handle_api_error": {"tf": 7.3484692283495345}, "easypost.requestor.Requestor.encode_url_params": {"tf": 7.615773105863909}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 7.874007874011811}, "easypost.services.address_service.AddressService.__init__": {"tf": 2.8284271247461903}, "easypost.services.address_service.AddressService.create": {"tf": 9.591663046625438}, "easypost.services.address_service.AddressService.all": {"tf": 5.656854249492381}, "easypost.services.address_service.AddressService.retrieve": {"tf": 5.291502622129181}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 7.211102550927978}, "easypost.services.address_service.AddressService.verify": {"tf": 5.291502622129181}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 2.8284271247461903}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 6.082762530298219}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 5.0990195135927845}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 5.656854249492381}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 4.47213595499958}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 5.656854249492381}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 5.656854249492381}, "easypost.services.base_service.BaseService.__init__": {"tf": 2.8284271247461903}, "easypost.services.batch_service.BatchService.__init__": {"tf": 2.8284271247461903}, "easypost.services.batch_service.BatchService.create": {"tf": 5.477225575051661}, "easypost.services.batch_service.BatchService.all": {"tf": 5.656854249492381}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 5.656854249492381}, "easypost.services.batch_service.BatchService.buy": {"tf": 6.164414002968976}, "easypost.services.batch_service.BatchService.label": {"tf": 6.164414002968976}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 6.164414002968976}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 6.164414002968976}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 6.164414002968976}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 2.8284271247461903}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 5.656854249492381}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 7.874007874011811}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 5.830951894845301}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 5.830951894845301}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 5.0990195135927845}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 6.708203932499369}, "easypost.services.billing_service.BillingService.__init__": {"tf": 2.8284271247461903}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 6}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 4.47213595499958}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 5.656854249492381}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 2.8284271247461903}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 5.477225575051661}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 5.916079783099616}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 5.656854249492381}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 6.4031242374328485}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 4.47213595499958}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 5.385164807134504}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 2.8284271247461903}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 8.94427190999916}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 2.8284271247461903}, "easypost.services.claim_service.ClaimService.create": {"tf": 5.477225575051661}, "easypost.services.claim_service.ClaimService.all": {"tf": 5.656854249492381}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 5.656854249492381}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 5.656854249492381}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 2.8284271247461903}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 5.656854249492381}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 2.8284271247461903}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 5.477225575051661}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 5.656854249492381}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 2.8284271247461903}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 5.477225575051661}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 5.656854249492381}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 2.8284271247461903}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 5.656854249492381}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 2.8284271247461903}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 5.477225575051661}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 5.656854249492381}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 5.656854249492381}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 6.164414002968976}, "easypost.services.event_service.EventService.__init__": {"tf": 2.8284271247461903}, "easypost.services.event_service.EventService.create": {"tf": 5.477225575051661}, "easypost.services.event_service.EventService.all": {"tf": 5.656854249492381}, "easypost.services.event_service.EventService.retrieve": {"tf": 5.656854249492381}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 6.324555320336759}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 7.0710678118654755}, "easypost.services.event_service.EventService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 2.8284271247461903}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 6.324555320336759}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 7.211102550927978}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 6.324555320336759}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 6.324555320336759}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 2.8284271247461903}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 5.477225575051661}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 5.656854249492381}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 5.656854249492381}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 5.656854249492381}, "easypost.services.luma_service.LumaService.__init__": {"tf": 2.8284271247461903}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 7.0710678118654755}, "easypost.services.order_service.OrderService.__init__": {"tf": 2.8284271247461903}, "easypost.services.order_service.OrderService.create": {"tf": 5.477225575051661}, "easypost.services.order_service.OrderService.retrieve": {"tf": 5.656854249492381}, "easypost.services.order_service.OrderService.get_rates": {"tf": 5.656854249492381}, "easypost.services.order_service.OrderService.buy": {"tf": 6.164414002968976}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 2.8284271247461903}, "easypost.services.parcel_service.ParcelService.create": {"tf": 5.477225575051661}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 5.656854249492381}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 2.8284271247461903}, "easypost.services.pickup_service.PickupService.create": {"tf": 5.477225575051661}, "easypost.services.pickup_service.PickupService.all": {"tf": 5.656854249492381}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 5.656854249492381}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.pickup_service.PickupService.buy": {"tf": 6.164414002968976}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 6.164414002968976}, "easypost.services.rate_service.RateService.__init__": {"tf": 2.8284271247461903}, "easypost.services.rate_service.RateService.retrieve": {"tf": 5.656854249492381}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 2.8284271247461903}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 5.477225575051661}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 5.291502622129181}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 5.656854249492381}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 7.874007874011811}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 9.219544457292887}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 3.4641016151377544}, "easypost.services.refund_service.RefundService.__init__": {"tf": 2.8284271247461903}, "easypost.services.refund_service.RefundService.create": {"tf": 5.477225575051661}, "easypost.services.refund_service.RefundService.all": {"tf": 5.656854249492381}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 5.656854249492381}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.report_service.ReportService.__init__": {"tf": 2.8284271247461903}, "easypost.services.report_service.ReportService.create": {"tf": 5.477225575051661}, "easypost.services.report_service.ReportService.all": {"tf": 5.656854249492381}, "easypost.services.report_service.ReportService.retrieve": {"tf": 5.656854249492381}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 10}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 2.8284271247461903}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 5.477225575051661}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 5.656854249492381}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 5.656854249492381}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 2.8284271247461903}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 5.477225575051661}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 5.656854249492381}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 5.656854249492381}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 6.708203932499369}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 6.082762530298219}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 7.810249675906654}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 6.164414002968976}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 6.164414002968976}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 6.164414002968976}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 7.211102550927978}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 8.602325267042627}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 6.708203932499369}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 6.708203932499369}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 7.0710678118654755}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 7.681145747868608}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 2.8284271247461903}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 5.916079783099616}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 5.916079783099616}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 2.8284271247461903}, "easypost.services.tracker_service.TrackerService.create": {"tf": 5.477225575051661}, "easypost.services.tracker_service.TrackerService.all": {"tf": 5.656854249492381}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 5.477225575051661}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 5.656854249492381}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 9.433981132056603}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 4.47213595499958}, "easypost.services.user_service.UserService.__init__": {"tf": 2.8284271247461903}, "easypost.services.user_service.UserService.create": {"tf": 5.477225575051661}, "easypost.services.user_service.UserService.all": {"tf": 5.656854249492381}, "easypost.services.user_service.UserService.retrieve": {"tf": 6.557438524302}, "easypost.services.user_service.UserService.update": {"tf": 6.164414002968976}, "easypost.services.user_service.UserService.delete": {"tf": 4.47213595499958}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 4.898979485566356}, "easypost.services.user_service.UserService.update_brand": {"tf": 6.164414002968976}, "easypost.services.user_service.UserService.all_children": {"tf": 5.656854249492381}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 9.433981132056603}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 2.8284271247461903}, "easypost.services.webhook_service.WebhookService.create": {"tf": 5.477225575051661}, "easypost.services.webhook_service.WebhookService.all": {"tf": 5.656854249492381}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 5.656854249492381}, "easypost.services.webhook_service.WebhookService.update": {"tf": 6.164414002968976}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 4.47213595499958}, "easypost.util.get_lowest_object_rate": {"tf": 10.908712114635714}, "easypost.util.get_lowest_smart_rate": {"tf": 8}, "easypost.util.get_lowest_stateless_rate": {"tf": 9.899494936611665}, "easypost.util.receive_event": {"tf": 3.7416573867739413}, "easypost.util.validate_webhook": {"tf": 7.937253933193772}}, "df": 204, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1.4142135623730951}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 7, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}}, "df": 4}}}}}, "n": {"docs": {}, "df": 0, "y": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1.4142135623730951}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.get": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.request": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1.4142135623730951}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1.7320508075688772}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1.4142135623730951}, "easypost.util.validate_webhook": {"tf": 1.4142135623730951}}, "df": 78}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}}, "df": 2}}, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.address_service.AddressService.create": {"tf": 1.4142135623730951}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1.4142135623730951}, "easypost.services.address_service.AddressService.verify": {"tf": 1.4142135623730951}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1.4142135623730951}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1.4142135623730951}}, "df": 7, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.address_service.AddressService.get_next_page": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 7}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}}, "df": 2}}}}}}}}, "k": {"docs": {"easypost.easypost_object.EasyPostObject.get": {"tf": 1}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "y": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}}, "df": 8, "s": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1.7320508075688772}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 2.23606797749979}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1.4142135623730951}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1.4142135623730951}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.request": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.request_raw": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.interpret_response": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.requests_request": {"tf": 2.23606797749979}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 2.23606797749979}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1.7320508075688772}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 2}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1.4142135623730951}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1.4142135623730951}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1.4142135623730951}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1.4142135623730951}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1.4142135623730951}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1.4142135623730951}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1.4142135623730951}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1.4142135623730951}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 2}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 2.23606797749979}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1.4142135623730951}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1.7320508075688772}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 2}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 2}, "easypost.util.receive_event": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1.7320508075688772}}, "df": 142, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.address_service.AddressService.create": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}}, "df": 3}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.EasyPostObject.get": {"tf": 1}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}}, "df": 160}}, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 5}}}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 13}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.luma_service.LumaService.get_promise": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1.4142135623730951}}, "df": 10, "s": {"docs": {"easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}}, "df": 3, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}}, "df": 2}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.util.get_lowest_smart_rate": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.services.batch_service.BatchService.create": {"tf": 1.4142135623730951}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.batch_service.BatchService.buy": {"tf": 1.4142135623730951}, "easypost.services.batch_service.BatchService.label": {"tf": 1.4142135623730951}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1.4142135623730951}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1.4142135623730951}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1.4142135623730951}}, "df": 7, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 4}}, "o": {"docs": {}, "df": 0, "l": {"docs": {"easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1.4142135623730951}}, "df": 3}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}}, "df": 2}}}}, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"easypost.errors.api.api_error.ApiError.__init__": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.interpret_response": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 3}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 2}, "easypost.util.get_lowest_smart_rate": {"tf": 1.4142135623730951}}, "df": 89, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.util.get_lowest_object_rate": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.event_service.EventService.create": {"tf": 1.4142135623730951}, "easypost.services.event_service.EventService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 5, "s": {"docs": {"easypost.services.event_service.EventService.get_next_page": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "v": {"2": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 1}}}}}}}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.Requestor.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.__init__": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1}, "easypost.services.base_service.BaseService.__init__": {"tf": 1}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1}, "easypost.services.event_service.EventService.__init__": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1}, "easypost.services.order_service.OrderService.__init__": {"tf": 1}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1}, "easypost.services.rate_service.RateService.__init__": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1}, "easypost.services.report_service.ReportService.__init__": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1}, "easypost.services.user_service.UserService.__init__": {"tf": 1}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1}}, "df": 32}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"easypost.services.claim_service.ClaimService.create": {"tf": 1.4142135623730951}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}}, "df": 5, "s": {"docs": {"easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 6}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}}, "df": 3}}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1, "s": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}}, "df": 2}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}}, "df": 2}}}}}}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1.4142135623730951}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1.4142135623730951}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1.4142135623730951}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1.4142135623730951}, "easypost.util.validate_webhook": {"tf": 1.4142135623730951}}, "df": 71}}}, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}}, "df": 1, "s": {"docs": {"easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}}, "df": 3}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.tracker_service.TrackerService.create": {"tf": 1.4142135623730951}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1.4142135623730951}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}}, "df": 24}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}}, "df": 2}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.insurance_service.InsuranceService.create": {"tf": 1.4142135623730951}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"easypost.util.receive_event": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1.4142135623730951}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}}, "df": 64}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}}, "df": 2}}}}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}}, "df": 4}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 4}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}}, "df": 10}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1}}, "df": 2}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "s": {"docs": {"easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1.4142135623730951}}, "df": 81}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 7}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 7}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}}, "df": 2}}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1.4142135623730951}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.report_service.ReportService.create": {"tf": 1.4142135623730951}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1.4142135623730951}}, "df": 2, "s": {"docs": {"easypost.services.report_service.ReportService.get_next_page": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.models.order.Order.lowest_rate": {"tf": 1.4142135623730951}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1.4142135623730951}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1.4142135623730951}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1.4142135623730951}, "easypost.util.get_lowest_object_rate": {"tf": 1.4142135623730951}, "easypost.util.get_lowest_smart_rate": {"tf": 2}}, "df": 9, "s": {"docs": {"easypost.util.get_lowest_object_rate": {"tf": 1.4142135623730951}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 3}}}, "w": {"docs": {"easypost.util.receive_event": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}}, "df": 92}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1.4142135623730951}}, "df": 4}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.parcel_service.ParcelService.create": {"tf": 1.4142135623730951}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1.4142135623730951}}, "df": 2}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 13}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.event_service.EventService.retrieve_payload": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 5}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 4}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"easypost.services.pickup_service.PickupService.create": {"tf": 1.4142135623730951}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1.4142135623730951}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1.4142135623730951}}, "df": 4, "s": {"docs": {"easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1.4142135623730951}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1}, "easypost.requestor.Requestor.form_encode_params": {"tf": 2}, "easypost.requestor.Requestor.request": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1.4142135623730951}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1.7320508075688772}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1.4142135623730951}, "easypost.util.validate_webhook": {"tf": 1.4142135623730951}}, "df": 76}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.get": {"tf": 1}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1.4142135623730951}}, "df": 3}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 2}, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}}, "df": 2}}, "y": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1.4142135623730951}, "easypost.util.get_lowest_object_rate": {"tf": 1.4142135623730951}}, "df": 4}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 13}}, "s": {"docs": {"easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.order_service.OrderService.create": {"tf": 1.4142135623730951}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1.4142135623730951}, "easypost.services.order_service.OrderService.buy": {"tf": 1.4142135623730951}}, "df": 4}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.convert_to_easypost_object": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 2.449489742783178}, "easypost.easypost_object.EasyPostObject.get": {"tf": 1}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 2.8284271247461903}, "easypost.models.order.Order.lowest_rate": {"tf": 2}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 2}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 2}, "easypost.requestor.Requestor.form_encode_params": {"tf": 2}, "easypost.requestor.Requestor.request": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.request_raw": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.services.address_service.AddressService.create": {"tf": 2.449489742783178}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1.4142135623730951}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1.4142135623730951}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 2}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 2}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1.4142135623730951}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 2}, "easypost.util.get_lowest_stateless_rate": {"tf": 2}}, "df": 46}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 4}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.address_service.AddressService.create": {"tf": 1.7320508075688772}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}}, "df": 2}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.errors.api.api_error.ApiError.__init__": {"tf": 1.4142135623730951}, "easypost.models.order.Order.lowest_rate": {"tf": 1.4142135623730951}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1.4142135623730951}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1.4142135623730951}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1.7320508075688772}}, "df": 18}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {"easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 6}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService.create": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService.update": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService.update_brand": {"tf": 1.4142135623730951}}, "df": 6}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.services.webhook_service.WebhookService.create": {"tf": 1.4142135623730951}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1.4142135623730951}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 4}}}}}}}}}, "bases": {"root": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {"easypost.requestor.RequestMethod": {"tf": 1.4142135623730951}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1.4142135623730951}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1.4142135623730951}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1.4142135623730951}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1.4142135623730951}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1.4142135623730951}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1.4142135623730951}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1.4142135623730951}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}, "easypost.models.address.Address": {"tf": 1.4142135623730951}, "easypost.models.api_key.ApiKey": {"tf": 1.4142135623730951}, "easypost.models.batch.Batch": {"tf": 1.4142135623730951}, "easypost.models.billing.Billing": {"tf": 1.4142135623730951}, "easypost.models.brand.Brand": {"tf": 1.4142135623730951}, "easypost.models.carrier_account.CarrierAccount": {"tf": 1.4142135623730951}, "easypost.models.claim.Claim": {"tf": 1.4142135623730951}, "easypost.models.customs_info.CustomsInfo": {"tf": 1.4142135623730951}, "easypost.models.customs_item.CustomsItem": {"tf": 1.4142135623730951}, "easypost.models.end_shipper.EndShipper": {"tf": 1.4142135623730951}, "easypost.models.event.Event": {"tf": 1.4142135623730951}, "easypost.models.insurance.Insurance": {"tf": 1.4142135623730951}, "easypost.models.order.Order": {"tf": 1.4142135623730951}, "easypost.models.parcel.Parcel": {"tf": 1.4142135623730951}, "easypost.models.payload.Payload": {"tf": 1.4142135623730951}, "easypost.models.pickup.Pickup": {"tf": 1.4142135623730951}, "easypost.models.pickup_rate.PickupRate": {"tf": 1.4142135623730951}, "easypost.models.postage_label.PostageLabel": {"tf": 1.4142135623730951}, "easypost.models.rate.Rate": {"tf": 1.4142135623730951}, "easypost.models.refund.Refund": {"tf": 1.4142135623730951}, "easypost.models.report.Report": {"tf": 1.4142135623730951}, "easypost.models.scan_form.ScanForm": {"tf": 1.4142135623730951}, "easypost.models.shipment.Shipment": {"tf": 1.4142135623730951}, "easypost.models.tracker.Tracker": {"tf": 1.4142135623730951}, "easypost.models.user.User": {"tf": 1.4142135623730951}, "easypost.models.webhook.Webhook": {"tf": 1.4142135623730951}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 84, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}}, "df": 7}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.models.address.Address": {"tf": 1}, "easypost.models.api_key.ApiKey": {"tf": 1}, "easypost.models.batch.Batch": {"tf": 1}, "easypost.models.billing.Billing": {"tf": 1}, "easypost.models.brand.Brand": {"tf": 1}, "easypost.models.carrier_account.CarrierAccount": {"tf": 1}, "easypost.models.claim.Claim": {"tf": 1}, "easypost.models.customs_info.CustomsInfo": {"tf": 1}, "easypost.models.customs_item.CustomsItem": {"tf": 1}, "easypost.models.end_shipper.EndShipper": {"tf": 1}, "easypost.models.event.Event": {"tf": 1}, "easypost.models.insurance.Insurance": {"tf": 1}, "easypost.models.order.Order": {"tf": 1}, "easypost.models.parcel.Parcel": {"tf": 1}, "easypost.models.payload.Payload": {"tf": 1}, "easypost.models.pickup.Pickup": {"tf": 1}, "easypost.models.pickup_rate.PickupRate": {"tf": 1}, "easypost.models.postage_label.PostageLabel": {"tf": 1}, "easypost.models.rate.Rate": {"tf": 1}, "easypost.models.refund.Refund": {"tf": 1}, "easypost.models.report.Report": {"tf": 1}, "easypost.models.scan_form.ScanForm": {"tf": 1}, "easypost.models.shipment.Shipment": {"tf": 1}, "easypost.models.tracker.Tracker": {"tf": 1}, "easypost.models.user.User": {"tf": 1}, "easypost.models.webhook.Webhook": {"tf": 1}}, "df": 26}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}}, "df": 25, "s": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}}, "df": 25}}}}}, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}}, "df": 2, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}}, "df": 2}}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}}, "df": 7}}}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1.4142135623730951}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1.4142135623730951}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1.4142135623730951}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1.4142135623730951}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1.4142135623730951}, "easypost.errors.api.http_error.HttpError": {"tf": 1.4142135623730951}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1.4142135623730951}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1.4142135623730951}, "easypost.errors.api.json_error.JsonError": {"tf": 1.4142135623730951}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1.4142135623730951}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1.4142135623730951}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1.4142135623730951}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1.4142135623730951}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1.4142135623730951}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1.4142135623730951}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1.4142135623730951}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1.4142135623730951}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1.4142135623730951}}, "df": 18, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}}, "df": 18}}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 31, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 31}}}}}}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}}, "df": 2, "s": {"docs": {"easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.models.address.Address": {"tf": 1}, "easypost.models.api_key.ApiKey": {"tf": 1}, "easypost.models.batch.Batch": {"tf": 1}, "easypost.models.billing.Billing": {"tf": 1}, "easypost.models.brand.Brand": {"tf": 1}, "easypost.models.carrier_account.CarrierAccount": {"tf": 1}, "easypost.models.claim.Claim": {"tf": 1}, "easypost.models.customs_info.CustomsInfo": {"tf": 1}, "easypost.models.customs_item.CustomsItem": {"tf": 1}, "easypost.models.end_shipper.EndShipper": {"tf": 1}, "easypost.models.event.Event": {"tf": 1}, "easypost.models.insurance.Insurance": {"tf": 1}, "easypost.models.order.Order": {"tf": 1}, "easypost.models.parcel.Parcel": {"tf": 1}, "easypost.models.payload.Payload": {"tf": 1}, "easypost.models.pickup.Pickup": {"tf": 1}, "easypost.models.pickup_rate.PickupRate": {"tf": 1}, "easypost.models.postage_label.PostageLabel": {"tf": 1}, "easypost.models.rate.Rate": {"tf": 1}, "easypost.models.refund.Refund": {"tf": 1}, "easypost.models.report.Report": {"tf": 1}, "easypost.models.scan_form.ScanForm": {"tf": 1}, "easypost.models.shipment.Shipment": {"tf": 1}, "easypost.models.tracker.Tracker": {"tf": 1}, "easypost.models.user.User": {"tf": 1}, "easypost.models.webhook.Webhook": {"tf": 1}}, "df": 26}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 31, "s": {"docs": {"easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 31}}}}}}}}}}, "doc": {"root": {"docs": {"easypost": {"tf": 1.7320508075688772}, "easypost.version_info": {"tf": 1.7320508075688772}, "easypost.constant": {"tf": 1.7320508075688772}, "easypost.constant.VERSION": {"tf": 1.7320508075688772}, "easypost.constant.VERSION_INFO": {"tf": 1.7320508075688772}, "easypost.constant.API_BASE": {"tf": 1.7320508075688772}, "easypost.constant.API_VERSION": {"tf": 1.7320508075688772}, "easypost.constant.AUTHOR": {"tf": 1.7320508075688772}, "easypost.constant.SUPPORT_EMAIL": {"tf": 1.7320508075688772}, "easypost.constant.TIMEOUT": {"tf": 1.7320508075688772}, "easypost.constant.COMMUNICATION_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_DELIVER_ACCURACY_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_PAYMENT_METHOD_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_REQUEST_LIB_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_REQUEST_METHOD_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_REQUEST_PARAMETERS_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_REQUESTS_VERSION_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_RESPONSE_BODY_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_SIGNATURE_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.INVALID_WEBHOOK_VALIDATION_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.MISSING_PARAMETER_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.NO_ATTRIBUTE_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.NO_BILLING_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.NO_MORE_PAGES_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.NO_RATES_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.NO_USER_FOUND": {"tf": 1.7320508075688772}, "easypost.constant.SEND_STRIPE_DETAILS_ERROR": {"tf": 1.7320508075688772}, "easypost.constant.TIMEOUT_ERROR": {"tf": 1.7320508075688772}, "easypost.easypost_client": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.__init__": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.api_key": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.api_base": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.timeout": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.address": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.api_keys": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.batch": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.beta_rate": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.beta_referral_customer": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.billing": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.carrier_account": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.carrier_metadata": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.claim": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.customer_portal": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.customs_info": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.customs_item": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.embeddable": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.end_shipper": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.event": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.fedex_registration": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.insurance": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.luma": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.order": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.parcel": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.rate": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.pickup": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.referral_customer": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.refund": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.report": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.scan_form": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.shipment": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.smart_rate": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.tracker": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.user": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.webhook": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1.7320508075688772}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 2.449489742783178}, "easypost.easypost_object": {"tf": 1.7320508075688772}, "easypost.easypost_object.EASYPOST_OBJECT_ID_PREFIX_TO_CLASS_NAME_MAP": {"tf": 1.7320508075688772}, "easypost.easypost_object.OBJECT_CLASS_NAME_OVERRIDES": {"tf": 1.7320508075688772}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.__init__": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.get": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.setdefault": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.keys": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.values": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 8.426149773176359}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1.7320508075688772}, "easypost.errors": {"tf": 1.7320508075688772}, "easypost.errors.api": {"tf": 1.7320508075688772}, "easypost.errors.api.api_error": {"tf": 1.7320508075688772}, "easypost.errors.api.api_error.ApiError": {"tf": 1.7320508075688772}, "easypost.errors.api.api_error.ApiError.__init__": {"tf": 1.7320508075688772}, "easypost.errors.api.api_error.ApiError.message": {"tf": 1.7320508075688772}, "easypost.errors.api.api_error.ApiError.errors": {"tf": 1.7320508075688772}, "easypost.errors.api.api_error.ApiError.code": {"tf": 1.7320508075688772}, "easypost.errors.api.api_error.ApiError.http_status": {"tf": 1.7320508075688772}, "easypost.errors.api.api_error.ApiError.http_body": {"tf": 1.7320508075688772}, "easypost.errors.api.bad_request_error": {"tf": 1.7320508075688772}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1.7320508075688772}, "easypost.errors.api.encoding_error": {"tf": 1.7320508075688772}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1.7320508075688772}, "easypost.errors.api.external_api_error": {"tf": 1.7320508075688772}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1.7320508075688772}, "easypost.errors.api.forbidden_error": {"tf": 1.7320508075688772}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1.7320508075688772}, "easypost.errors.api.gateway_timeout_error": {"tf": 1.7320508075688772}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1.7320508075688772}, "easypost.errors.api.http_error": {"tf": 1.7320508075688772}, "easypost.errors.api.http_error.HttpError": {"tf": 1.7320508075688772}, "easypost.errors.api.internal_server_error": {"tf": 1.7320508075688772}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1.7320508075688772}, "easypost.errors.api.invalid_request_error": {"tf": 1.7320508075688772}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1.7320508075688772}, "easypost.errors.api.json_error": {"tf": 1.7320508075688772}, "easypost.errors.api.json_error.JsonError": {"tf": 1.7320508075688772}, "easypost.errors.api.method_not_allowed_error": {"tf": 1.7320508075688772}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1.7320508075688772}, "easypost.errors.api.not_found_error": {"tf": 1.7320508075688772}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1.7320508075688772}, "easypost.errors.api.payment_error": {"tf": 1.7320508075688772}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1.7320508075688772}, "easypost.errors.api.rate_limit_error": {"tf": 1.7320508075688772}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1.7320508075688772}, "easypost.errors.api.redirect_error": {"tf": 1.7320508075688772}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1.7320508075688772}, "easypost.errors.api.service_unavailable_error": {"tf": 1.7320508075688772}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1.7320508075688772}, "easypost.errors.api.timeout_error": {"tf": 1.7320508075688772}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1.7320508075688772}, "easypost.errors.api.unauthorized_error": {"tf": 1.7320508075688772}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1.7320508075688772}, "easypost.errors.api.unknown_api_error": {"tf": 1.7320508075688772}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1.7320508075688772}, "easypost.errors.general": {"tf": 1.7320508075688772}, "easypost.errors.general.easypost_error": {"tf": 1.7320508075688772}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1.7320508075688772}, "easypost.errors.general.easypost_error.EasyPostError.__init__": {"tf": 1.7320508075688772}, "easypost.errors.general.easypost_error.EasyPostError.message": {"tf": 1.7320508075688772}, "easypost.errors.general.end_of_pagination_error": {"tf": 1.7320508075688772}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1.7320508075688772}, "easypost.errors.general.filtering_error": {"tf": 1.7320508075688772}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1.7320508075688772}, "easypost.errors.general.invalid_object_error": {"tf": 1.7320508075688772}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1.7320508075688772}, "easypost.errors.general.invalid_parameter_error": {"tf": 1.7320508075688772}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1.7320508075688772}, "easypost.errors.general.missing_parameter_error": {"tf": 1.7320508075688772}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1.7320508075688772}, "easypost.errors.general.signature_verification_error": {"tf": 1.7320508075688772}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1.7320508075688772}, "easypost.hooks": {"tf": 1.7320508075688772}, "easypost.hooks.event_hook": {"tf": 1.7320508075688772}, "easypost.hooks.event_hook.EventHook": {"tf": 1.7320508075688772}, "easypost.hooks.request_hook": {"tf": 1.7320508075688772}, "easypost.hooks.request_hook.RequestHook": {"tf": 1.7320508075688772}, "easypost.hooks.response_hook": {"tf": 1.7320508075688772}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1.7320508075688772}, "easypost.models": {"tf": 1.7320508075688772}, "easypost.models.address": {"tf": 1.7320508075688772}, "easypost.models.address.Address": {"tf": 1.7320508075688772}, "easypost.models.api_key": {"tf": 1.7320508075688772}, "easypost.models.api_key.ApiKey": {"tf": 1.7320508075688772}, "easypost.models.batch": {"tf": 1.7320508075688772}, "easypost.models.batch.Batch": {"tf": 1.7320508075688772}, "easypost.models.billing": {"tf": 1.7320508075688772}, "easypost.models.billing.Billing": {"tf": 1.7320508075688772}, "easypost.models.brand": {"tf": 1.7320508075688772}, "easypost.models.brand.Brand": {"tf": 1.7320508075688772}, "easypost.models.carrier_account": {"tf": 1.7320508075688772}, "easypost.models.carrier_account.CarrierAccount": {"tf": 1.7320508075688772}, "easypost.models.claim": {"tf": 1.7320508075688772}, "easypost.models.claim.Claim": {"tf": 1.7320508075688772}, "easypost.models.customs_info": {"tf": 1.7320508075688772}, "easypost.models.customs_info.CustomsInfo": {"tf": 1.7320508075688772}, "easypost.models.customs_item": {"tf": 1.7320508075688772}, "easypost.models.customs_item.CustomsItem": {"tf": 1.7320508075688772}, "easypost.models.end_shipper": {"tf": 1.7320508075688772}, "easypost.models.end_shipper.EndShipper": {"tf": 1.7320508075688772}, "easypost.models.event": {"tf": 1.7320508075688772}, "easypost.models.event.Event": {"tf": 1.7320508075688772}, "easypost.models.insurance": {"tf": 1.7320508075688772}, "easypost.models.insurance.Insurance": {"tf": 1.7320508075688772}, "easypost.models.order": {"tf": 1.7320508075688772}, "easypost.models.order.Order": {"tf": 1.7320508075688772}, "easypost.models.order.Order.lowest_rate": {"tf": 1.7320508075688772}, "easypost.models.parcel": {"tf": 1.7320508075688772}, "easypost.models.parcel.Parcel": {"tf": 1.7320508075688772}, "easypost.models.payload": {"tf": 1.7320508075688772}, "easypost.models.payload.Payload": {"tf": 1.7320508075688772}, "easypost.models.pickup": {"tf": 1.7320508075688772}, "easypost.models.pickup.Pickup": {"tf": 1.7320508075688772}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1.7320508075688772}, "easypost.models.pickup_rate": {"tf": 1.7320508075688772}, "easypost.models.pickup_rate.PickupRate": {"tf": 1.7320508075688772}, "easypost.models.postage_label": {"tf": 1.7320508075688772}, "easypost.models.postage_label.PostageLabel": {"tf": 1.7320508075688772}, "easypost.models.rate": {"tf": 1.7320508075688772}, "easypost.models.rate.Rate": {"tf": 1.7320508075688772}, "easypost.models.refund": {"tf": 1.7320508075688772}, "easypost.models.refund.Refund": {"tf": 1.7320508075688772}, "easypost.models.report": {"tf": 1.7320508075688772}, "easypost.models.report.Report": {"tf": 1.7320508075688772}, "easypost.models.scan_form": {"tf": 1.7320508075688772}, "easypost.models.scan_form.ScanForm": {"tf": 1.7320508075688772}, "easypost.models.shipment": {"tf": 1.7320508075688772}, "easypost.models.shipment.Shipment": {"tf": 1.7320508075688772}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1.7320508075688772}, "easypost.models.tracker": {"tf": 1.7320508075688772}, "easypost.models.tracker.Tracker": {"tf": 1.7320508075688772}, "easypost.models.user": {"tf": 1.7320508075688772}, "easypost.models.user.User": {"tf": 1.7320508075688772}, "easypost.models.webhook": {"tf": 1.7320508075688772}, "easypost.models.webhook.Webhook": {"tf": 1.7320508075688772}, "easypost.requestor": {"tf": 1.7320508075688772}, "easypost.requestor.STATUS_CODE_TO_ERROR_MAPPING": {"tf": 1.7320508075688772}, "easypost.requestor.RequestMethod": {"tf": 1.7320508075688772}, "easypost.requestor.RequestMethod.GET": {"tf": 1.7320508075688772}, "easypost.requestor.RequestMethod.POST": {"tf": 1.7320508075688772}, "easypost.requestor.RequestMethod.PUT": {"tf": 1.7320508075688772}, "easypost.requestor.RequestMethod.PATCH": {"tf": 1.7320508075688772}, "easypost.requestor.RequestMethod.DELETE": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.__init__": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.request": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.request_raw": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.interpret_response": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.requests_request": {"tf": 2.23606797749979}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 2.23606797749979}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1.7320508075688772}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1.7320508075688772}, "easypost.services": {"tf": 1.7320508075688772}, "easypost.services.address_service": {"tf": 1.7320508075688772}, "easypost.services.address_service.AddressService": {"tf": 1.7320508075688772}, "easypost.services.address_service.AddressService.__init__": {"tf": 1.7320508075688772}, "easypost.services.address_service.AddressService.create": {"tf": 1.7320508075688772}, "easypost.services.address_service.AddressService.all": {"tf": 1.7320508075688772}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1.7320508075688772}, "easypost.services.address_service.AddressService.verify": {"tf": 1.7320508075688772}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.api_key_service": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService.__init__": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1.7320508075688772}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1.7320508075688772}, "easypost.services.base_service": {"tf": 1.7320508075688772}, "easypost.services.base_service.BaseService": {"tf": 1.7320508075688772}, "easypost.services.base_service.BaseService.__init__": {"tf": 1.7320508075688772}, "easypost.services.batch_service": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService.__init__": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService.create": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService.all": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService.buy": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService.label": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1.7320508075688772}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 2.449489742783178}, "easypost.services.beta_rate_service": {"tf": 1.7320508075688772}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1.7320508075688772}, "easypost.services.beta_rate_service.BetaRateService.__init__": {"tf": 1.7320508075688772}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1.7320508075688772}, "easypost.services.beta_referral_customer_service": {"tf": 1.7320508075688772}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1.7320508075688772}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 3.1622776601683795}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1.7320508075688772}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1.7320508075688772}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1.7320508075688772}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1.7320508075688772}, "easypost.services.billing_service": {"tf": 1.7320508075688772}, "easypost.services.billing_service.BillingService": {"tf": 1.7320508075688772}, "easypost.services.billing_service.BillingService.__init__": {"tf": 1.7320508075688772}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1.7320508075688772}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1.7320508075688772}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1.7320508075688772}, "easypost.services.carrier_account_service": {"tf": 1.7320508075688772}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1.7320508075688772}, "easypost.services.carrier_account_service.CarrierAccountService.__init__": {"tf": 1.7320508075688772}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1.7320508075688772}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1.7320508075688772}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1.7320508075688772}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1.7320508075688772}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1.7320508075688772}, "easypost.services.carrier_metadata_service": {"tf": 1.7320508075688772}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1.7320508075688772}, "easypost.services.carrier_metadata_service.CarrierMetadataService.__init__": {"tf": 1.7320508075688772}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.claim_service": {"tf": 1.7320508075688772}, "easypost.services.claim_service.ClaimService": {"tf": 1.7320508075688772}, "easypost.services.claim_service.ClaimService.__init__": {"tf": 1.7320508075688772}, "easypost.services.claim_service.ClaimService.create": {"tf": 1.7320508075688772}, "easypost.services.claim_service.ClaimService.all": {"tf": 1.7320508075688772}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1.7320508075688772}, "easypost.services.customer_portal_service": {"tf": 1.7320508075688772}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1.7320508075688772}, "easypost.services.customer_portal_service.CustomerPortalService.__init__": {"tf": 1.7320508075688772}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1.7320508075688772}, "easypost.services.customs_info_service": {"tf": 1.7320508075688772}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1.7320508075688772}, "easypost.services.customs_info_service.CustomsInfoService.__init__": {"tf": 1.7320508075688772}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1.7320508075688772}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.customs_item_service": {"tf": 1.7320508075688772}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1.7320508075688772}, "easypost.services.customs_item_service.CustomsItemService.__init__": {"tf": 1.7320508075688772}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1.7320508075688772}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.embeddable_service": {"tf": 1.7320508075688772}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1.7320508075688772}, "easypost.services.embeddable_service.EmbeddableService.__init__": {"tf": 1.7320508075688772}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1.7320508075688772}, "easypost.services.end_shipper_service": {"tf": 1.7320508075688772}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1.7320508075688772}, "easypost.services.end_shipper_service.EndShipperService.__init__": {"tf": 1.7320508075688772}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1.7320508075688772}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1.7320508075688772}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 2.449489742783178}, "easypost.services.event_service": {"tf": 1.7320508075688772}, "easypost.services.event_service.EventService": {"tf": 1.7320508075688772}, "easypost.services.event_service.EventService.__init__": {"tf": 1.7320508075688772}, "easypost.services.event_service.EventService.create": {"tf": 1.7320508075688772}, "easypost.services.event_service.EventService.all": {"tf": 1.7320508075688772}, "easypost.services.event_service.EventService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1.7320508075688772}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1.7320508075688772}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service.FedExRegistrationService.__init__": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1.7320508075688772}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1.7320508075688772}, "easypost.services.insurance_service": {"tf": 1.7320508075688772}, "easypost.services.insurance_service.InsuranceService": {"tf": 1.7320508075688772}, "easypost.services.insurance_service.InsuranceService.__init__": {"tf": 1.7320508075688772}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1.7320508075688772}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1.7320508075688772}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.insurance_service.InsuranceService.refund": {"tf": 1.7320508075688772}, "easypost.services.luma_service": {"tf": 1.7320508075688772}, "easypost.services.luma_service.LumaService": {"tf": 1.7320508075688772}, "easypost.services.luma_service.LumaService.__init__": {"tf": 1.7320508075688772}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1.7320508075688772}, "easypost.services.order_service": {"tf": 1.7320508075688772}, "easypost.services.order_service.OrderService": {"tf": 1.7320508075688772}, "easypost.services.order_service.OrderService.__init__": {"tf": 1.7320508075688772}, "easypost.services.order_service.OrderService.create": {"tf": 1.7320508075688772}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1.7320508075688772}, "easypost.services.order_service.OrderService.buy": {"tf": 1.7320508075688772}, "easypost.services.parcel_service": {"tf": 1.7320508075688772}, "easypost.services.parcel_service.ParcelService": {"tf": 1.7320508075688772}, "easypost.services.parcel_service.ParcelService.__init__": {"tf": 1.7320508075688772}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1.7320508075688772}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.pickup_service": {"tf": 1.7320508075688772}, "easypost.services.pickup_service.PickupService": {"tf": 1.7320508075688772}, "easypost.services.pickup_service.PickupService.__init__": {"tf": 1.7320508075688772}, "easypost.services.pickup_service.PickupService.create": {"tf": 1.7320508075688772}, "easypost.services.pickup_service.PickupService.all": {"tf": 1.7320508075688772}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1.7320508075688772}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1.7320508075688772}, "easypost.services.rate_service": {"tf": 1.7320508075688772}, "easypost.services.rate_service.RateService": {"tf": 1.7320508075688772}, "easypost.services.rate_service.RateService.__init__": {"tf": 1.7320508075688772}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service.ReferralCustomerService.__init__": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 2.449489742783178}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 2.449489742783178}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 2.449489742783178}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 2.449489742783178}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 2.449489742783178}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1.7320508075688772}, "easypost.services.refund_service": {"tf": 1.7320508075688772}, "easypost.services.refund_service.RefundService": {"tf": 1.7320508075688772}, "easypost.services.refund_service.RefundService.__init__": {"tf": 1.7320508075688772}, "easypost.services.refund_service.RefundService.create": {"tf": 1.7320508075688772}, "easypost.services.refund_service.RefundService.all": {"tf": 1.7320508075688772}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.report_service": {"tf": 1.7320508075688772}, "easypost.services.report_service.ReportService": {"tf": 1.7320508075688772}, "easypost.services.report_service.ReportService.__init__": {"tf": 1.7320508075688772}, "easypost.services.report_service.ReportService.create": {"tf": 1.7320508075688772}, "easypost.services.report_service.ReportService.all": {"tf": 1.7320508075688772}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.scan_form_service": {"tf": 1.7320508075688772}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1.7320508075688772}, "easypost.services.scan_form_service.ScanFormService.__init__": {"tf": 1.7320508075688772}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1.7320508075688772}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1.7320508075688772}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.shipment_service": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.__init__": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1.7320508075688772}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1.7320508075688772}, "easypost.services.smartrate_service": {"tf": 1.7320508075688772}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1.7320508075688772}, "easypost.services.smartrate_service.SmartRateService.__init__": {"tf": 1.7320508075688772}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1.7320508075688772}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1.7320508075688772}, "easypost.services.tracker_service": {"tf": 1.7320508075688772}, "easypost.services.tracker_service.TrackerService": {"tf": 1.7320508075688772}, "easypost.services.tracker_service.TrackerService.__init__": {"tf": 1.7320508075688772}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1.7320508075688772}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1.7320508075688772}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1.7320508075688772}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1.7320508075688772}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1.7320508075688772}, "easypost.services.user_service": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.__init__": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.create": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.all": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.retrieve": {"tf": 2.449489742783178}, "easypost.services.user_service.UserService.update": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.delete": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.update_brand": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.all_children": {"tf": 1.7320508075688772}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1.7320508075688772}, "easypost.services.webhook_service": {"tf": 1.7320508075688772}, "easypost.services.webhook_service.WebhookService": {"tf": 1.7320508075688772}, "easypost.services.webhook_service.WebhookService.__init__": {"tf": 1.7320508075688772}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1.7320508075688772}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1.7320508075688772}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1.7320508075688772}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1.7320508075688772}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1.7320508075688772}, "easypost.util": {"tf": 1.7320508075688772}, "easypost.util.get_lowest_object_rate": {"tf": 1.7320508075688772}, "easypost.util.get_lowest_smart_rate": {"tf": 1.7320508075688772}, "easypost.util.get_lowest_stateless_rate": {"tf": 1.7320508075688772}, "easypost.util.receive_event": {"tf": 1.7320508075688772}, "easypost.util.validate_webhook": {"tf": 2.23606797749979}}, "df": 471, "a": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}, "easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1.4142135623730951}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1.4142135623730951}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1.7320508075688772}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1.4142135623730951}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1.4142135623730951}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.receive_event": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 119, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}}, "df": 1, "d": {"docs": {"easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}}, "df": 3}}}}}}}}}}}}, "n": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1.4142135623730951}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1.4142135623730951}, "easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1.4142135623730951}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 31, "d": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.util.receive_event": {"tf": 1}}, "df": 9}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 62}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.address_service.AddressService.verify": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 2}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1.4142135623730951}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}}, "df": 42}}, "r": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 5, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 3}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 7}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 4}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.cancel": {"tf": 1}}, "df": 4, "s": {"docs": {"easypost.services.claim_service.ClaimService.all": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}}, "df": 6, "s": {"docs": {"easypost.util.receive_event": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 32}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2}}}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}}, "df": 1}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}}, "df": 4, "s": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}}, "df": 2}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}}, "df": 4, "s": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}}, "df": 2}}}}}}}}, "s": {"docs": {"easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.claim_service.ClaimService.cancel": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}}, "df": 2}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}}, "df": 7, "s": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {"easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}}, "df": 2}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}}, "df": 2}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.create": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.create": {"tf": 1}, "easypost.services.claim_service.ClaimService.create": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.create": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.create": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.create": {"tf": 1}}, "df": 27, "d": {"docs": {"easypost.services.address_service.AddressService.verify": {"tf": 1}}, "df": 1}, "s": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 2}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {"easypost.services.luma_service.LumaService.get_promise": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}}, "df": 5, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}}, "df": 6, "s": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.hooks.event_hook.EventHook": {"tf": 1}}, "df": 5}}}}}, "n": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1.4142135623730951}}, "df": 6, "e": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}}, "df": 3}}, "f": {"docs": {"easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}}, "df": 47}, "r": {"docs": {"easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 10, "g": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.order_service.OrderService.create": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}}, "df": 7}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 40, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 3, "d": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 3}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}}, "r": {"docs": {"easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1.4142135623730951}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.user_service.UserService.create": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}}, "df": 17, "s": {"docs": {"easypost.services.user_service.UserService.all": {"tf": 1}}, "df": 1}}, "s": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}}, "df": 2}}}}}}}}}}, "r": {"docs": {}, "df": 0, "l": {"docs": {"easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.requestor.Requestor.urlfetch_request": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.carrier_account_service.CarrierAccountService.update": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.user_service.UserService.update": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}}, "df": 6}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1.4142135623730951}, "easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1.4142135623730951}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.7320508075688772}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}, "easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.util.receive_event": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 26}, "h": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 2.23606797749979}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1.4142135623730951}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1.4142135623730951}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1.4142135623730951}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1.4142135623730951}, "easypost.services.webhook_service.WebhookService": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 2.449489742783178}}, "df": 109, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 13}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 45}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}}, "df": 19}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}}, "df": 2}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}}, "df": 3}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.tracker_service.TrackerService.create": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}}, "df": 4, "s": {"docs": {"easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}}, "df": 2}}}}}}}}, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.hooks.event_hook.EventHook": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.requestor.Requestor.handle_api_error": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1.7320508075688772}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1.4142135623730951}}, "df": 39, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}}, "df": 4}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 4}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.end_shipper_service.EndShipperService.create": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}}, "df": 2, "r": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}}, "df": 1}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 27, "s": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}}, "df": 27}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}, "easypost.services.event_service.EventService.create": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.util.receive_event": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 9, "s": {"docs": {"easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}}, "df": 2}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 2}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}}, "df": 2}}}}}}}}}, "s": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}, "easypost.services.user_service.UserService.update_brand": {"tf": 1}}, "df": 9, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}}, "df": 2}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}, "s": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.util.get_lowest_object_rate": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 36, "s": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 33}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 3, "s": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService.create_session": {"tf": 1}}, "df": 2}}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}}, "df": 20, "s": {"docs": {"easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}}, "df": 3}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 33}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 2}}, "p": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 2.23606797749979}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 5}}}, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 2}}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.create": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}}, "df": 4, "s": {"docs": {"easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1, "s": {"docs": {"easypost.util.validate_webhook": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 3}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}}, "df": 3, "s": {"docs": {"easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}}, "df": 2}}}}}}}}}}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 7, "s": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}}, "df": 4}}}}}}, "d": {"docs": {"easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1.4142135623730951}}, "df": 19}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1.4142135623730951}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}, "easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 40, "m": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.shipment_service.ShipmentService.label": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 4}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}}, "df": 2, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.luma_service.LumaService.get_promise": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1.4142135623730951}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}}, "df": 8}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.requestor.Requestor.request_raw": {"tf": 1}}, "df": 1}, "s": {"docs": {"easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 6}}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.easypost_object.convert_to_easypost_object": {"tf": 1}, "easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}, "easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 17}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}, "easypost.requestor.Requestor.handle_api_error": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 4}}, "s": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.retrieve": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.retrieve": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService.retrieve": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService.retrieve": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.order_service.OrderService.retrieve": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.retrieve": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1.4142135623730951}, "easypost.services.user_service.UserService.retrieve_me": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}}, "df": 60, "s": {"docs": {"easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 3}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.luma_service.LumaService.get_promise": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"easypost.requestor.Requestor.interpret_response": {"tf": 1}}, "df": 1, "s": {"docs": {"easypost.util.receive_event": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}}, "df": 8, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1.4142135623730951}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1.4142135623730951}}, "df": 4}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1.4142135623730951}, "easypost.services.refund_service.RefundService.create": {"tf": 1}, "easypost.services.refund_service.RefundService.retrieve": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.refund": {"tf": 1}}, "df": 6, "s": {"docs": {"easypost.services.refund_service.RefundService.all": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.report_service.ReportService.create": {"tf": 1}, "easypost.services.report_service.ReportService.retrieve": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}}, "df": 3, "s": {"docs": {"easypost.services.report_service.ReportService.all": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1, "d": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.rate_service.RateService.retrieve": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 7, "s": {"docs": {"easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.regenerate_rates": {"tf": 1}}, "df": 3}}}, "w": {"docs": {"easypost.util.receive_event": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_client.EasyPostClient.subscribe_to_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_request_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.subscribe_to_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.unsubscribe_from_response_hook": {"tf": 1}, "easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}}, "df": 10}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_credit_card_client_secret": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}}, "df": 7}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1.4142135623730951}}, "df": 2}}}, "e": {"docs": {"easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 2, "b": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {"easypost.services.webhook_service.WebhookService.create": {"tf": 1}, "easypost.services.webhook_service.WebhookService.retrieve": {"tf": 1}, "easypost.services.webhook_service.WebhookService.update": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}, "easypost.util.receive_event": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1.4142135623730951}}, "df": 6, "s": {"docs": {"easypost.services.webhook_service.WebhookService.all": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 3}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.requestor.Requestor.request": {"tf": 1}, "easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}}, "df": 5}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.util.validate_webhook": {"tf": 1.7320508075688772}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 2}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}}, "df": 5, "s": {"docs": {"easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.luma_service.LumaService.get_promise": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.customer_portal_service.CustomerPortalService.create_account_link": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}}, "df": 1}}}}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.hooks.event_hook.EventHook": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"easypost.requestor.Requestor.encode_url_params": {"tf": 1}, "easypost.requestor.Requestor.add_params_to_url": {"tf": 1}}, "df": 2}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.parcel_service.ParcelService.create": {"tf": 1}, "easypost.services.parcel_service.ParcelService.retrieve": {"tf": 1}}, "df": 2}}}, "t": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}}, "df": 3}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 13, "s": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.user_service.UserService.all_children": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.user_service.UserService.retrieve": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 2}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.billing_service.BillingService.retrieve_payment_methods": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}}, "df": 6}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.event_service.EventService.retrieve_payload": {"tf": 1}}, "df": 1, "s": {"docs": {"easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {"easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.services.pickup_service.PickupService.create": {"tf": 1}, "easypost.services.pickup_service.PickupService.retrieve": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.cancel": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}}, "df": 7, "s": {"docs": {"easypost.services.pickup_service.PickupService.all": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.generate_form": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {"easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.types": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService.retrieve": {"tf": 1}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.order_service.OrderService.get_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_smart_rates": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 12, "s": {"docs": {"easypost.hooks.request_hook.RequestHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}}, "df": 3, "t": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1.4142135623730951}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"easypost.requestor.Requestor.request_raw": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.requestor.Requestor.interpret_response": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {"easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.insurance_service.InsuranceService.create": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.retrieve": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}}, "df": 3, "s": {"docs": {"easypost.services.insurance_service.InsuranceService.all": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.insure": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 39}}}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.submit_invoice": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.hooks.event_hook.EventHook": {"tf": 1}, "easypost.hooks.response_hook.ResponseHook": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}}, "df": 5, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "t": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.util.receive_event": {"tf": 1}}, "df": 4}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "f": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1.4142135623730951}}, "df": 3}, "d": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.user_service.UserService.retrieve": {"tf": 1}}, "df": 4, "s": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {"easypost.services.user_service.UserService.retrieve": {"tf": 1}}, "df": 1, "t": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1.7320508075688772}}, "df": 3, "e": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.get_next_page": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}}, "df": 13}}}}, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1.7320508075688772}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1.4142135623730951}, "easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 5}}}}, "b": {"docs": {}, "df": 0, "y": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_amount": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}, "easypost.services.billing_service.BillingService.fund_wallet": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 13}, "e": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.update": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1.4142135623730951}}, "df": 4, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"easypost.hooks.request_hook.RequestHook": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.errors.general.easypost_error.EasyPostError": {"tf": 1}, "easypost.errors.general.end_of_pagination_error.EndOfPaginationError": {"tf": 1}, "easypost.errors.general.filtering_error.FilteringError": {"tf": 1}, "easypost.errors.general.invalid_object_error.InvalidObjectError": {"tf": 1}, "easypost.errors.general.invalid_parameter_error.InvalidParameterError": {"tf": 1}, "easypost.errors.general.missing_parameter_error.MissingParameterError": {"tf": 1}, "easypost.errors.general.signature_verification_error.SignatureVerificationError": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 58, "d": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 3}}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"easypost.services.batch_service.BatchService.create": {"tf": 1}, "easypost.services.batch_service.BatchService.retrieve": {"tf": 1}, "easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.batch_service.BatchService.remove_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.add_shipments": {"tf": 1}, "easypost.services.batch_service.BatchService.create_scan_form": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.tracker_service.TrackerService.retrieve_batch": {"tf": 1}}, "df": 9, "e": {"docs": {}, "df": 0, "s": {"docs": {"easypost.services.batch_service.BatchService.all": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "k": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.create_bank_account_client_secret": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"easypost.requestor.Requestor.interpret_response": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.add_payment_method": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.batch_service.BatchService.buy": {"tf": 1}, "easypost.services.order_service.OrderService.buy": {"tf": 1}, "easypost.services.pickup_service.PickupService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}}, "df": 6}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.register_address": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.user_service.UserService.update_brand": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.requestor.Requestor.requests_request": {"tf": 1}, "easypost.requestor.Requestor.urlfetch_request": {"tf": 1}}, "df": 3}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.services.address_service.AddressService.all": {"tf": 1}, "easypost.services.address_service.AddressService.get_next_page": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.all": {"tf": 1}, "easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.all": {"tf": 1}, "easypost.services.claim_service.ClaimService.get_next_page": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService.all": {"tf": 1}, "easypost.services.event_service.EventService.all": {"tf": 1}, "easypost.services.event_service.EventService.retrieve_all_payloads": {"tf": 1}, "easypost.services.event_service.EventService.get_next_page": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.all": {"tf": 1}, "easypost.services.insurance_service.InsuranceService.get_next_page": {"tf": 1}, "easypost.services.pickup_service.PickupService.all": {"tf": 1}, "easypost.services.pickup_service.PickupService.get_next_page": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.all": {"tf": 1}, "easypost.services.refund_service.RefundService.get_next_page": {"tf": 1}, "easypost.services.report_service.ReportService.all": {"tf": 1}, "easypost.services.report_service.ReportService.get_next_page": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.all": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService.get_next_page": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.all": {"tf": 1}, "easypost.services.tracker_service.TrackerService.get_next_page": {"tf": 1}, "easypost.services.user_service.UserService.all": {"tf": 1}, "easypost.services.user_service.UserService.all_children": {"tf": 1}, "easypost.services.user_service.UserService.get_next_page_of_children": {"tf": 1}, "easypost.services.webhook_service.WebhookService.all": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}}, "df": 33}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 3}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"easypost.models.order.Order.lowest_rate": {"tf": 1}, "easypost.models.pickup.Pickup.lowest_rate": {"tf": 1}, "easypost.models.shipment.Shipment.lowest_rate": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_object_rate": {"tf": 1}, "easypost.util.get_lowest_smart_rate": {"tf": 1}, "easypost.util.get_lowest_stateless_rate": {"tf": 1}}, "df": 7}}}}, "g": {"docs": {"easypost.services.beta_referral_customer_service.BetaReferralCustomerService.refund_by_payment_log": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "c": {"docs": {"easypost.requestor.Requestor.request_raw": {"tf": 1}, "easypost.services.address_service.AddressService": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService": {"tf": 1}, "easypost.services.base_service.BaseService": {"tf": 1}, "easypost.services.batch_service.BatchService": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService": {"tf": 1}, "easypost.services.beta_referral_customer_service.BetaReferralCustomerService": {"tf": 1}, "easypost.services.billing_service.BillingService": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService": {"tf": 1}, "easypost.services.carrier_metadata_service.CarrierMetadataService": {"tf": 1}, "easypost.services.claim_service.ClaimService": {"tf": 1}, "easypost.services.customer_portal_service.CustomerPortalService": {"tf": 1}, "easypost.services.customs_info_service.CustomsInfoService": {"tf": 1}, "easypost.services.customs_item_service.CustomsItemService": {"tf": 1}, "easypost.services.embeddable_service.EmbeddableService": {"tf": 1}, "easypost.services.end_shipper_service.EndShipperService": {"tf": 1}, "easypost.services.event_service.EventService": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService": {"tf": 1}, "easypost.services.insurance_service.InsuranceService": {"tf": 1}, "easypost.services.luma_service.LumaService": {"tf": 1}, "easypost.services.order_service.OrderService": {"tf": 1}, "easypost.services.parcel_service.ParcelService": {"tf": 1}, "easypost.services.pickup_service.PickupService": {"tf": 1}, "easypost.services.rate_service.RateService": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService": {"tf": 1}, "easypost.services.refund_service.RefundService": {"tf": 1}, "easypost.services.report_service.ReportService": {"tf": 1}, "easypost.services.scan_form_service.ScanFormService": {"tf": 1}, "easypost.services.shipment_service.ShipmentService": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService": {"tf": 1}, "easypost.services.tracker_service.TrackerService": {"tf": 1}, "easypost.services.user_service.UserService": {"tf": 1}, "easypost.services.webhook_service.WebhookService": {"tf": 1}}, "df": 33}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1.4142135623730951}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"easypost.services.batch_service.BatchService.label": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.label": {"tf": 1}}, "df": 2}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"easypost.services.luma_service.LumaService.get_promise": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.create_and_buy_luma": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.buy_luma": {"tf": 1}}, "df": 3}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"easypost.easypost_client.EasyPostClient.make_api_call": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.billing_service.BillingService.delete_payment_method": {"tf": 1}, "easypost.services.carrier_account_service.CarrierAccountService.delete": {"tf": 1}, "easypost.services.tracker_service.TrackerService.delete": {"tf": 1}, "easypost.services.user_service.UserService.delete": {"tf": 1}, "easypost.services.webhook_service.WebhookService.delete": {"tf": 1}}, "df": 6}}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2, "y": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 4}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 2}}}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"easypost.easypost_object.EasyPostObject.to_dict": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder.default": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"easypost.requestor.Requestor.form_encode_params": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {"easypost.util.validate_webhook": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1}, "easypost.services.beta_rate_service.BetaRateService.retrieve_stateless_rates": {"tf": 1}}, "df": 2}, "e": {"docs": {"easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1.4142135623730951}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1.4142135623730951}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1.4142135623730951}}, "df": 4}}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 1}}, "o": {"docs": {"easypost.util.validate_webhook": {"tf": 1.7320508075688772}}, "df": 1}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"easypost.easypost_object.EasyPostObject.convert_each_value": {"tf": 1}}, "df": 1, "s": {"docs": {"easypost.easypost_object.EasyPostObject.construct_from": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {"easypost.errors.api.api_error.ApiError": {"tf": 1}, "easypost.errors.api.bad_request_error.BadRequestError": {"tf": 1}, "easypost.errors.api.encoding_error.EncodingError": {"tf": 1}, "easypost.errors.api.external_api_error.ExternalApiError": {"tf": 1}, "easypost.errors.api.forbidden_error.ForbiddenError": {"tf": 1}, "easypost.errors.api.gateway_timeout_error.GatewayTimeoutError": {"tf": 1}, "easypost.errors.api.http_error.HttpError": {"tf": 1}, "easypost.errors.api.internal_server_error.InternalServerError": {"tf": 1}, "easypost.errors.api.invalid_request_error.InvalidRequestError": {"tf": 1}, "easypost.errors.api.json_error.JsonError": {"tf": 1}, "easypost.errors.api.method_not_allowed_error.MethodNotAllowedError": {"tf": 1}, "easypost.errors.api.not_found_error.NotFoundError": {"tf": 1}, "easypost.errors.api.payment_error.PaymentError": {"tf": 1}, "easypost.errors.api.rate_limit_error.RateLimitError": {"tf": 1}, "easypost.errors.api.redirect_error.RedirectError": {"tf": 1}, "easypost.errors.api.service_unavailable_error.ServiceUnavailableError": {"tf": 1}, "easypost.errors.api.timeout_error.TimeoutError": {"tf": 1}, "easypost.errors.api.unauthorized_error.UnauthorizedError": {"tf": 1}, "easypost.errors.api.unknown_api_error.UnknownApiError": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.retrieve_estimated_delivery_date": {"tf": 1}, "easypost.services.shipment_service.ShipmentService.recommend_ship_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.estimate_delivery_date": {"tf": 1}, "easypost.services.smartrate_service.SmartRateService.recommend_ship_date": {"tf": 1}}, "df": 23}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.address_service.AddressService.create_and_verify": {"tf": 1}, "easypost.services.address_service.AddressService.verify": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.fedex_registration_service.FedExRegistrationService.request_pin": {"tf": 1}, "easypost.services.fedex_registration_service.FedExRegistrationService.validate_pin": {"tf": 1}}, "df": 2}}}}}}}}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"easypost.easypost_object.EasyPostObject.to_json": {"tf": 1}, "easypost.easypost_object.EasyPostObjectEncoder": {"tf": 1.4142135623730951}, "easypost.util.receive_event": {"tf": 1}, "easypost.util.validate_webhook": {"tf": 1}}, "df": 4}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"easypost.services.api_key_service.ApiKeyService.create": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.delete": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.enable": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.disable": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.create": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.update_email": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.all": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_credit_card_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.add_bank_account_from_stripe": {"tf": 1}, "easypost.services.referral_customer_service.ReferralCustomerService.retrieve_easypost_stripe_api_key": {"tf": 1}}, "df": 10, "s": {"docs": {"easypost.services.api_key_service.ApiKeyService.retrieve_api_keys_for_user": {"tf": 1}, "easypost.services.api_key_service.ApiKeyService.all": {"tf": 1}}, "df": 2}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"easypost.services.batch_service.BatchService.get_next_page": {"tf": 1}}, "df": 1}}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; + + // mirrored in build-search-index.js (part 1) + // Also split on html tags. this is a cheap heuristic, but good enough. + elasticlunr.tokenizer.setSeperator(/[\s\-.;&_'"=,()]+|<[^>]*>/); + + let searchIndex; + if (docs._isPrebuiltIndex) { + console.info("using precompiled search index"); + searchIndex = elasticlunr.Index.load(docs); + } else { + console.time("building search index"); + // mirrored in build-search-index.js (part 2) + searchIndex = elasticlunr(function () { + this.pipeline.remove(elasticlunr.stemmer); + this.pipeline.remove(elasticlunr.stopWordFilter); + this.addField("qualname"); + this.addField("fullname"); + this.addField("annotation"); + this.addField("default_value"); + this.addField("signature"); + this.addField("bases"); + this.addField("doc"); + this.setRef("fullname"); + }); + for (let doc of docs) { + searchIndex.addDoc(doc); + } + console.timeEnd("building search index"); + } + + return (term) => searchIndex.search(term, { + fields: { + qualname: {boost: 4}, + fullname: {boost: 2}, + annotation: {boost: 2}, + default_value: {boost: 2}, + signature: {boost: 2}, + bases: {boost: 2}, + doc: {boost: 1}, + }, + expand: true + }); +})(); \ No newline at end of file diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/cassettes/test_address_all.yaml b/tests/cassettes/test_address_all.yaml deleted file mode 100644 index 57d2257d..00000000 --- a/tests/cassettes/test_address_all.yaml +++ /dev/null @@ -1,102 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/addresses?page_size=5 - response: - body: - string: '{"addresses": [{"id": "adr_d128ff74fac311efa7a7ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:47:20+00:00", "updated_at": "2025-03-06T19:47:20+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, {"id": "adr_d10f7a27fac311efa796ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:47:20+00:00", "updated_at": "2025-03-06T19:47:20+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, {"id": "adr_d0f2ba11fac311ef9cfd3cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:47:20+00:00", "updated_at": - "2025-03-06T19:47:20+00:00", "name": null, "company": "EasyPost", "street1": - "000 unknown street", "street2": null, "city": "Not A City", "state": "ZZ", - "zip": "00001", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {"zip4": {"success": false, "errors": - [{"code": "E.ADDRESS.NOT_FOUND", "field": "address", "message": "Address not - found", "suggestion": null}], "details": null}, "delivery": {"success": false, - "errors": [{"code": "E.ADDRESS.NOT_FOUND", "field": "address", "message": - "Address not found", "suggestion": null}], "details": {}}}}, {"id": "adr_d0e54933fac311ef8140ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:47:20+00:00", "updated_at": - "2025-03-06T19:47:20+00:00", "name": null, "company": "EasyPost", "street1": - "000 unknown street", "street2": null, "city": "Not A City", "state": "ZZ", - "zip": "00001", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, {"id": "adr_d0ce4939fac311ef9ce63cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:47:20+00:00", "updated_at": - "2025-03-06T19:47:20+00:00", "name": "JACK SPARROW", "company": null, "street1": - "388 TOWNSEND ST APT 20", "street2": null, "city": "SAN FRANCISCO", "state": - "CA", "zip": "94107-1670", "country": "US", "phone": "", "email": - "", "mode": "test", "carrier_facility": null, "residential": true, - "federal_tax_id": null, "state_tax_id": null, "verifications": {"zip4": {"success": - true, "errors": [], "details": null}, "delivery": {"success": true, "errors": - [], "details": {"latitude": 37.77551, "longitude": -122.39697, "time_zone": - "America/Los_Angeles"}}}}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2996' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 4a484c0a67c9fbc8e2b9771300188c57 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.033610' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_address_create.yaml b/tests/cassettes/test_address_create.yaml deleted file mode 100644 index 3dc1d623..00000000 --- a/tests/cassettes/test_address_create.yaml +++ /dev/null @@ -1,77 +0,0 @@ -interactions: -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '213' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_d08a1a4afac311ef9cc23cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:47:19+00:00", "updated_at": "2025-03-06T19:47:19+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '461' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d08a1a4afac311ef9cc23cecef1b359e - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbc7e2b976f600184a4b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.028104' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_address_create_and_verify.yaml b/tests/cassettes/test_address_create_and_verify.yaml deleted file mode 100644 index bd87afa2..00000000 --- a/tests/cassettes/test_address_create_and_verify.yaml +++ /dev/null @@ -1,79 +0,0 @@ -interactions: -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '213' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses/create_and_verify - response: - body: - string: '{"address": {"id": "adr_d10f7a27fac311efa796ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:47:20+00:00", "updated_at": "2025-03-06T19:47:20+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '658' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d10f7a27fac311efa796ac1f6bc539ae - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbc8e2b9771100184b2d - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.054163' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_address_create_and_verify_carrier.yaml b/tests/cassettes/test_address_create_and_verify_carrier.yaml deleted file mode 100644 index 065e80db..00000000 --- a/tests/cassettes/test_address_create_and_verify_carrier.yaml +++ /dev/null @@ -1,82 +0,0 @@ -interactions: -- request: - body: '{"address": {"company": "EasyPost", "street1": "000 unknown street", "city": - "Not A City", "state": "ZZ", "zip": "00001", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "verify_carrier": "UPS"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '216' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses/create_and_verify - response: - body: - string: '{"address": {"id": "adr_b532f4f1bc0311f0b86eac1f6bc539aa", "object": - "Address", "created_at": "2025-11-07T18:00:55Z", "updated_at": "2025-11-07T18:00:55Z", - "name": null, "company": "EASYPOST", "street1": "000 UNKNOWN STREET", "street2": - "", "city": "NOT A CITY", "state": "ZZ", "zip": "00001", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [{"code": "E.ADDRESS.NOT_FOUND", "field": - "address", "message": "Address not found", "suggestion": null}], "details": - null}, "delivery": {"success": true, "errors": [{"code": "E.ADDRESS.NOT_FOUND", - "field": "address", "message": "Address not found", "suggestion": null}], - "details": {"latitude": null, "longitude": null, "time_zone": null}}, "verify_carrier": - "ups"}}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '820' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_b532f4f1bc0311f0b86eac1f6bc539aa - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - bcd43723690e33d7e786a7bd02a1cbd9 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq c0061e0a2e - - extlb2nuq cbbd141214 - x-runtime: - - '0.492859' - x-version-label: - - easypost-202511071655-85836cab32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_address_create_verify.yaml b/tests/cassettes/test_address_create_verify.yaml deleted file mode 100644 index 85246177..00000000 --- a/tests/cassettes/test_address_create_verify.yaml +++ /dev/null @@ -1,156 +0,0 @@ -interactions: -- request: - body: '{"address": {"company": "EasyPost", "street1": "000 unknown street", "city": - "Not A City", "state": "ZZ", "zip": "00001", "country": "US", "email": "test@example.com", - "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '191' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_d0a11741fac311ef811eac1f6bc53342", "object": "Address", - "created_at": "2025-03-06T19:47:19+00:00", "updated_at": "2025-03-06T19:47:19+00:00", - "name": null, "company": "EasyPost", "street1": "000 unknown street", "street2": - null, "city": "Not A City", "state": "ZZ", "zip": "00001", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '453' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d0a11741fac311ef811eac1f6bc53342 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62567c9fbc7e2b976f700184a79 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.034875' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"address": {"company": "EasyPost", "street1": "000 unknown street", "city": - "Not A City", "state": "ZZ", "zip": "00001", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "verify": true}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '207' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_d0af7486fac311efa766ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-06T19:47:19+00:00", "updated_at": "2025-03-06T19:47:19+00:00", - "name": null, "company": "EasyPost", "street1": "000 unknown street", "street2": - null, "city": "Not A City", "state": "ZZ", "zip": "00001", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": false, "errors": [{"code": "E.ADDRESS.NOT_FOUND", "field": - "address", "message": "Address not found", "suggestion": null}], "details": - null}, "delivery": {"success": false, "errors": [{"code": "E.ADDRESS.NOT_FOUND", - "field": "address", "message": "Address not found", "suggestion": null}], - "details": {}}}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '750' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d0af7486fac311efa766ac1f6bc539ae - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62567c9fbc7e2b976f700184a8f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.050675' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_address_create_verify_array.yaml b/tests/cassettes/test_address_create_verify_array.yaml deleted file mode 100644 index 9ea9fa82..00000000 --- a/tests/cassettes/test_address_create_verify_array.yaml +++ /dev/null @@ -1,156 +0,0 @@ -interactions: -- request: - body: '{"address": {"company": "EasyPost", "street1": "000 unknown street", "city": - "Not A City", "state": "ZZ", "zip": "00001", "country": "US", "email": "test@example.com", - "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '191' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_d0e54933fac311ef8140ac1f6bc53342", "object": "Address", - "created_at": "2025-03-06T19:47:20+00:00", "updated_at": "2025-03-06T19:47:20+00:00", - "name": null, "company": "EasyPost", "street1": "000 unknown street", "street2": - null, "city": "Not A City", "state": "ZZ", "zip": "00001", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '453' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d0e54933fac311ef8140ac1f6bc53342 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbc8e2b9771000184af0 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.032329' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"address": {"company": "EasyPost", "street1": "000 unknown street", "city": - "Not A City", "state": "ZZ", "zip": "00001", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "verify": [true]}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '209' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_d0f2ba11fac311ef9cfd3cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:47:20+00:00", "updated_at": "2025-03-06T19:47:20+00:00", - "name": null, "company": "EasyPost", "street1": "000 unknown street", "street2": - null, "city": "Not A City", "state": "ZZ", "zip": "00001", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": false, "errors": [{"code": "E.ADDRESS.NOT_FOUND", "field": - "address", "message": "Address not found", "suggestion": null}], "details": - null}, "delivery": {"success": false, "errors": [{"code": "E.ADDRESS.NOT_FOUND", - "field": "address", "message": "Address not found", "suggestion": null}], - "details": {}}}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '750' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d0f2ba11fac311ef9cfd3cecef1b359e - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbc8e2b9771000184b02 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.049655' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_address_create_verify_carrier.yaml b/tests/cassettes/test_address_create_verify_carrier.yaml deleted file mode 100644 index 61aa9523..00000000 --- a/tests/cassettes/test_address_create_verify_carrier.yaml +++ /dev/null @@ -1,82 +0,0 @@ -interactions: -- request: - body: '{"address": {"company": "EasyPost", "street1": "000 unknown street", "city": - "Not A City", "state": "ZZ", "zip": "00001", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "verify": true, "verify_carrier": "UPS"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '232' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_6bbec015bb5011f082233cecef1b359e", "object": "Address", - "created_at": "2025-11-06T20:37:32Z", "updated_at": "2025-11-06T20:37:32Z", - "name": null, "company": "EASYPOST", "street1": "000 UNKNOWN STREET", "street2": - "", "city": "NOT A CITY", "state": "ZZ", "zip": "00001", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [{"code": "E.ADDRESS.NOT_FOUND", "field": - "address", "message": "Address not found", "suggestion": null}], "details": - null}, "delivery": {"success": true, "errors": [{"code": "E.ADDRESS.NOT_FOUND", - "field": "address", "message": "Address not found", "suggestion": null}], - "details": {"latitude": null, "longitude": null, "time_zone": null}}, "verify_carrier": - "ups"}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '808' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_6bbec015bb5011f082233cecef1b359e - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - bcd43725690d070be2b85def014ed69a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb66nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq c0061e0a2e - - extlb2nuq cbbd141214 - x-runtime: - - '0.837269' - x-version-label: - - easypost-202511061930-711db047b0-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_address_create_verify_strict.yaml b/tests/cassettes/test_address_create_verify_strict.yaml deleted file mode 100644 index 3b4e4009..00000000 --- a/tests/cassettes/test_address_create_verify_strict.yaml +++ /dev/null @@ -1,80 +0,0 @@ -interactions: -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}, "verify_strict": - true}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '236' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_d0ce4939fac311ef9ce63cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:47:20+00:00", "updated_at": "2025-03-06T19:47:20+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '646' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d0ce4939fac311ef9ce63cecef1b359e - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbc7e2b976f800184ac4 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.064436' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_address_get_next_page.yaml b/tests/cassettes/test_address_get_next_page.yaml deleted file mode 100644 index f08bb832..00000000 --- a/tests/cassettes/test_address_get_next_page.yaml +++ /dev/null @@ -1,200 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/addresses?page_size=5 - response: - body: - string: '{"addresses": [{"id": "adr_d128ff74fac311efa7a7ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:47:20+00:00", "updated_at": "2025-03-06T19:47:20+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, {"id": "adr_d10f7a27fac311efa796ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:47:20+00:00", "updated_at": "2025-03-06T19:47:20+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, {"id": "adr_d0f2ba11fac311ef9cfd3cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:47:20+00:00", "updated_at": - "2025-03-06T19:47:20+00:00", "name": null, "company": "EasyPost", "street1": - "000 unknown street", "street2": null, "city": "Not A City", "state": "ZZ", - "zip": "00001", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {"zip4": {"success": false, "errors": - [{"code": "E.ADDRESS.NOT_FOUND", "field": "address", "message": "Address not - found", "suggestion": null}], "details": null}, "delivery": {"success": false, - "errors": [{"code": "E.ADDRESS.NOT_FOUND", "field": "address", "message": - "Address not found", "suggestion": null}], "details": {}}}}, {"id": "adr_d0e54933fac311ef8140ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:47:20+00:00", "updated_at": - "2025-03-06T19:47:20+00:00", "name": null, "company": "EasyPost", "street1": - "000 unknown street", "street2": null, "city": "Not A City", "state": "ZZ", - "zip": "00001", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, {"id": "adr_d0ce4939fac311ef9ce63cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:47:20+00:00", "updated_at": - "2025-03-06T19:47:20+00:00", "name": "JACK SPARROW", "company": null, "street1": - "388 TOWNSEND ST APT 20", "street2": null, "city": "SAN FRANCISCO", "state": - "CA", "zip": "94107-1670", "country": "US", "phone": "", "email": - "", "mode": "test", "carrier_facility": null, "residential": true, - "federal_tax_id": null, "state_tax_id": null, "verifications": {"zip4": {"success": - true, "errors": [], "details": null}, "delivery": {"success": true, "errors": - [], "details": {"latitude": 37.77551, "longitude": -122.39697, "time_zone": - "America/Los_Angeles"}}}}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2996' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 4a484c0c67c9fbc8e2b9771400188c7c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.039677' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/addresses?before_id=adr_d0ce4939fac311ef9ce63cecef1b359e&page_size=5 - response: - body: - string: '{"addresses": [{"id": "adr_d0af7486fac311efa766ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:47:19+00:00", "updated_at": "2025-03-06T19:47:19+00:00", - "name": null, "company": "EasyPost", "street1": "000 unknown street", "street2": - null, "city": "Not A City", "state": "ZZ", "zip": "00001", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": false, "errors": [{"code": "E.ADDRESS.NOT_FOUND", "field": - "address", "message": "Address not found", "suggestion": null}], "details": - null}, "delivery": {"success": false, "errors": [{"code": "E.ADDRESS.NOT_FOUND", - "field": "address", "message": "Address not found", "suggestion": null}], - "details": {}}}}, {"id": "adr_d0a11741fac311ef811eac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:47:19+00:00", "updated_at": "2025-03-06T19:47:19+00:00", - "name": null, "company": "EasyPost", "street1": "000 unknown street", "street2": - null, "city": "Not A City", "state": "ZZ", "zip": "00001", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, {"id": "adr_d08a1a4afac311ef9cc23cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:47:19+00:00", "updated_at": "2025-03-06T19:47:19+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, {"id": "adr_fabb4013f08111efacb8ac1f6bc53342", "object": "Address", "created_at": - "2025-02-21T18:30:51+00:00", "updated_at": "2025-02-21T18:30:51+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, {"id": "adr_fab8798ef08111ef8ca73cecef1b359e", "object": "Address", "created_at": - "2025-02-21T18:30:51+00:00", "updated_at": "2025-02-21T18:30:52+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}], "has_more": - true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2804' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 4a484c0c67c9fbc9e2b9771400188c94 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.035805' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_address_retrieve.yaml b/tests/cassettes/test_address_retrieve.yaml deleted file mode 100644 index 7a641c77..00000000 --- a/tests/cassettes/test_address_retrieve.yaml +++ /dev/null @@ -1,144 +0,0 @@ -interactions: -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '213' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_d128ff74fac311efa7a7ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-06T19:47:20+00:00", "updated_at": "2025-03-06T19:47:20+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '461' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d128ff74fac311efa7a7ac1f6bc539ae - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 4a484c0a67c9fbc8e2b9771200188bfc - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.037012' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/addresses/adr_d128ff74fac311efa7a7ac1f6bc539ae - response: - body: - string: '{"id": "adr_d128ff74fac311efa7a7ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-06T19:47:20+00:00", "updated_at": "2025-03-06T19:47:20+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '461' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 4a484c0a67c9fbc8e2b9771200188c22 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.027362' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_address_verify.yaml b/tests/cassettes/test_address_verify.yaml deleted file mode 100644 index baef9af2..00000000 --- a/tests/cassettes/test_address_verify.yaml +++ /dev/null @@ -1,148 +0,0 @@ -interactions: -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '213' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_d188b93cfac311efbc54ac1f6bc539aa", "object": "Address", - "created_at": "2025-03-06T19:47:21+00:00", "updated_at": "2025-03-06T19:47:21+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '461' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d188b93cfac311efbc54ac1f6bc539aa - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 4a484c1067c9fbc9e2b9771500188cc6 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.033082' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/addresses/adr_d188b93cfac311efbc54ac1f6bc539aa/verify - response: - body: - string: '{"address": {"id": "adr_d1989bbffac311efbc56ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:47:21+00:00", "updated_at": "2025-03-06T19:47:21+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '658' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d1989bbffac311efbc56ac1f6bc539aa - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 4a484c1067c9fbc9e2b9771500188ce2 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.056957' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_address_verify_invalid_address.yaml b/tests/cassettes/test_address_verify_invalid_address.yaml deleted file mode 100644 index ee621111..00000000 --- a/tests/cassettes/test_address_verify_invalid_address.yaml +++ /dev/null @@ -1,138 +0,0 @@ -interactions: -- request: - body: '{"address": {"street1": "invalid"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '35' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_d1b02f48fac311efa7f0ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-06T19:47:21+00:00", "updated_at": "2025-03-06T19:47:21+00:00", - "name": null, "company": null, "street1": "invalid", "street2": null, "city": - null, "state": null, "zip": null, "country": "US", "phone": "", - "email": "", "mode": "test", "carrier_facility": null, "residential": - null, "federal_tax_id": null, "state_tax_id": null, "verifications": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '403' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_d1b02f48fac311efa7f0ac1f6bc539ae - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 4a484c0a67c9fbc9e2b9771600188d17 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.038483' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/addresses/adr_d1b02f48fac311efa7f0ac1f6bc539ae/verify - response: - body: - string: '{"error": {"code": "ADDRESS.VERIFY.FAILURE", "message": "Unable to - verify address.", "errors": [{"code": "E.ADDRESS.NOT_FOUND", "field": "address", - "message": "Address not found", "suggestion": null}, {"code": "E.HOUSE_NUMBER.MISSING", - "field": "street1", "message": "House number is missing", "suggestion": null}]}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '295' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 4a484c0a67c9fbc9e2b9771600188d2d - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb56nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.043378' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_api_key_all.yaml b/tests/cassettes/test_api_key_all.yaml deleted file mode 100644 index ef3dd0a9..00000000 --- a/tests/cassettes/test_api_key_all.yaml +++ /dev/null @@ -1,93 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/api_keys - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "keys": [{"object": - "ApiKey", "active": true, "key": "", "mode": "test", "created_at": - "2022-02-24T20:59:05Z", "id": "ak_16f993eae7984eab94e0957a78bee407"}, {"object": - "ApiKey", "active": true, "key": "", "mode": "production", "created_at": - "2022-02-24T20:59:14Z", "id": "ak_62524a9c3f684f65ab9eccbf70950df8"}], "children": - [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", "keys": [{"object": "ApiKey", - "active": true, "key": "", "mode": "test", "created_at": "2023-12-11T17:13:38Z", - "id": "ak_90e045d452174b3e99198138dc7938f5"}, {"object": "ApiKey", "active": - true, "key": "", "mode": "production", "created_at": "2023-12-11T17:13:38Z", - "id": "ak_7ef472842fda4256b72779e74653ca79"}], "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", - "keys": [{"object": "ApiKey", "active": true, "key": "", "mode": - "test", "created_at": "2023-12-11T17:13:43Z", "id": "ak_726be943161e4028a347dd2389284d7d"}, - {"object": "ApiKey", "active": true, "key": "", "mode": "production", - "created_at": "2023-12-11T17:13:43Z", "id": "ak_dd9f2e1f14d342679191eee4b69b6ad0"}], - "children": []}, {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "keys": [{"object": - "ApiKey", "active": true, "key": "", "mode": "test", "created_at": - "2024-01-04T19:56:21Z", "id": "ak_e14b2c164b95497a8b9141b2ad212855"}, {"object": - "ApiKey", "active": true, "key": "", "mode": "production", "created_at": - "2024-01-04T19:56:21Z", "id": "ak_a35fabeaec96494694ec0c8726103a80"}], "children": - []}, {"id": "user_31754439d4524fbb8867d138de537e12", "keys": [{"object": "ApiKey", - "active": true, "key": "", "mode": "test", "created_at": "2024-01-19T21:42:21Z", - "id": "ak_dffa08301f7d4a54895f7840d54d05e0"}, {"object": "ApiKey", "active": - true, "key": "", "mode": "production", "created_at": "2024-01-19T21:42:21Z", - "id": "ak_d386ae3ceee04b0880002cd39dca2587"}], "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", - "keys": [{"object": "ApiKey", "active": true, "key": "", "mode": - "test", "created_at": "2024-01-19T21:44:18Z", "id": "ak_92d46dfa461245bba1ec48aac1f2090d"}, - {"object": "ApiKey", "active": true, "key": "", "mode": "production", - "created_at": "2024-01-19T21:44:18Z", "id": "ak_8637c80064224594b9dfdf82efbb27b7"}], - "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2782' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbc9e2b9771700184c80 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.075092' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_api_key_authenticated_user.yaml b/tests/cassettes/test_api_key_authenticated_user.yaml deleted file mode 100644 index 7c9f3001..00000000 --- a/tests/cassettes/test_api_key_authenticated_user.yaml +++ /dev/null @@ -1,177 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "object": "User", "parent_id": - null, "name": "New Name", "phone_number": "", "verified": true, - "created_at": "2017-03-01T03:01:34Z", "default_carbon_offset": false, "has_elevate_access": - false, "balance": "0.00000", "price_per_shipment": "0.00000", "recharge_amount": - "100.00", "secondary_recharge_amount": "100.00", "recharge_threshold": "0.00", - "has_billing_method": false, "cc_fee_rate": "0.03", "default_insurance_amount": - null, "insurance_fee_rate": "0.01", "insurance_fee_minimum": "1.00", "email": - "", "children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User2", "phone_number": "8005550100", "verified": true, "created_at": - "2023-12-11T17:13:38Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "8005550100", "verified": true, "created_at": "2023-12-11T17:13:43Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}, - {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Child Account Name22", "phone_number": - "8005550100", "verified": true, "created_at": "2024-01-04T19:56:21Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": []}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "8005550100", "verified": true, "created_at": - "2024-01-19T21:42:21Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "8005550100", "verified": true, "created_at": "2024-01-19T21:44:18Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2010' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62567c9fbc9e2b9771800184cb0 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.156923' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/api_keys - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "keys": [{"object": - "ApiKey", "active": true, "key": "", "mode": "test", "created_at": - "2022-02-24T20:59:05Z", "id": "ak_16f993eae7984eab94e0957a78bee407"}, {"object": - "ApiKey", "active": true, "key": "", "mode": "production", "created_at": - "2022-02-24T20:59:14Z", "id": "ak_62524a9c3f684f65ab9eccbf70950df8"}], "children": - [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", "keys": [{"object": "ApiKey", - "active": true, "key": "", "mode": "test", "created_at": "2023-12-11T17:13:38Z", - "id": "ak_90e045d452174b3e99198138dc7938f5"}, {"object": "ApiKey", "active": - true, "key": "", "mode": "production", "created_at": "2023-12-11T17:13:38Z", - "id": "ak_7ef472842fda4256b72779e74653ca79"}], "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", - "keys": [{"object": "ApiKey", "active": true, "key": "", "mode": - "test", "created_at": "2023-12-11T17:13:43Z", "id": "ak_726be943161e4028a347dd2389284d7d"}, - {"object": "ApiKey", "active": true, "key": "", "mode": "production", - "created_at": "2023-12-11T17:13:43Z", "id": "ak_dd9f2e1f14d342679191eee4b69b6ad0"}], - "children": []}, {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "keys": [{"object": - "ApiKey", "active": true, "key": "", "mode": "test", "created_at": - "2024-01-04T19:56:21Z", "id": "ak_e14b2c164b95497a8b9141b2ad212855"}, {"object": - "ApiKey", "active": true, "key": "", "mode": "production", "created_at": - "2024-01-04T19:56:21Z", "id": "ak_a35fabeaec96494694ec0c8726103a80"}], "children": - []}, {"id": "user_31754439d4524fbb8867d138de537e12", "keys": [{"object": "ApiKey", - "active": true, "key": "", "mode": "test", "created_at": "2024-01-19T21:42:21Z", - "id": "ak_dffa08301f7d4a54895f7840d54d05e0"}, {"object": "ApiKey", "active": - true, "key": "", "mode": "production", "created_at": "2024-01-19T21:42:21Z", - "id": "ak_d386ae3ceee04b0880002cd39dca2587"}], "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", - "keys": [{"object": "ApiKey", "active": true, "key": "", "mode": - "test", "created_at": "2024-01-19T21:44:18Z", "id": "ak_92d46dfa461245bba1ec48aac1f2090d"}, - {"object": "ApiKey", "active": true, "key": "", "mode": "production", - "created_at": "2024-01-19T21:44:18Z", "id": "ak_8637c80064224594b9dfdf82efbb27b7"}], - "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2782' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62567c9fbcae2b9771800184ced - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.084904' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_api_key_lifecycle.yaml b/tests/cassettes/test_api_key_lifecycle.yaml deleted file mode 100644 index ed1aabba..00000000 --- a/tests/cassettes/test_api_key_lifecycle.yaml +++ /dev/null @@ -1,257 +0,0 @@ -interactions: -- request: - body: '{"mode": "production"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '22' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/api_keys - response: - body: - string: '{"object": "ApiKey", "key": "", "mode": "production", "created_at": - "2026-02-02T21:31:26Z", "active": true, "id": "ak_e87ac0a105ea4760a5df59a757230365"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '199' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 2e56ccf3698117aee2bb247402d1e34b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq d9379ca146 - - extlb2nuq cbbd141214 - x-runtime: - - '0.111460' - x-version-label: - - easypost-202602022023-e2aafa4ad5-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/api_keys/ak_e87ac0a105ea4760a5df59a757230365/disable - response: - body: - string: '{"object": "ApiKey", "key": "", "mode": "production", "created_at": - "2026-02-02T21:31:26Z", "active": false, "id": "ak_e87ac0a105ea4760a5df59a757230365"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '200' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 2e56cced698117aee2bb247502d1e3ae - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq d9379ca146 - - extlb2nuq cbbd141214 - x-runtime: - - '0.125884' - x-version-label: - - easypost-202602022023-e2aafa4ad5-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/api_keys/ak_e87ac0a105ea4760a5df59a757230365/enable - response: - body: - string: '{"object": "ApiKey", "key": "", "mode": "production", "created_at": - "2026-02-02T21:31:26Z", "active": true, "id": "ak_e87ac0a105ea4760a5df59a757230365"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '199' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 2e56ccee698117afe2bb247602d1e40f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb6nuq d9379ca146 - - extlb2nuq cbbd141214 - x-runtime: - - '0.120192' - x-version-label: - - easypost-202602022023-e2aafa4ad5-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/api_keys/ak_e87ac0a105ea4760a5df59a757230365 - response: - body: - string: '' - headers: - cache-control: - - private, no-cache, no-store - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 2e56ccf1698117afe2bb247702d1e476 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq d9379ca146 - - extlb2nuq cbbd141214 - x-runtime: - - '0.105366' - x-version-label: - - easypost-202602022023-e2aafa4ad5-master - x-xss-protection: - - 1; mode=block - status: - code: 204 - message: No Content -version: 1 diff --git a/tests/cassettes/test_api_key_retrieve_authenticated_user.yaml b/tests/cassettes/test_api_key_retrieve_authenticated_user.yaml deleted file mode 100644 index f49d1064..00000000 --- a/tests/cassettes/test_api_key_retrieve_authenticated_user.yaml +++ /dev/null @@ -1,177 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "object": "User", "parent_id": - null, "name": "New Name", "phone_number": "", "verified": true, - "created_at": "2017-03-01T03:01:34Z", "default_carbon_offset": false, "has_elevate_access": - false, "balance": "0.00000", "price_per_shipment": "0.00000", "recharge_amount": - "100.00", "secondary_recharge_amount": "100.00", "recharge_threshold": "0.00", - "has_billing_method": false, "cc_fee_rate": "0.03", "default_insurance_amount": - null, "insurance_fee_rate": "0.01", "insurance_fee_minimum": "1.00", "email": - "", "children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User2", "phone_number": "8005550100", "verified": true, "created_at": - "2023-12-11T17:13:38Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "8005550100", "verified": true, "created_at": "2023-12-11T17:13:43Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}, - {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Child Account Name22", "phone_number": - "8005550100", "verified": true, "created_at": "2024-01-04T19:56:21Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": []}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "8005550100", "verified": true, "created_at": - "2024-01-19T21:42:21Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "8005550100", "verified": true, "created_at": "2024-01-19T21:44:18Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2010' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 2e56ccf0698116b8e2bb1c7902d05b35 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq d9379ca146 - - extlb2nuq cbbd141214 - x-runtime: - - '0.148339' - x-version-label: - - easypost-202602022023-e2aafa4ad5-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/api_keys - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "keys": [{"object": - "ApiKey", "active": true, "key": "", "mode": "test", "created_at": - "2022-02-24T20:59:05Z", "id": "ak_16f993eae7984eab94e0957a78bee407"}, {"object": - "ApiKey", "active": true, "key": "", "mode": "production", "created_at": - "2022-02-24T20:59:14Z", "id": "ak_62524a9c3f684f65ab9eccbf70950df8"}], "children": - [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", "keys": [{"object": "ApiKey", - "active": true, "key": "", "mode": "test", "created_at": "2023-12-11T17:13:38Z", - "id": "ak_90e045d452174b3e99198138dc7938f5"}, {"object": "ApiKey", "active": - true, "key": "", "mode": "production", "created_at": "2023-12-11T17:13:38Z", - "id": "ak_7ef472842fda4256b72779e74653ca79"}], "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", - "keys": [{"object": "ApiKey", "active": true, "key": "", "mode": - "test", "created_at": "2023-12-11T17:13:43Z", "id": "ak_726be943161e4028a347dd2389284d7d"}, - {"object": "ApiKey", "active": true, "key": "", "mode": "production", - "created_at": "2023-12-11T17:13:43Z", "id": "ak_dd9f2e1f14d342679191eee4b69b6ad0"}], - "children": []}, {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "keys": [{"object": - "ApiKey", "active": true, "key": "", "mode": "test", "created_at": - "2024-01-04T19:56:21Z", "id": "ak_e14b2c164b95497a8b9141b2ad212855"}, {"object": - "ApiKey", "active": true, "key": "", "mode": "production", "created_at": - "2024-01-04T19:56:21Z", "id": "ak_a35fabeaec96494694ec0c8726103a80"}], "children": - []}, {"id": "user_31754439d4524fbb8867d138de537e12", "keys": [{"object": "ApiKey", - "active": true, "key": "", "mode": "test", "created_at": "2024-01-19T21:42:21Z", - "id": "ak_dffa08301f7d4a54895f7840d54d05e0"}, {"object": "ApiKey", "active": - true, "key": "", "mode": "production", "created_at": "2024-01-19T21:42:21Z", - "id": "ak_d386ae3ceee04b0880002cd39dca2587"}], "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", - "keys": [{"object": "ApiKey", "active": true, "key": "", "mode": - "test", "created_at": "2024-01-19T21:44:18Z", "id": "ak_92d46dfa461245bba1ec48aac1f2090d"}, - {"object": "ApiKey", "active": true, "key": "", "mode": "production", - "created_at": "2024-01-19T21:44:18Z", "id": "ak_8637c80064224594b9dfdf82efbb27b7"}], - "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2782' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 2e56ccef698116b9e2bb1c7c02d05ba9 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb6nuq d9379ca146 - - extlb2nuq cbbd141214 - x-runtime: - - '0.086400' - x-version-label: - - easypost-202602022023-e2aafa4ad5-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_api_key_retrieve_child_user.yaml b/tests/cassettes/test_api_key_retrieve_child_user.yaml deleted file mode 100644 index 97593c55..00000000 --- a/tests/cassettes/test_api_key_retrieve_child_user.yaml +++ /dev/null @@ -1,289 +0,0 @@ -interactions: -- request: - body: '{"user": {"name": "Test User"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '31' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/users - response: - body: - string: '{"id": "user_7b18c25890924f8ab96848aa3efc2765", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test User", "phone_number": - "", "verified": true, "created_at": "2025-03-06T19:47:22Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": [], "api_keys": [{"object": - "ApiKey", "key": "", "mode": "test", "created_at": "2025-03-06T19:47:22Z", - "active": true, "id": "ak_0b4bbaf6145c4a4e991fd91ae6d8512b"}, {"object": "ApiKey", - "key": "", "mode": "production", "created_at": "2025-03-06T19:47:22Z", - "active": true, "id": "ak_4ac13156665942c99bbe31bab7cdb0da"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '691' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbcae2b9771900184d24 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.516833' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users/user_7b18c25890924f8ab96848aa3efc2765 - response: - body: - string: '{"id": "user_7b18c25890924f8ab96848aa3efc2765", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test User", "phone_number": - "", "verified": true, "created_at": "2025-03-06T19:47:22Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '284' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbcae2b9771900184dd9 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.096345' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/api_keys - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "keys": [{"object": - "ApiKey", "active": true, "key": "", "mode": "test", "created_at": - "2022-02-24T20:59:05Z", "id": "ak_16f993eae7984eab94e0957a78bee407"}, {"object": - "ApiKey", "active": true, "key": "", "mode": "production", "created_at": - "2022-02-24T20:59:14Z", "id": "ak_62524a9c3f684f65ab9eccbf70950df8"}], "children": - [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", "keys": [{"object": "ApiKey", - "active": true, "key": "", "mode": "test", "created_at": "2023-12-11T17:13:38Z", - "id": "ak_90e045d452174b3e99198138dc7938f5"}, {"object": "ApiKey", "active": - true, "key": "", "mode": "production", "created_at": "2023-12-11T17:13:38Z", - "id": "ak_7ef472842fda4256b72779e74653ca79"}], "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", - "keys": [{"object": "ApiKey", "active": true, "key": "", "mode": - "test", "created_at": "2023-12-11T17:13:43Z", "id": "ak_726be943161e4028a347dd2389284d7d"}, - {"object": "ApiKey", "active": true, "key": "", "mode": "production", - "created_at": "2023-12-11T17:13:43Z", "id": "ak_dd9f2e1f14d342679191eee4b69b6ad0"}], - "children": []}, {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "keys": [{"object": - "ApiKey", "active": true, "key": "", "mode": "test", "created_at": - "2024-01-04T19:56:21Z", "id": "ak_e14b2c164b95497a8b9141b2ad212855"}, {"object": - "ApiKey", "active": true, "key": "", "mode": "production", "created_at": - "2024-01-04T19:56:21Z", "id": "ak_a35fabeaec96494694ec0c8726103a80"}], "children": - []}, {"id": "user_31754439d4524fbb8867d138de537e12", "keys": [{"object": "ApiKey", - "active": true, "key": "", "mode": "test", "created_at": "2024-01-19T21:42:21Z", - "id": "ak_dffa08301f7d4a54895f7840d54d05e0"}, {"object": "ApiKey", "active": - true, "key": "", "mode": "production", "created_at": "2024-01-19T21:42:21Z", - "id": "ak_d386ae3ceee04b0880002cd39dca2587"}], "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", - "keys": [{"object": "ApiKey", "active": true, "key": "", "mode": - "test", "created_at": "2024-01-19T21:44:18Z", "id": "ak_92d46dfa461245bba1ec48aac1f2090d"}, - {"object": "ApiKey", "active": true, "key": "", "mode": "production", - "created_at": "2024-01-19T21:44:18Z", "id": "ak_8637c80064224594b9dfdf82efbb27b7"}], - "children": []}, {"id": "user_7b18c25890924f8ab96848aa3efc2765", "keys": [{"object": - "ApiKey", "active": true, "key": "", "mode": "test", "created_at": - "2025-03-06T19:47:22Z", "id": "ak_0b4bbaf6145c4a4e991fd91ae6d8512b"}, {"object": - "ApiKey", "active": true, "key": "", "mode": "production", "created_at": - "2025-03-06T19:47:22Z", "id": "ak_4ac13156665942c99bbe31bab7cdb0da"}], "children": - []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '3246' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbcbe2b9771900184e0f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.103280' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/users/user_7b18c25890924f8ab96848aa3efc2765 - response: - body: - string: '' - headers: - cache-control: - - private, no-cache, no-store - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbcbe2b9771900184e39 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.091880' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 204 - message: No Content -version: 1 diff --git a/tests/cassettes/test_batch_add_remove_shipment.yaml b/tests/cassettes/test_batch_add_remove_shipment.yaml deleted file mode 100644 index f479284b..00000000 --- a/tests/cassettes/test_batch_add_remove_shipment.yaml +++ /dev/null @@ -1,372 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_243d43abc8d0484cbe01b684e76d20d5", "created_at": "2025-03-06T19:47:39Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109500645", "updated_at": - "2025-03-06T19:47:40Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_dca13f48fac311ef81f9ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-06T19:47:39+00:00", "updated_at": - "2025-03-06T19:47:39+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_011650c305ca44308b92d7cc35f30426", "object": - "Parcel", "created_at": "2025-03-06T19:47:39Z", "updated_at": "2025-03-06T19:47:39Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_d3a08d7159604f76b4356face3f3fd19", - "created_at": "2025-03-06T19:47:40Z", "updated_at": "2025-03-06T19:47:40Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:47:40Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e8c546c95c7af94bcab23bc8aae8819c07.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_502b242d978d402ca45ceb485dc7ae6e", "object": - "Rate", "created_at": "2025-03-06T19:47:40Z", "updated_at": "2025-03-06T19:47:40Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_243d43abc8d0484cbe01b684e76d20d5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_36fcb1e13dd54924bbadb3396b3762cc", - "object": "Rate", "created_at": "2025-03-06T19:47:40Z", "updated_at": "2025-03-06T19:47:40Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_243d43abc8d0484cbe01b684e76d20d5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_1b8743bad96a42f99fbb090396865a69", - "object": "Rate", "created_at": "2025-03-06T19:47:40Z", "updated_at": "2025-03-06T19:47:40Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_243d43abc8d0484cbe01b684e76d20d5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_1b8743bad96a42f99fbb090396865a69", "object": - "Rate", "created_at": "2025-03-06T19:47:40Z", "updated_at": "2025-03-06T19:47:40Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_243d43abc8d0484cbe01b684e76d20d5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_2d529ff81346463598d28ca891bce7b2", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500645", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-06T19:47:40Z", - "updated_at": "2025-03-06T19:47:40Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_243d43abc8d0484cbe01b684e76d20d5", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzJkNTI5ZmY4MTM0NjQ2MzU5OGQyOGNhODkxYmNlN2Iy"}, - "to_address": {"id": "adr_dc9d24b6fac311efa3153cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:47:39+00:00", "updated_at": "2025-03-06T19:47:40+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_dca13f48fac311ef81f9ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-06T19:47:39+00:00", "updated_at": - "2025-03-06T19:47:39+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_dc9d24b6fac311efa3153cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:47:39+00:00", "updated_at": "2025-03-06T19:47:40+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_243d43abc8d0484cbe01b684e76d20d5 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbdbe2b9773600186193 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.999460' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"batch": {}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '13' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches - response: - body: - string: '{"id": "batch_25eeafb7c1d8478bbf67cf6c0a095b20", "object": "Batch", - "mode": "test", "state": "created", "num_shipments": 0, "reference": null, - "created_at": "2025-03-06T19:47:40Z", "updated_at": "2025-03-06T19:47:40Z", - "scan_form": null, "shipments": [], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '383' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbdce2b97736001862c9 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.034967' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"shipments": [{"id": "shp_243d43abc8d0484cbe01b684e76d20d5"}]}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '63' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches/batch_25eeafb7c1d8478bbf67cf6c0a095b20/add_shipments - response: - body: - string: '{"id": "batch_25eeafb7c1d8478bbf67cf6c0a095b20", "object": "Batch", - "mode": "test", "state": "created", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:40Z", "updated_at": "2025-03-06T19:47:40Z", - "scan_form": null, "shipments": [{"batch_status": "postage_purchased", "batch_message": - null, "reference": null, "tracking_code": "9400100208303109500645", "id": - "shp_243d43abc8d0484cbe01b684e76d20d5"}], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 1, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '542' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbdce2b97736001862e5 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.050961' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"shipments": [{"id": "shp_243d43abc8d0484cbe01b684e76d20d5"}]}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '63' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches/batch_25eeafb7c1d8478bbf67cf6c0a095b20/remove_shipments - response: - body: - string: '{"id": "batch_25eeafb7c1d8478bbf67cf6c0a095b20", "object": "Batch", - "mode": "test", "state": "purchased", "num_shipments": 0, "reference": null, - "created_at": "2025-03-06T19:47:40Z", "updated_at": "2025-03-06T19:47:41Z", - "scan_form": null, "shipments": [], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '385' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbdde2b9773600186330 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.036024' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_batch_all.yaml b/tests/cassettes/test_batch_all.yaml deleted file mode 100644 index 7d026910..00000000 --- a/tests/cassettes/test_batch_all.yaml +++ /dev/null @@ -1,76 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/batches?page_size=5 - response: - body: - string: '{"batches": [{"id": "batch_714d7667a73f450eb169b20c1425c6a2", "object": - "Batch", "mode": "test", "state": "created", "num_shipments": 1, "reference": - null, "created_at": "2025-03-06T19:47:23Z", "updated_at": "2025-03-06T19:47:23Z", - "scan_form": null, "shipments": [{"batch_status": "created", "batch_message": - null, "reference": null, "tracking_code": null, "id": "shp_18722621622046f48c2314f4624c5746"}], - "status": {"created": 1, "queued_for_purchase": 0, "creation_failed": 0, "postage_purchased": - 0, "postage_purchase_failed": 0}, "pickup": null, "label_url": null}, {"id": - "batch_af1a8a3cfc1f444d961e620e2ade0f7a", "object": "Batch", "mode": "test", - "state": "created", "num_shipments": 1, "reference": null, "created_at": "2025-03-06T19:47:23Z", - "updated_at": "2025-03-06T19:47:23Z", "scan_form": null, "shipments": [{"batch_status": - "created", "batch_message": null, "reference": null, "tracking_code": null, - "id": "shp_60e1b0b799e74382b16366ba261282f3"}], "status": {"created": 1, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}], "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1056' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbcbe2b9773300184edf - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.156418' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_batch_buy.yaml b/tests/cassettes/test_batch_buy.yaml deleted file mode 100644 index 7e891085..00000000 --- a/tests/cassettes/test_batch_buy.yaml +++ /dev/null @@ -1,152 +0,0 @@ -interactions: -- request: - body: '{"batch": {"shipments": [{"to_address": {"name": "Jack Sparrow", "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", - "zip": "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "from_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '620' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches - response: - body: - string: '{"id": "batch_a3e18200e5104896874b4af64a3dde38", "object": "Batch", - "mode": "test", "state": "creating", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:24Z", "updated_at": "2025-03-06T19:47:24Z", - "scan_form": null, "shipments": [], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '384' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbcce2b9773400184f42 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.048992' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches/batch_a3e18200e5104896874b4af64a3dde38/buy - response: - body: - string: '{"id": "batch_a3e18200e5104896874b4af64a3dde38", "object": "Batch", - "mode": "test", "state": "created", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:24Z", "updated_at": "2025-03-06T19:47:24Z", - "scan_form": null, "shipments": [{"batch_status": "queued_for_purchase", "batch_message": - null, "reference": null, "tracking_code": null, "id": "shp_fd3accc750604a3c9fa45e16b61af49b"}], - "status": {"created": 1, "queued_for_purchase": 0, "creation_failed": 0, "postage_purchased": - 0, "postage_purchase_failed": 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '524' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbd1e2b97734001855c5 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.050381' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_batch_create.yaml b/tests/cassettes/test_batch_create.yaml deleted file mode 100644 index 8a83a47e..00000000 --- a/tests/cassettes/test_batch_create.yaml +++ /dev/null @@ -1,79 +0,0 @@ -interactions: -- request: - body: '{"batch": {"shipments": [{"to_address": {"name": "Jack Sparrow", "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", - "zip": "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "from_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '620' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches - response: - body: - string: '{"id": "batch_714d7667a73f450eb169b20c1425c6a2", "object": "Batch", - "mode": "test", "state": "creating", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:23Z", "updated_at": "2025-03-06T19:47:23Z", - "scan_form": null, "shipments": [], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '384' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fbcbe2b9773100184e69 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.040101' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_batch_create_scanform.yaml b/tests/cassettes/test_batch_create_scanform.yaml deleted file mode 100644 index 01394a69..00000000 --- a/tests/cassettes/test_batch_create_scanform.yaml +++ /dev/null @@ -1,226 +0,0 @@ -interactions: -- request: - body: '{"batch": {"shipments": [{"to_address": {"name": "Jack Sparrow", "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", - "zip": "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "from_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '620' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches - response: - body: - string: '{"id": "batch_79b95699e2644f198db68d1824c11497", "object": "Batch", - "mode": "test", "state": "creating", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:29Z", "updated_at": "2025-03-06T19:47:29Z", - "scan_form": null, "shipments": [], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '384' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbd1e2b97735001855fc - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.038535' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches/batch_79b95699e2644f198db68d1824c11497/buy - response: - body: - string: '{"id": "batch_79b95699e2644f198db68d1824c11497", "object": "Batch", - "mode": "test", "state": "created", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:29Z", "updated_at": "2025-03-06T19:47:29Z", - "scan_form": null, "shipments": [{"batch_status": "queued_for_purchase", "batch_message": - null, "reference": null, "tracking_code": null, "id": "shp_042b8633dd58412899313410cd5ad5a7"}], - "status": {"created": 1, "queued_for_purchase": 0, "creation_failed": 0, "postage_purchased": - 0, "postage_purchase_failed": 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '524' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbd6e2b9773500185b86 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.051630' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches/batch_79b95699e2644f198db68d1824c11497/scan_form - response: - body: - string: '{"id": "batch_79b95699e2644f198db68d1824c11497", "object": "Batch", - "mode": "test", "state": "purchased", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:29Z", "updated_at": "2025-03-06T19:47:39Z", - "scan_form": {"id": "sf_a1082a2498034042a96617a8d79ff0c4", "object": "ScanForm", - "created_at": "2025-03-06T19:47:39Z", "updated_at": "2025-03-06T19:47:39Z", - "tracking_codes": [], "address": null, "status": "creating", "message": null, - "form_url": null, "form_file_type": null, "batch_id": "batch_79b95699e2644f198db68d1824c11497", - "confirmation": null}, "shipments": [{"batch_status": "postage_purchased", - "batch_message": null, "reference": null, "tracking_code": "9400100208303109500638", - "id": "shp_042b8633dd58412899313410cd5ad5a7"}], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 1, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '856' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbdbe2b9773500186158 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb56nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.072810' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_batch_label.yaml b/tests/cassettes/test_batch_label.yaml deleted file mode 100644 index 13ffcda8..00000000 --- a/tests/cassettes/test_batch_label.yaml +++ /dev/null @@ -1,222 +0,0 @@ -interactions: -- request: - body: '{"batch": {"shipments": [{"to_address": {"name": "Jack Sparrow", "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", - "zip": "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "from_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '620' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches - response: - body: - string: '{"id": "batch_b09f402edaf0429491cc25c2d0c3238a", "object": "Batch", - "mode": "test", "state": "creating", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:41Z", "updated_at": "2025-03-06T19:47:41Z", - "scan_form": null, "shipments": [], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '384' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbdde2b977370018636c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.043385' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches/batch_b09f402edaf0429491cc25c2d0c3238a/buy - response: - body: - string: '{"id": "batch_b09f402edaf0429491cc25c2d0c3238a", "object": "Batch", - "mode": "test", "state": "created", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:41Z", "updated_at": "2025-03-06T19:47:41Z", - "scan_form": null, "shipments": [{"batch_status": "queued_for_purchase", "batch_message": - null, "reference": null, "tracking_code": null, "id": "shp_597cb548f2fc49a59bcb5f735e518718"}], - "status": {"created": 1, "queued_for_purchase": 0, "creation_failed": 0, "postage_purchased": - 0, "postage_purchase_failed": 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '524' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbe2e2b9773700186893 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.054727' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"file_format": "ZPL"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '22' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches/batch_b09f402edaf0429491cc25c2d0c3238a/label - response: - body: - string: '{"id": "batch_b09f402edaf0429491cc25c2d0c3238a", "object": "Batch", - "mode": "test", "state": "label_generating", "num_shipments": 1, "reference": - null, "created_at": "2025-03-06T19:47:41Z", "updated_at": "2025-03-06T19:47:51Z", - "scan_form": null, "shipments": [{"batch_status": "postage_purchased", "batch_message": - null, "reference": null, "tracking_code": "9400100208303109500652", "id": - "shp_597cb548f2fc49a59bcb5f735e518718"}], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 1, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '551' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbe7e2b9773700186dc6 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.035757' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_batch_retrieve.yaml b/tests/cassettes/test_batch_retrieve.yaml deleted file mode 100644 index b8b83d08..00000000 --- a/tests/cassettes/test_batch_retrieve.yaml +++ /dev/null @@ -1,147 +0,0 @@ -interactions: -- request: - body: '{"batch": {"shipments": [{"to_address": {"name": "Jack Sparrow", "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", - "zip": "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "from_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '620' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches - response: - body: - string: '{"id": "batch_af1a8a3cfc1f444d961e620e2ade0f7a", "object": "Batch", - "mode": "test", "state": "creating", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:23Z", "updated_at": "2025-03-06T19:47:23Z", - "scan_form": null, "shipments": [], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '384' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbcbe2b9773200184e8d - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.042310' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/batches/batch_af1a8a3cfc1f444d961e620e2ade0f7a - response: - body: - string: '{"id": "batch_af1a8a3cfc1f444d961e620e2ade0f7a", "object": "Batch", - "mode": "test", "state": "creating", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:47:23Z", "updated_at": "2025-03-06T19:47:23Z", - "scan_form": null, "shipments": [], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '384' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbcbe2b9773200184ea8 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.023351' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_beta_get_lowest_stateless_rate.yaml b/tests/cassettes/test_beta_get_lowest_stateless_rate.yaml deleted file mode 100644 index 62fcd32a..00000000 --- a/tests/cassettes/test_beta_get_lowest_stateless_rate.yaml +++ /dev/null @@ -1,98 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '496' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/beta/rates - response: - body: - string: '{"from_address": {"object": "Address", "name": "Jack Sparrow", "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": ""}, - "to_address": {"object": "Address", "name": "Elizabeth Swan", "street1": "179 - N Harbor Dr", "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": - "US", "phone": "", "email": ""}, "rates": [{"object": - "Rate", "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"object": - "Rate", "mode": "test", "service": "Priority", "carrier": "USPS", "rate": - "7.42", "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", - "list_rate": "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"object": - "Rate", "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": - "6.07", "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", - "list_rate": "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}], "options": - {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "parcel": - {"object": "Parcel", "length": 10.0, "width": 8.0, "height": 4.0, "weight": - 15.4}, "messages": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1705' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - Origin - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fbe8e2b9777600186e36 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.116136' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_beta_referral_customer_add_payment_method.yaml b/tests/cassettes/test_beta_referral_customer_add_payment_method.yaml deleted file mode 100644 index fb9a31a3..00000000 --- a/tests/cassettes/test_beta_referral_customer_add_payment_method.yaml +++ /dev/null @@ -1,71 +0,0 @@ -interactions: -- request: - body: '{"payment_method": {"stripe_customer_id": "cus_123", "payment_method_reference": - "ba_123", "priority": "primary"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '114' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/beta/referral_customers/payment_method - response: - body: - string: '{"error": {"code": "BILLING.INVALID_PAYMENT_GATEWAY_REFERENCE", "message": - "Invalid connect integration.", "errors": []}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '115' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - Origin - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbe8e2b9777700186e76 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.036253' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_beta_referral_customer_create_bank_account_client_secret.yaml b/tests/cassettes/test_beta_referral_customer_create_bank_account_client_secret.yaml deleted file mode 100644 index b6dcb767..00000000 --- a/tests/cassettes/test_beta_referral_customer_create_bank_account_client_secret.yaml +++ /dev/null @@ -1,69 +0,0 @@ -interactions: -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/beta/financial_connections_sessions - response: - body: - string: '{"client_secret": "fcsess_client_secret_Pk6DPwMAJUC4q9Y6T05jS5cG"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '65' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - Origin - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 595be116677dbc1de2b8e9ec0053f5f4 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.599103' - x-version-label: - - easypost-202501062233-3c9302ef23-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_beta_referral_customer_create_credit_card_client_secret.yaml b/tests/cassettes/test_beta_referral_customer_create_credit_card_client_secret.yaml deleted file mode 100644 index df78cf32..00000000 --- a/tests/cassettes/test_beta_referral_customer_create_credit_card_client_secret.yaml +++ /dev/null @@ -1,69 +0,0 @@ -interactions: -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/beta/setup_intents - response: - body: - string: '{"client_secret": "seti_0QemQjDqT4huGUvdEmRKe2Vr_secret_RXsBcDsHB0wqRfqUAicRZbJi5SgCVo8"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '88' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - Origin - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 595be115677dbc1ce2b8e9eb0053f566 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.674861' - x-version-label: - - easypost-202501062233-3c9302ef23-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_beta_referral_customer_refund_by_amount.yaml b/tests/cassettes/test_beta_referral_customer_refund_by_amount.yaml deleted file mode 100644 index c1c307a2..00000000 --- a/tests/cassettes/test_beta_referral_customer_refund_by_amount.yaml +++ /dev/null @@ -1,71 +0,0 @@ -interactions: -- request: - body: '{"refund_amount": 2000}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '23' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/beta/referral_customers/refunds - response: - body: - string: '{"error": {"code": "TRANSACTION.AMOUNT_INVALID", "message": "Refund - amount is invalid. Please use a valid amount or escalate to finance.", "errors": - []}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '147' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - Origin - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbe8e2b9777800186e8e - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.492218' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_beta_referral_customer_refund_by_payment_log.yaml b/tests/cassettes/test_beta_referral_customer_refund_by_payment_log.yaml deleted file mode 100644 index b45aa98f..00000000 --- a/tests/cassettes/test_beta_referral_customer_refund_by_payment_log.yaml +++ /dev/null @@ -1,70 +0,0 @@ -interactions: -- request: - body: '{"payment_log_id": "paylog_123"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '32' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/beta/referral_customers/refunds - response: - body: - string: '{"error": {"code": "TRANSACTION.DOES_NOT_EXIST", "message": "We could - not find a transaction with that id.", "errors": []}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '117' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - Origin - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbe9e2b9777900186f3c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.029665' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_beta_retrieve_stateless_rates.yaml b/tests/cassettes/test_beta_retrieve_stateless_rates.yaml deleted file mode 100644 index e8cdc8ba..00000000 --- a/tests/cassettes/test_beta_retrieve_stateless_rates.yaml +++ /dev/null @@ -1,98 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '496' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/beta/rates - response: - body: - string: '{"from_address": {"object": "Address", "name": "Jack Sparrow", "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": ""}, - "to_address": {"object": "Address", "name": "Elizabeth Swan", "street1": "179 - N Harbor Dr", "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": - "US", "phone": "", "email": ""}, "rates": [{"object": - "Rate", "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"object": - "Rate", "mode": "test", "service": "Priority", "carrier": "USPS", "rate": - "7.42", "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", - "list_rate": "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"object": - "Rate", "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": - "6.07", "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", - "list_rate": "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}], "options": - {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "parcel": - {"object": "Parcel", "length": 10.0, "width": 8.0, "height": 4.0, "weight": - 15.4}, "messages": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1705' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - Origin - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbe7e2b9777500186df3 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.109833' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_all.yaml b/tests/cassettes/test_carrier_account_all.yaml deleted file mode 100644 index 74b57ac9..00000000 --- a/tests/cassettes/test_carrier_account_all.yaml +++ /dev/null @@ -1,67 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/carrier_accounts?page_size=5 - response: - body: - string: '[{"id": "ca_b25657e9896e4d63ac8151ac346ac41e", "object": "CarrierAccount", - "type": "UspsAccount", "clone": false, "created_at": "2017-03-01T03:01:34Z", - "updated_at": "2018-08-09T02:45:22Z", "description": "USPS Account", "reference": - null, "billing_type": "easypost", "readable": "USPS", "logo": null, "fields": - [], "credentials": {}, "test_credentials": {}}]' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1068' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fbe9e2b9777c0018702a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.036109' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_create.yaml b/tests/cassettes/test_carrier_account_create.yaml deleted file mode 100644 index 1efdf479..00000000 --- a/tests/cassettes/test_carrier_account_create.yaml +++ /dev/null @@ -1,137 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "DhlEcsAccount", "credentials": {"client_id": - "123456", "client_secret": "123abc", "distribution_center": "USLAX1", "pickup_id": - "123456"}, "test_credentials": {"client_id": "123456", "client_secret": "123abc", - "distribution_center": "USLAX1", "pickup_id": "123456"}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '297' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts - response: - body: - string: '{"id": "ca_b3b0ce644621411badf5c1fb5bd388df", "object": "CarrierAccount", - "type": "DhlEcsAccount", "clone": false, "created_at": "2025-03-06T19:47:53Z", - "updated_at": "2025-03-06T19:47:53Z", "description": "DHL eCommerce Account", - "reference": null, "billing_type": "carrier", "readable": "DHL eCommerce", - "logo": null, "fields": [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1369' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62567c9fbe9e2b9777a00186f6d - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.153005' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_b3b0ce644621411badf5c1fb5bd388df - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62567c9fbe9e2b9777a00186fa1 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.054696' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_amazon_shipping.yaml b/tests/cassettes/test_carrier_account_create_amazon_shipping.yaml deleted file mode 100644 index eae66012..00000000 --- a/tests/cassettes/test_carrier_account_create_amazon_shipping.yaml +++ /dev/null @@ -1,134 +0,0 @@ -interactions: -- request: - body: '{"carrier_account_oauth_registrations": {"type": "AmazonShippingAccount"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '74' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/register_oauth - response: - body: - string: '{"id": "ca_18bfc1a27cc349cfbf219cf0e754f917", "object": "CarrierAccount", - "type": "AmazonShippingAccount", "clone": false, "created_at": "2025-04-10T19:12:34Z", - "updated_at": "2025-04-10T19:12:34Z", "description": null, "reference": null, - "billing_type": "carrier", "readable": "Amazon Shipping", "logo": null, "fields": - [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1448' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 028443c067f81822e2bbac9c00135101 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 284c5d344a - - extlb1nuq 99aac35317 - x-runtime: - - '0.225842' - x-version-label: - - easypost-202504101604-e81adf64e4-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_18bfc1a27cc349cfbf219cf0e754f917 - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 028443c067f81822e2bbac9c00135164 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 284c5d344a - - extlb1nuq 99aac35317 - x-runtime: - - '0.056642' - x-version-label: - - easypost-202504101604-e81adf64e4-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_ups.yaml b/tests/cassettes/test_carrier_account_create_ups.yaml deleted file mode 100644 index 0a5daabc..00000000 --- a/tests/cassettes/test_carrier_account_create_ups.yaml +++ /dev/null @@ -1,135 +0,0 @@ -interactions: -- request: - body: '{"carrier_account_oauth_registrations": {"type": "UpsAccount", "account_number": - "123456789"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '94' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/register_oauth - response: - body: - string: '{"id": "ca_b42eeb389ad6481698e3aff5002502c3", "object": "CarrierAccount", - "type": "UpsAccount", "clone": false, "created_at": "2025-05-23T19:13:53Z", - "updated_at": "2025-05-23T19:13:53Z", "description": null, "reference": null, - "billing_type": "carrier", "readable": "UPS", "logo": null, "fields": [], - "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1416' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6be4a8f16830c8f1e787301c003e936f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 668d3fc830 - - extlb1nuq 99aac35317 - x-runtime: - - '0.104749' - x-version-label: - - easypost-202505231841-d89645a184-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_b42eeb389ad6481698e3aff5002502c3 - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6be4a8f16830c8f1e787301c003e9394 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 668d3fc830 - - extlb1nuq 99aac35317 - x-runtime: - - '0.065988' - x-version-label: - - easypost-202505231841-d89645a184-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_AmazonShippingAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_AmazonShippingAccount.yaml deleted file mode 100644 index ab9b0da5..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_AmazonShippingAccount.yaml +++ /dev/null @@ -1,142 +0,0 @@ -interactions: -- request: - body: '{"carrier_account_oauth_registrations": {"type": "AmazonShippingAccount"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '74' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/register_oauth - response: - body: - string: '{"id": "ca_f5ee71bc1d49489d9f9c13d210f393fb", "object": "CarrierAccount", - "type": "AmazonShippingAccount", "clone": false, "created_at": "2026-10-15T20:04:32Z", - "updated_at": "2026-10-15T20:04:32Z", "description": null, "reference": null, - "billing_type": "carrier", "readable": "Amazon Shipping", "logo": null, "fields": - [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1753' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7ff0b0716ad131d0e2ba14b7005c4820 - x-frame-options: - - SAMEORIGIN - x-node: - - web108azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4azw f29267e751 - - extlb2azw ff4cfe6eb5 - x-runtime: - - '0.119564' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_f5ee71bc1d49489d9f9c13d210f393fb - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - add87ec86ad131d1e2ba14b80058ad37 - x-frame-options: - - SAMEORIGIN - x-node: - - web124azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb1azw f29267e751 - - extlb3azw ff4cfe6eb5 - x-runtime: - - '0.076582' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_FedexAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_FedexAccount.yaml deleted file mode 100644 index 3af6f367..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_FedexAccount.yaml +++ /dev/null @@ -1,74 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "FedexAccount", "registration_data": {}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '70' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/register - response: - body: - string: '{"error": {"code": "GONE", "message": "The requested resource is no - longer available at the server and no forwarding address is known.", "errors": - [{"message": "FedEx account registrations must use the multi-factor authentication - (MFA) registration workflow. See: https://support.easypost.com/hc/en-us/articles/35262738410253-FedEx-Multi-Factor-Authentication"}]}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '357' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - aebfacaf6ad131d0e2ba149e0058abce - x-frame-options: - - SAMEORIGIN - x-node: - - web107azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4azw f29267e751 - - extlb3azw ff4cfe6eb5 - x-runtime: - - '0.042922' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 410 - message: Gone -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_FedexDefaultAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_FedexDefaultAccount.yaml deleted file mode 100644 index 16a770ad..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_FedexDefaultAccount.yaml +++ /dev/null @@ -1,78 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "FedexDefaultAccount", "registration_data": - {}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '77' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/open - response: - body: - string: '{"error": {"code": "UNPROCESSABLE_ENTITY", "message": "The request - was understood, but cannot be processed.", "errors": [{"field": "name", "message": - "is missing"}, {"field": "street1", "message": "is missing"}, {"field": "city", - "message": "is missing"}, {"field": "state", "message": "is missing"}, {"field": - "postal_code", "message": "is missing"}, {"field": "country", "message": "is - missing"}, {"field": "phone", "message": "is missing"}, {"field": "email", - "message": "is missing"}]}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '453' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 97548db56ad131cee2ba1496005e01b6 - x-frame-options: - - SAMEORIGIN - x-node: - - web107azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3azw f29267e751 - - extlb1azw ff4cfe6eb5 - x-runtime: - - '0.027957' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_FedexSmartpostAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_FedexSmartpostAccount.yaml deleted file mode 100644 index 0248eccd..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_FedexSmartpostAccount.yaml +++ /dev/null @@ -1,75 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "FedexSmartpostAccount", "registration_data": - {}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '79' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/register - response: - body: - string: '{"error": {"code": "GONE", "message": "The requested resource is no - longer available at the server and no forwarding address is known.", "errors": - [{"message": "FedEx account registrations must use the multi-factor authentication - (MFA) registration workflow. See: https://support.easypost.com/hc/en-us/articles/35262738410253-FedEx-Multi-Factor-Authentication"}]}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '357' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - cb7ede806ad131d0e2ba149f005e0635 - x-frame-options: - - SAMEORIGIN - x-node: - - web127azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3azw f29267e751 - - extlb1azw ff4cfe6eb5 - x-runtime: - - '0.042996' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 410 - message: Gone -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_GofoWalletAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_GofoWalletAccount.yaml deleted file mode 100644 index 9c7a226b..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_GofoWalletAccount.yaml +++ /dev/null @@ -1,143 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "GofoWalletAccount", "registration_data": - {}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '75' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/open - response: - body: - string: '{"id": "ca_beb5806670fc4518b58f0ef6969616fd", "object": "CarrierAccount", - "type": "GofoWalletAccount", "clone": false, "created_at": "2026-10-15T20:04:31Z", - "updated_at": "2026-10-15T20:04:31Z", "description": "GOFO Wallet Account", - "reference": null, "billing_type": "easypost", "readable": "GOFO Wallet", - "logo": null, "fields": [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '460' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 2cad6c3f6ad131cfe2ba1497005c43e8 - x-frame-options: - - SAMEORIGIN - x-node: - - web124azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb1azw f29267e751 - - extlb2azw ff4cfe6eb5 - x-runtime: - - '0.071176' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_beb5806670fc4518b58f0ef6969616fd - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - add87ec56ad131cfe2ba14980058a8a4 - x-frame-options: - - SAMEORIGIN - x-node: - - web116azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3azw f29267e751 - - extlb3azw ff4cfe6eb5 - x-runtime: - - '0.070445' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_UniUniWalletAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_UniUniWalletAccount.yaml deleted file mode 100644 index b37551a8..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_UniUniWalletAccount.yaml +++ /dev/null @@ -1,143 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "UniUniWalletAccount", "registration_data": - {}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '77' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/open - response: - body: - string: '{"id": "ca_057c0400d9e6445eaca363a46156e047", "object": "CarrierAccount", - "type": "UniUniWalletAccount", "clone": false, "created_at": "2026-10-15T20:04:31Z", - "updated_at": "2026-10-15T20:04:31Z", "description": "UniUni Wallet Account", - "reference": null, "billing_type": "easypost", "readable": "UniUni Wallet", - "logo": null, "fields": [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '600' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7ff0b07a6ad131cfe2ba149a005c455a - x-frame-options: - - SAMEORIGIN - x-node: - - web117azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb1azw f29267e751 - - extlb2azw ff4cfe6eb5 - x-runtime: - - '0.072914' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_057c0400d9e6445eaca363a46156e047 - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - aebfacaf6ad131cfe2ba149b0058a9ee - x-frame-options: - - SAMEORIGIN - x-node: - - web114azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb1azw f29267e751 - - extlb3azw ff4cfe6eb5 - x-runtime: - - '0.082458' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_UpsAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_UpsAccount.yaml deleted file mode 100644 index 070a99f3..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_UpsAccount.yaml +++ /dev/null @@ -1,74 +0,0 @@ -interactions: -- request: - body: '{"carrier_account_oauth_registrations": {"type": "UpsAccount"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '63' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/register_oauth - response: - body: - string: '{"error": {"code": "UNPROCESSABLE_ENTITY", "message": "The request - was understood, but cannot be processed.", "errors": [{"field": "account_number", - "message": "The provided Carrier Account''s Account Number is required but - missing."}]}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '227' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - cb7ede836ad131d1e2ba14b9005e07d0 - x-frame-options: - - SAMEORIGIN - x-node: - - web104azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb2azw f29267e751 - - extlb1azw ff4cfe6eb5 - x-runtime: - - '0.025475' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_UpsDapAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_UpsDapAccount.yaml deleted file mode 100644 index 05a3da8e..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_UpsDapAccount.yaml +++ /dev/null @@ -1,73 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "UpsDapAccount", "registration_data": {}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '71' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/open - response: - body: - string: '{"error": {"code": "PARAMETER.REQUIRED", "message": "Missing required - parameter.", "errors": [{"field": "postal_code", "message": "is required but - missing"}]}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '150' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 97548db66ad131cfe2ba1499005e033b - x-frame-options: - - SAMEORIGIN - x-node: - - web127azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3azw f29267e751 - - extlb1azw ff4cfe6eb5 - x-runtime: - - '0.058331' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_UpsMailInnovationsAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_UpsMailInnovationsAccount.yaml deleted file mode 100644 index 52af48a2..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_UpsMailInnovationsAccount.yaml +++ /dev/null @@ -1,76 +0,0 @@ -interactions: -- request: - body: '{"carrier_account_oauth_registrations": {"type": "UpsMailInnovationsAccount"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '78' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/register_oauth - response: - body: - string: '{"error": {"code": "UNPROCESSABLE_ENTITY", "message": "The request - was understood, but cannot be processed.", "errors": [{"field": "account_number", - "message": "The provided Carrier Account''s Account Number is required but - missing."}]}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '227' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7ff0b0746ad131d1e2ba14ba005c49f9 - x-frame-options: - - SAMEORIGIN - x-node: - - web101azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb2azw f29267e751 - - extlb2azw ff4cfe6eb5 - x-runtime: - - '0.025996' - x-version-label: - - easypost-202610151955-b13716d895-main - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_UpsSurepostAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_UpsSurepostAccount.yaml deleted file mode 100644 index cbbb67d1..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_UpsSurepostAccount.yaml +++ /dev/null @@ -1,74 +0,0 @@ -interactions: -- request: - body: '{"carrier_account_oauth_registrations": {"type": "UpsSurepostAccount"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '71' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/register_oauth - response: - body: - string: '{"error": {"code": "UNPROCESSABLE_ENTITY", "message": "The request - was understood, but cannot be processed.", "errors": [{"field": "account_number", - "message": "The provided Carrier Account''s Account Number is required but - missing."}]}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '227' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - add87ec86ad131d1e2ba14bb0058aed1 - x-frame-options: - - SAMEORIGIN - x-node: - - web112azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb2azw f29267e751 - - extlb3azw ff4cfe6eb5 - x-runtime: - - '0.023379' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_UspsShipAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_UspsShipAccount.yaml deleted file mode 100644 index 91209a5b..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_UspsShipAccount.yaml +++ /dev/null @@ -1,142 +0,0 @@ -interactions: -- request: - body: '{"carrier_account_oauth_registrations": {"type": "UspsShipAccount"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '68' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/register_oauth - response: - body: - string: '{"id": "ca_fa253fbe72144d0dbe6817fc99d0c136", "object": "CarrierAccount", - "type": "UspsShipAccount", "clone": false, "created_at": "2026-10-15T20:04:33Z", - "updated_at": "2026-10-15T20:04:33Z", "description": null, "reference": null, - "billing_type": "carrier", "readable": "Usps Ship", "logo": null, "fields": - [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2561' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 97548db46ad131d1e2ba14bc005e092a - x-frame-options: - - SAMEORIGIN - x-node: - - web115azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb2azw f29267e751 - - extlb1azw ff4cfe6eb5 - x-runtime: - - '0.105050' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_fa253fbe72144d0dbe6817fc99d0c136 - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - add87ec36ad131d1e2ba14d80058afe8 - x-frame-options: - - SAMEORIGIN - x-node: - - web127azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb2azw f29267e751 - - extlb3azw ff4cfe6eb5 - x-runtime: - - '0.086817' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_url_routing_VehoWalletAccount.yaml b/tests/cassettes/test_carrier_account_create_url_routing_VehoWalletAccount.yaml deleted file mode 100644 index 91a029da..00000000 --- a/tests/cassettes/test_carrier_account_create_url_routing_VehoWalletAccount.yaml +++ /dev/null @@ -1,143 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "VehoWalletAccount", "registration_data": - {}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '75' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/open - response: - body: - string: '{"id": "ca_25a8211bea34436cb296a2a769497f0b", "object": "CarrierAccount", - "type": "VehoWalletAccount", "clone": false, "created_at": "2026-10-15T20:04:32Z", - "updated_at": "2026-10-15T20:04:32Z", "description": "Veho Account", "reference": - null, "billing_type": "easypost", "readable": "Veho", "logo": null, "fields": - [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '583' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - cb7ede836ad131d0e2ba149c005e0501 - x-frame-options: - - SAMEORIGIN - x-node: - - web124azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3azw f29267e751 - - extlb1azw ff4cfe6eb5 - x-runtime: - - '0.091164' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_25a8211bea34436cb296a2a769497f0b - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7ff0b0756ad131d0e2ba149d005c472c - x-frame-options: - - SAMEORIGIN - x-node: - - web113azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb2azw f29267e751 - - extlb2azw ff4cfe6eb5 - x-runtime: - - '0.071861' - x-version-label: - - easypost-202610151849-c381b11f6c-main - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_create_with_custom_workflow.yaml b/tests/cassettes/test_carrier_account_create_with_custom_workflow.yaml deleted file mode 100644 index 1ce9def1..00000000 --- a/tests/cassettes/test_carrier_account_create_with_custom_workflow.yaml +++ /dev/null @@ -1,85 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "FedexAccount", "registration_data": {}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '70' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts/register - response: - body: - string: '{"error": {"code": "UNPROCESSABLE_ENTITY", "message": "The request - was understood, but cannot be processed.", "errors": [{"field": "shipping_streets", - "message": "must be present and a string"}, {"field": "shipping_city", "message": - "must be present and a string"}, {"field": "shipping_state", "message": "must - be present and a string"}, {"field": "shipping_postal_code", "message": "must - be present and a string"}, {"field": "shipping_country_code", "message": "must - be present and a string"}, {"field": "corporate_first_name", "message": "must - be present and a string"}, {"field": "corporate_last_name", "message": "must - be present and a string"}, {"field": "corporate_job_title", "message": "must - be present and a string"}, {"field": "corporate_company_name", "message": - "must be present and a string"}, {"field": "corporate_phone_number", "message": - "must be present and a string"}, {"field": "corporate_email_address", "message": - "must be present and a string"}, {"field": "corporate_streets", "message": - "must be present and a string"}, {"field": "corporate_city", "message": "must - be present and a string"}, {"field": "corporate_state", "message": "must be - present and a string"}, {"field": "corporate_postal_code", "message": "must - be present and a string"}, {"field": "corporate_country_code", "message": - "must be present and a string"}, {"field": "account_number", "message": "must - be present and a string"}]}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1347' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fbebe2b97a8e001871b4 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.019066' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_carrier_account_delete.yaml b/tests/cassettes/test_carrier_account_delete.yaml deleted file mode 100644 index 0f621e5d..00000000 --- a/tests/cassettes/test_carrier_account_delete.yaml +++ /dev/null @@ -1,137 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "DhlEcsAccount", "credentials": {"client_id": - "123456", "client_secret": "123abc", "distribution_center": "USLAX1", "pickup_id": - "123456"}, "test_credentials": {"client_id": "123456", "client_secret": "123abc", - "distribution_center": "USLAX1", "pickup_id": "123456"}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '297' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts - response: - body: - string: '{"id": "ca_2db7b102d7384c6580f7c1a33cc6ab09", "object": "CarrierAccount", - "type": "DhlEcsAccount", "clone": false, "created_at": "2025-03-06T19:47:54Z", - "updated_at": "2025-03-06T19:47:54Z", "description": "DHL eCommerce Account", - "reference": null, "billing_type": "carrier", "readable": "DHL eCommerce", - "logo": null, "fields": [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1369' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbeae2b97a8c0018710a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.179585' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_2db7b102d7384c6580f7c1a33cc6ab09 - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbeae2b97a8c00187148 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.052865' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_retrieve.yaml b/tests/cassettes/test_carrier_account_retrieve.yaml deleted file mode 100644 index 576a2b4d..00000000 --- a/tests/cassettes/test_carrier_account_retrieve.yaml +++ /dev/null @@ -1,204 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "DhlEcsAccount", "credentials": {"client_id": - "123456", "client_secret": "123abc", "distribution_center": "USLAX1", "pickup_id": - "123456"}, "test_credentials": {"client_id": "123456", "client_secret": "123abc", - "distribution_center": "USLAX1", "pickup_id": "123456"}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '297' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts - response: - body: - string: '{"id": "ca_0d2084c8bd8a483eb7cf30adf83ca4ed", "object": "CarrierAccount", - "type": "DhlEcsAccount", "clone": false, "created_at": "2025-03-06T19:47:53Z", - "updated_at": "2025-03-06T19:47:53Z", "description": "DHL eCommerce Account", - "reference": null, "billing_type": "carrier", "readable": "DHL eCommerce", - "logo": null, "fields": [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1369' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbe9e2b9777b00186fcf - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.060555' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/carrier_accounts/ca_0d2084c8bd8a483eb7cf30adf83ca4ed - response: - body: - string: '{"id": "ca_0d2084c8bd8a483eb7cf30adf83ca4ed", "object": "CarrierAccount", - "type": "DhlEcsAccount", "clone": false, "created_at": "2025-03-06T19:47:53Z", - "updated_at": "2025-03-06T19:47:53Z", "description": "DHL eCommerce Account", - "reference": null, "billing_type": "carrier", "readable": "DHL eCommerce", - "logo": null, "fields": [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1369' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbe9e2b9777b00186fe9 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.029009' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_0d2084c8bd8a483eb7cf30adf83ca4ed - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbe9e2b9777b00187004 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.053419' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_type.yaml b/tests/cassettes/test_carrier_account_type.yaml deleted file mode 100644 index 2ca1f976..00000000 --- a/tests/cassettes/test_carrier_account_type.yaml +++ /dev/null @@ -1,161 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/carrier_types - response: - body: - string: '[{"object": "CarrierType", "type": "UpsAccount", "readable": "UPS", - "logo": null, "fields": []}, {"object": "CarrierType", "type": "UpsMailInnovationsAccount", - "readable": "UPS Mail Innovations", "logo": null, "fields": []}, {"object": - "CarrierType", "type": "AccurateAccount", "readable": "Accurate", "logo": - null, "fields": []}, {"object": "CarrierType", "type": "AmazonShippingAccount", - "readable": "Amazon Shipping", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "ApcAccount", "readable": "APC", "logo": null, "fields": []}, {"object": - "CarrierType", "type": "AsendiaUsaAccount", "readable": "Asendia USA", "logo": - null, "fields": []}, {"object": "CarrierType", "type": "AustraliaPostAccount", - "readable": "Australia Post", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "BetterTrucksAccount", "readable": "Better Trucks", "logo": null, - "fields": []}, {"object": "CarrierType", "type": "BluestreakAccount", "readable": - "Bluestreak", "logo": null, "fields": []}, {"object": "CarrierType", "type": - "CanadaPostAccount", "readable": "Canada Post", "logo": null, "fields": []}, - {"object": "CarrierType", "type": "CanparAccount", "readable": "Canpar", "logo": - null, "fields": []}, {"object": "CarrierType", "type": "ColumbusLastMileAccount", - "readable": "CDL Last Mile Solutions", "logo": null, "fields": []}, {"object": - "CarrierType", "type": "CourierExpressAccount", "readable": "Courier Express", - "logo": null, "fields": []}, {"object": "CarrierType", "type": "CouriersPleaseAccount", - "readable": "CouriersPlease", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "CSLogisticsAccount", "readable": "CSLogistics", "logo": null, "fields": - []}, {"object": "CarrierType", "type": "DaiPostAccount", "readable": "Dai - Post", "logo": null, "fields": []}, {"object": "CarrierType", "type": "DeliverItAccount", - "readable": "Deliver-It", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "DeutschePostUKAccount", "readable": "Deutsche Post UK", "logo": null, - "fields": []}, {"object": "CarrierType", "type": "DhlEcsAccount", "readable": - "DHL eCommerce", "logo": null, "fields": []}, {"object": "CarrierType", "type": - "DhlExpressAccount", "readable": "DHL Express", "logo": null, "fields": []}, - {"object": "CarrierType", "type": "DhlPaketAccount", "readable": "DHL Paket", - "logo": null, "fields": []}, {"object": "CarrierType", "type": "DhlParcelAccount", - "readable": "DHL Parcel", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "DoorDashAccount", "readable": "DoorDash", "logo": null, "fields": - []}, {"object": "CarrierType", "type": "DouglasAccount", "readable": "Douglas", - "logo": null, "fields": []}, {"object": "CarrierType", "type": "DpdAccount", - "readable": "DPD", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "DpdUkAccount", "readable": "DPD UK", "logo": null, "fields": []}, - {"object": "CarrierType", "type": "DpdNlAccount", "readable": "DPD NL", "logo": - null, "fields": []}, {"object": "CarrierType", "type": "EstafetaAccount", - "readable": "Estafeta", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "FedexAccount", "readable": "FedEx", "logo": null, "fields": []}, - {"object": "CarrierType", "type": "FedexCrossBorderAccount", "readable": "FedEx - Cross Border", "logo": null, "fields": []}, {"object": "CarrierType", "type": - "FedexMailviewAccount", "readable": "FedEx MailView", "logo": null, "fields": - []}, {"object": "CarrierType", "type": "FedexSmartpostAccount", "readable": - "FedEx SmartPost", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "FirstChoiceAccount", "readable": "First Choice", "logo": null, "fields": - []}, {"object": "CarrierType", "type": "FirstMileConciseAccount", "readable": - "First Mile", "logo": null, "fields": []}, {"object": "CarrierType", "type": - "FlexportAccount", "readable": "Flexport", "logo": null, "fields": []}, {"object": - "CarrierType", "type": "GioAccount", "readable": "Gio", "logo": null, "fields": - []}, {"object": "CarrierType", "type": "GsoAccount", "readable": "GSO", "logo": - null, "fields": []}, {"object": "CarrierType", "type": "HailifyAccount", "readable": - "Hailify", "logo": null, "fields": []}, {"object": "CarrierType", "type": - "HenryAccount", "readable": "Henry", "logo": null, "fields": []}, {"object": - "CarrierType", "type": "HermesAccount", "readable": "Evri", "logo": null, - "fields": []}, {"object": "CarrierType", "type": "InterlinkExpressAccount", - "readable": "Interlink Express", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "JetAccount", "readable": "Jet", "logo": null, "fields": []}, {"object": - "CarrierType", "type": "JitsuAccount", "readable": "Jitsu", "logo": null, - "fields": []}, {"object": "CarrierType", "type": "LasershipV2Account", "readable": - "LaserShipV2", "logo": null, "fields": []}, {"object": "CarrierType", "type": - "LoomisExpressAccount", "readable": "Loomis Express", "logo": null, "fields": - []}, {"object": "CarrierType", "type": "LsoAccount", "readable": "LSO", "logo": - null, "fields": []}, {"object": "CarrierType", "type": "MaerskAccount", "readable": - "Maersk", "logo": null, "fields": []}, {"object": "CarrierType", "type": "OmniParcelAccount", - "readable": "OmniParcel", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "OntracAccount", "readable": "OnTrac", "logo": null, "fields": []}, - {"object": "CarrierType", "type": "OntracV3Account", "readable": "OnTrac V3", - "logo": null, "fields": []}, {"object": "CarrierType", "type": "OptimaAccount", - "readable": "Optima", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "OsmWorldwideAccount", "readable": "OSM Worldwide", "logo": null, - "fields": []}, {"object": "CarrierType", "type": "ParcelForceAccount", "readable": - "Parcel Force", "logo": null, "fields": []}, {"object": "CarrierType", "type": - "ParcllAccount", "readable": "Cirro E-Commerce", "logo": null, "fields": []}, - {"object": "CarrierType", "type": "PassportGlobalAccount", "readable": "Passport - Global", "logo": null, "fields": []}, {"object": "CarrierType", "type": "PurolatorAccount", - "readable": "Purolator", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "QuickAccount", "readable": "Quick", "logo": null, "fields": []}, - {"object": "CarrierType", "type": "RoverAccount", "readable": "Rover", "logo": - null, "fields": []}, {"object": "CarrierType", "type": "RoyalMailV3Account", - "readable": "Royal Mail V3", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "RRDonnelleyAccount", "readable": "ePost Global", "logo": null, "fields": - []}, {"object": "CarrierType", "type": "SendleAccount", "readable": "Sendle", - "logo": null, "fields": []}, {"object": "CarrierType", "type": "SfExpressAccount", - "readable": "SF Express", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "SmartKargoAccount", "readable": "SmartKargo", "logo": null, "fields": - []}, {"object": "CarrierType", "type": "SonicAccount", "readable": "Sonic", - "logo": null, "fields": []}, {"object": "CarrierType", "type": "SpeedXAccount", - "readable": "SpeedX", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "SpeedeeAccount", "readable": "Spee-Dee", "logo": null, "fields": - []}, {"object": "CarrierType", "type": "SwayAccount", "readable": "Sway", - "logo": null, "fields": []}, {"object": "CarrierType", "type": "SwyftAccount", - "readable": "Swyft", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "TccAccount", "readable": "Tcc", "logo": null, "fields": []}, {"object": - "CarrierType", "type": "TforceConciseAccount", "readable": "TForce", "logo": - null, "fields": []}, {"object": "CarrierType", "type": "UdsAccount", "readable": - "UDS", "logo": null, "fields": []}, {"object": "CarrierType", "type": "UspsAccount", - "readable": "USPS", "logo": null, "fields": []}, {"object": "CarrierType", - "type": "VehoAccount", "readable": "Veho", "logo": null, "fields": []}]' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '42374' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbebe2b97a8d00187174 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.058157' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_carrier_account_update.yaml b/tests/cassettes/test_carrier_account_update.yaml deleted file mode 100644 index 5aab0100..00000000 --- a/tests/cassettes/test_carrier_account_update.yaml +++ /dev/null @@ -1,271 +0,0 @@ -interactions: -- request: - body: '{"carrier_account": {"type": "DhlEcsAccount", "credentials": {"client_id": - "123456", "client_secret": "123abc", "distribution_center": "USLAX1", "pickup_id": - "123456"}, "test_credentials": {"client_id": "123456", "client_secret": "123abc", - "distribution_center": "USLAX1", "pickup_id": "123456"}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '297' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/carrier_accounts - response: - body: - string: '{"id": "ca_051a2637279743549672467af0badec7", "object": "CarrierAccount", - "type": "DhlEcsAccount", "clone": false, "created_at": "2025-03-06T19:47:54Z", - "updated_at": "2025-03-06T19:47:54Z", "description": "DHL eCommerce Account", - "reference": null, "billing_type": "carrier", "readable": "DHL eCommerce", - "logo": null, "fields": [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1369' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbeae2b97a8b00187055 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.060176' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/carrier_accounts/ca_051a2637279743549672467af0badec7 - response: - body: - string: '{"id": "ca_051a2637279743549672467af0badec7", "object": "CarrierAccount", - "type": "DhlEcsAccount", "clone": false, "created_at": "2025-03-06T19:47:54Z", - "updated_at": "2025-03-06T19:47:54Z", "description": "DHL eCommerce Account", - "reference": null, "billing_type": "carrier", "readable": "DHL eCommerce", - "logo": null, "fields": [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1369' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbeae2b97a8b00187072 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.029269' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"carrier_account": {"description": "My custom description"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '61' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: PATCH - uri: https://api.easypost.com/v2/carrier_accounts/ca_051a2637279743549672467af0badec7 - response: - body: - string: '{"id": "ca_051a2637279743549672467af0badec7", "object": "CarrierAccount", - "type": "DhlEcsAccount", "clone": false, "created_at": "2025-03-06T19:47:54Z", - "updated_at": "2025-03-06T19:47:54Z", "description": "My custom description", - "reference": null, "billing_type": "carrier", "readable": "DHL eCommerce", - "logo": null, "fields": [], "credentials": {}, "test_credentials": {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1369' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbeae2b97a8b0018708a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.088061' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/carrier_accounts/ca_051a2637279743549672467af0badec7 - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbeae2b97a8b001870c2 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.052585' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_claim_all.yaml b/tests/cassettes/test_claim_all.yaml deleted file mode 100644 index c4acdce6..00000000 --- a/tests/cassettes/test_claim_all.yaml +++ /dev/null @@ -1,103 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/claims?page_size=5 - response: - body: - string: '{"claims": [{"approved_amount": null, "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/cde3cb05bd1e4e6f8de416f301f44354.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/3617f2bdfed24000b62349577cc77b85.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/6fc76e0969d94780811a7baf5c1cd4ca.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-03-06T19:48:00Z", "description": "Test description", "history": [{"status": - "submitted", "status_detail": "Claim was created.", "timestamp": "2025-03-06T19:48:00Z"}], - "id": "clm_09ce975320fe4661af0f80a68022ee76", "insurance_amount": "100.00", - "insurance_id": "ins_7bcb457363834ebd88ba419138138fbc", "mode": "test", "object": - "Claim", "payment_method": "easypost_wallet", "recipient_name": null, "requested_amount": - "100.00", "salvage_value": null, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", - "status": "submitted", "status_detail": "Claim was created.", "status_timestamp": - "2025-03-06T19:48:00Z", "tracking_code": "9400100208303109500676", "type": - "damage", "updated_at": "2025-03-06T19:48:00Z"}, {"approved_amount": null, - "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/8fb0b33e39004bfea8bffabf242d48c8.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/6acf5385ee494fc2bfcac704b9dcfddf.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/5bf9e0415088448a937d39348a485593.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-03-06T19:47:58Z", "description": "Test description", "history": [{"status": - "submitted", "status_detail": "Claim was created.", "timestamp": "2025-03-06T19:47:58Z"}], - "id": "clm_09ce5f03fd6b4310b9c5b7f306407214", "insurance_amount": "100.00", - "insurance_id": "ins_029e06b218ab48e0979236191bb04df0", "mode": "test", "object": - "Claim", "payment_method": "easypost_wallet", "recipient_name": null, "requested_amount": - "100.00", "salvage_value": null, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", - "status": "submitted", "status_detail": "Claim was created.", "status_timestamp": - "2025-03-06T19:47:58Z", "tracking_code": "9400100208303109500669", "type": - "damage", "updated_at": "2025-03-06T19:47:58Z"}, {"approved_amount": null, - "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250221/b323c9d15a5f45669b16994df4233f82.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250221/71287f6c2f984eb58e336ff7266d4d7a.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250221/662abb57720b4740a6003e285451c988.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-02-21T18:30:53Z", "description": "Test description", "history": [{"status": - "submitted", "status_detail": "Claim was created.", "timestamp": "2025-02-21T18:30:53Z"}], - "id": "clm_09cc787188c1462aaa437fcba47ee03d", "insurance_amount": "100.00", - "insurance_id": "ins_730ae2cc418147938bfcac3e49ed1665", "mode": "test", "object": - "Claim", "payment_method": "easypost_wallet", "recipient_name": null, "requested_amount": - "100.00", "salvage_value": null, "shipment_id": "shp_bfb151c83dbf4a8c97a494074041c11f", - "status": "submitted", "status_detail": "Claim was created.", "status_timestamp": - "2025-02-21T18:30:53Z", "tracking_code": "9400100208271116404754", "type": - "theft", "updated_at": "2025-02-21T18:30:53Z"}], "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '3374' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbf1e2b97aad0018787c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.045934' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_claim_cancel.yaml b/tests/cassettes/test_claim_cancel.yaml deleted file mode 100644 index bd44043d..00000000 --- a/tests/cassettes/test_claim_cancel.yaml +++ /dev/null @@ -1,642 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}, "options": {"label_format": - "PNG", "invoice_number": "123"}, "reference": "123"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '954' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_0ea044af2a4a491e953233cd7867bb6a", "created_at": "2025-03-06T19:48:01Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-06T19:48:01Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": {"id": "cstinfo_d9951ec92f88467b858907457b287de2", - "object": "CustomsInfo", "created_at": "2025-03-06T19:48:01Z", "updated_at": - "2025-03-06T19:48:01Z", "contents_explanation": "", "contents_type": "merchandise", - "customs_certify": true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI - 30.37(a)", "non_delivery_option": "return", "restriction_comments": null, - "restriction_type": "none", "mode": "test", "declaration": null, "customs_items": - [{"id": "cstitem_ce7a9058a4de43d2a7cb4e181095b619", "object": "CustomsItem", - "created_at": "2025-03-06T19:48:01Z", "updated_at": "2025-03-06T19:48:01Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}]}, "from_address": {"id": "adr_e9c82d93fac311efb46dac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:01+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_f9b7bc5a09c0410b8b5e3d5a4e2d54e7", - "object": "Parcel", "created_at": "2025-03-06T19:48:01Z", "updated_at": "2025-03-06T19:48:01Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_3c9b9d22912b45768152e44b830fc949", - "object": "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_e3014a913dd146f2b8698f7398c7837b", - "object": "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_a144a42f34e24777bffd707cb614c68c", - "object": "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_e9c58fe5fac311ef8e57ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:01+00:00", "updated_at": - "2025-03-06T19:48:01+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_e9c82d93fac311efb46dac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:01+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_e9c58fe5fac311ef8e57ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:01+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5160' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_0ea044af2a4a491e953233cd7867bb6a - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fbf1e2b97aaf001878d9 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.269529' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"rate": {"id": "rate_a144a42f34e24777bffd707cb614c68c"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '57' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_0ea044af2a4a491e953233cd7867bb6a/buy - response: - body: - string: '{"id": "shp_0ea044af2a4a491e953233cd7867bb6a", "created_at": "2025-03-06T19:48:01Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - "9400100208303109500683", "updated_at": "2025-03-06T19:48:03Z", "batch_id": - null, "batch_status": null, "batch_message": null, "customs_info": {"id": - "cstinfo_d9951ec92f88467b858907457b287de2", "object": "CustomsInfo", "created_at": - "2025-03-06T19:48:01Z", "updated_at": "2025-03-06T19:48:01Z", "contents_explanation": - "", "contents_type": "merchandise", "customs_certify": true, "customs_signer": - "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": "return", - "restriction_comments": null, "restriction_type": "none", "mode": "test", - "declaration": null, "customs_items": [{"id": "cstitem_ce7a9058a4de43d2a7cb4e181095b619", - "object": "CustomsItem", "created_at": "2025-03-06T19:48:01Z", "updated_at": - "2025-03-06T19:48:01Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}, "from_address": {"id": - "adr_e9c82d93fac311efb46dac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:01+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_f9b7bc5a09c0410b8b5e3d5a4e2d54e7", - "object": "Parcel", "created_at": "2025-03-06T19:48:01Z", "updated_at": "2025-03-06T19:48:01Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_6a5afe4a07c14caca7afbda6e2c32067", - "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:03Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:02Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e82472ec19172d428b992f713a7a7cf3df.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_3c9b9d22912b45768152e44b830fc949", "object": - "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_e3014a913dd146f2b8698f7398c7837b", - "object": "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_a144a42f34e24777bffd707cb614c68c", - "object": "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_a144a42f34e24777bffd707cb614c68c", "object": - "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_9ac363e1c15c4fc999d121ce98d362e7", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500683", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-06T19:48:03Z", - "updated_at": "2025-03-06T19:48:03Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzlhYzM2M2UxYzE1YzRmYzk5OWQxMjFjZTk4ZDM2MmU3"}, - "to_address": {"id": "adr_e9c58fe5fac311ef8e57ac1f6bc53342", "object": "Address", - "created_at": "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:02+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_e9c82d93fac311efb46dac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:01+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_e9c58fe5fac311ef8e57ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:02+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '7285' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fbf2e2b97aaf0018794c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.858515' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"amount": "100.00"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '20' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_0ea044af2a4a491e953233cd7867bb6a/insure - response: - body: - string: '{"id": "shp_0ea044af2a4a491e953233cd7867bb6a", "created_at": "2025-03-06T19:48:01Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - "9400100208303109500683", "updated_at": "2025-03-06T19:48:03Z", "batch_id": - null, "batch_status": null, "batch_message": null, "customs_info": {"id": - "cstinfo_d9951ec92f88467b858907457b287de2", "object": "CustomsInfo", "created_at": - "2025-03-06T19:48:01Z", "updated_at": "2025-03-06T19:48:01Z", "contents_explanation": - "", "contents_type": "merchandise", "customs_certify": true, "customs_signer": - "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": "return", - "restriction_comments": null, "restriction_type": "none", "mode": "test", - "declaration": null, "customs_items": [{"id": "cstitem_ce7a9058a4de43d2a7cb4e181095b619", - "object": "CustomsItem", "created_at": "2025-03-06T19:48:01Z", "updated_at": - "2025-03-06T19:48:01Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}, "from_address": {"id": - "adr_e9c82d93fac311efb46dac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:01+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": "100.00", "order_id": null, "parcel": {"id": "prcl_f9b7bc5a09c0410b8b5e3d5a4e2d54e7", - "object": "Parcel", "created_at": "2025-03-06T19:48:01Z", "updated_at": "2025-03-06T19:48:01Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_6a5afe4a07c14caca7afbda6e2c32067", - "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:03Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:02Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e82472ec19172d428b992f713a7a7cf3df.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_3c9b9d22912b45768152e44b830fc949", "object": - "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_e3014a913dd146f2b8698f7398c7837b", - "object": "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_a144a42f34e24777bffd707cb614c68c", - "object": "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_a144a42f34e24777bffd707cb614c68c", "object": - "Rate", "created_at": "2025-03-06T19:48:02Z", "updated_at": "2025-03-06T19:48:02Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_9ac363e1c15c4fc999d121ce98d362e7", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500683", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-06T19:48:03Z", - "updated_at": "2025-03-06T19:48:03Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:03Z", "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:03Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:03Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzlhYzM2M2UxYzE1YzRmYzk5OWQxMjFjZTk4ZDM2MmU3"}, - "to_address": {"id": "adr_e9c58fe5fac311ef8e57ac1f6bc53342", "object": "Address", - "created_at": "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:02+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_e9c82d93fac311efb46dac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:01+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_e9c58fe5fac311ef8e57ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:02+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}, {"object": "Fee", "type": - "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": false}], - "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '8509' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fbf3e2b97aaf00187a31 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.315359' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"type": "damage", "email_evidence_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "invoice_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "supporting_documentation_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "description": "Test description", "contact_email": "test@example.com", "tracking_code": - "9400100208303109500683", "amount": "100.00"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '618' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/claims - response: - body: - string: '{"approved_amount": null, "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/48c6da378b1c4df88308924c11d86a20.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/363f7506d469479685db3d284e56fbb5.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/d25e02b038eb46308dc9febeeba1963e.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-03-06T19:48:03Z", "description": "Test description", "history": [{"status": - "submitted", "status_detail": "Claim was created.", "timestamp": "2025-03-06T19:48:03Z"}], - "id": "clm_09cea7c6461a4182a7e05bed24b83717", "insurance_amount": "100.00", - "insurance_id": "ins_229626a7af2f46c28f15547390291e82", "mode": "test", "object": - "Claim", "payment_method": "easypost_wallet", "recipient_name": null, "requested_amount": - "100.00", "salvage_value": null, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", - "status": "submitted", "status_detail": "Claim was created.", "status_timestamp": - "2025-03-06T19:48:03Z", "tracking_code": "9400100208303109500683", "type": - "damage", "updated_at": "2025-03-06T19:48:03Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1115' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fbf3e2b97aaf00187a7b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.744747' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/claims/clm_09cea7c6461a4182a7e05bed24b83717/cancel - response: - body: - string: '{"approved_amount": null, "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/48c6da378b1c4df88308924c11d86a20.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/363f7506d469479685db3d284e56fbb5.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/d25e02b038eb46308dc9febeeba1963e.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-03-06T19:48:03Z", "description": "Test description", "history": [{"status": - "cancelled", "status_detail": "Claim cancellation was requested.", "timestamp": - "2025-03-06T19:48:04Z"}, {"status": "submitted", "status_detail": "Claim was - created.", "timestamp": "2025-03-06T19:48:03Z"}], "id": "clm_09cea7c6461a4182a7e05bed24b83717", - "insurance_amount": "100.00", "insurance_id": "ins_229626a7af2f46c28f15547390291e82", - "mode": "test", "object": "Claim", "payment_method": "easypost_wallet", "recipient_name": - null, "requested_amount": "100.00", "salvage_value": null, "shipment_id": - "shp_0ea044af2a4a491e953233cd7867bb6a", "status": "cancelled", "status_detail": - "Claim cancellation was requested.", "status_timestamp": "2025-03-06T19:48:04Z", - "tracking_code": "9400100208303109500683", "type": "damage", "updated_at": - "2025-03-06T19:48:04Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1240' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fbf4e2b97aaf00187b2a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.039914' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_claim_create.yaml b/tests/cassettes/test_claim_create.yaml deleted file mode 100644 index 8ec8b8b3..00000000 --- a/tests/cassettes/test_claim_create.yaml +++ /dev/null @@ -1,561 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}, "options": {"label_format": - "PNG", "invoice_number": "123"}, "reference": "123"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '954' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "created_at": "2025-03-06T19:47:56Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-06T19:47:56Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": {"id": "cstinfo_99613496ed144db19134629e78dd8309", - "object": "CustomsInfo", "created_at": "2025-03-06T19:47:56Z", "updated_at": - "2025-03-06T19:47:56Z", "contents_explanation": "", "contents_type": "merchandise", - "customs_certify": true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI - 30.37(a)", "non_delivery_option": "return", "restriction_comments": null, - "restriction_type": "none", "mode": "test", "declaration": null, "customs_items": - [{"id": "cstitem_916203bc6a7640ee9f0d3f67192ab18a", "object": "CustomsItem", - "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}]}, "from_address": {"id": "adr_e6b764b2fac311efa8503cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:56+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_59e8de9138da4262994e87a64c8fe537", - "object": "Parcel", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_40f1c040c29848a68b1db88daa3b1964", - "object": "Rate", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_f52fc9b383bc4d93b7f888a675dc6922", - "object": "Rate", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_58bf4ebce74e4639a3a6557a41b53721", - "object": "Rate", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_e6b48af8fac311efb2ebac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:47:56+00:00", "updated_at": - "2025-03-06T19:47:56+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_e6b764b2fac311efa8503cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:56+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_e6b48af8fac311efb2ebac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:56+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5160' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_5ee01eb89ffc456fa9cdc82cb03c7f8e - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbece2b97a9300187380 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.239208' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"rate": {"id": "rate_58bf4ebce74e4639a3a6557a41b53721"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '57' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_5ee01eb89ffc456fa9cdc82cb03c7f8e/buy - response: - body: - string: '{"id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "created_at": "2025-03-06T19:47:56Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - "9400100208303109500669", "updated_at": "2025-03-06T19:47:57Z", "batch_id": - null, "batch_status": null, "batch_message": null, "customs_info": {"id": - "cstinfo_99613496ed144db19134629e78dd8309", "object": "CustomsInfo", "created_at": - "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", "contents_explanation": - "", "contents_type": "merchandise", "customs_certify": true, "customs_signer": - "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": "return", - "restriction_comments": null, "restriction_type": "none", "mode": "test", - "declaration": null, "customs_items": [{"id": "cstitem_916203bc6a7640ee9f0d3f67192ab18a", - "object": "CustomsItem", "created_at": "2025-03-06T19:47:56Z", "updated_at": - "2025-03-06T19:47:56Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}, "from_address": {"id": - "adr_e6b764b2fac311efa8503cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:56+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_59e8de9138da4262994e87a64c8fe537", - "object": "Parcel", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_310c11cf1f7241aba064585cea05404a", - "created_at": "2025-03-06T19:47:57Z", "updated_at": "2025-03-06T19:47:57Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:47:57Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e86990a07eebcf4c86948425147d943995.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_40f1c040c29848a68b1db88daa3b1964", "object": - "Rate", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_f52fc9b383bc4d93b7f888a675dc6922", - "object": "Rate", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_58bf4ebce74e4639a3a6557a41b53721", - "object": "Rate", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_58bf4ebce74e4639a3a6557a41b53721", "object": - "Rate", "created_at": "2025-03-06T19:47:57Z", "updated_at": "2025-03-06T19:47:57Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_adb09a892549448f92f26c83c20b412c", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500669", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-06T19:47:57Z", - "updated_at": "2025-03-06T19:47:57Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrX2FkYjA5YTg5MjU0OTQ0OGY5MmYyNmM4M2MyMGI0MTJj"}, - "to_address": {"id": "adr_e6b48af8fac311efb2ebac1f6bc539ae", "object": "Address", - "created_at": "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:57+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_e6b764b2fac311efa8503cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:56+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_e6b48af8fac311efb2ebac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:57+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '7285' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbede2b97a93001873c9 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.807030' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"amount": "100.00"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '20' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_5ee01eb89ffc456fa9cdc82cb03c7f8e/insure - response: - body: - string: '{"id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "created_at": "2025-03-06T19:47:56Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - "9400100208303109500669", "updated_at": "2025-03-06T19:47:57Z", "batch_id": - null, "batch_status": null, "batch_message": null, "customs_info": {"id": - "cstinfo_99613496ed144db19134629e78dd8309", "object": "CustomsInfo", "created_at": - "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", "contents_explanation": - "", "contents_type": "merchandise", "customs_certify": true, "customs_signer": - "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": "return", - "restriction_comments": null, "restriction_type": "none", "mode": "test", - "declaration": null, "customs_items": [{"id": "cstitem_916203bc6a7640ee9f0d3f67192ab18a", - "object": "CustomsItem", "created_at": "2025-03-06T19:47:56Z", "updated_at": - "2025-03-06T19:47:56Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}, "from_address": {"id": - "adr_e6b764b2fac311efa8503cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:56+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": "100.00", "order_id": null, "parcel": {"id": "prcl_59e8de9138da4262994e87a64c8fe537", - "object": "Parcel", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_310c11cf1f7241aba064585cea05404a", - "created_at": "2025-03-06T19:47:57Z", "updated_at": "2025-03-06T19:47:57Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:47:57Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e86990a07eebcf4c86948425147d943995.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_40f1c040c29848a68b1db88daa3b1964", "object": - "Rate", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_f52fc9b383bc4d93b7f888a675dc6922", - "object": "Rate", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_58bf4ebce74e4639a3a6557a41b53721", - "object": "Rate", "created_at": "2025-03-06T19:47:56Z", "updated_at": "2025-03-06T19:47:56Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_58bf4ebce74e4639a3a6557a41b53721", "object": - "Rate", "created_at": "2025-03-06T19:47:57Z", "updated_at": "2025-03-06T19:47:57Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_adb09a892549448f92f26c83c20b412c", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500669", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-06T19:47:57Z", - "updated_at": "2025-03-06T19:47:57Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:47:57Z", "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:47:57Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:24:57Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2FkYjA5YTg5MjU0OTQ0OGY5MmYyNmM4M2MyMGI0MTJj"}, - "to_address": {"id": "adr_e6b48af8fac311efb2ebac1f6bc539ae", "object": "Address", - "created_at": "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:57+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_e6b764b2fac311efa8503cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:56+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_e6b48af8fac311efb2ebac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:57+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}, {"object": "Fee", "type": - "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": false}], - "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '8509' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbede2b97a930018749e - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.250325' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"type": "damage", "email_evidence_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "invoice_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "supporting_documentation_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "description": "Test description", "contact_email": "test@example.com", "tracking_code": - "9400100208303109500669", "amount": "100.00"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '618' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/claims - response: - body: - string: '{"approved_amount": null, "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/8fb0b33e39004bfea8bffabf242d48c8.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/6acf5385ee494fc2bfcac704b9dcfddf.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/5bf9e0415088448a937d39348a485593.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-03-06T19:47:58Z", "description": "Test description", "history": [{"status": - "submitted", "status_detail": "Claim was created.", "timestamp": "2025-03-06T19:47:58Z"}], - "id": "clm_09ce5f03fd6b4310b9c5b7f306407214", "insurance_amount": "100.00", - "insurance_id": "ins_029e06b218ab48e0979236191bb04df0", "mode": "test", "object": - "Claim", "payment_method": "easypost_wallet", "recipient_name": null, "requested_amount": - "100.00", "salvage_value": null, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", - "status": "submitted", "status_detail": "Claim was created.", "status_timestamp": - "2025-03-06T19:47:58Z", "tracking_code": "9400100208303109500669", "type": - "damage", "updated_at": "2025-03-06T19:47:58Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1115' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbeee2b97a93001874ec - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.851508' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_claim_get_next_page.yaml b/tests/cassettes/test_claim_get_next_page.yaml deleted file mode 100644 index 9975569b..00000000 --- a/tests/cassettes/test_claim_get_next_page.yaml +++ /dev/null @@ -1,101 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/claims?page_size=5 - response: - body: - string: '{"claims": [{"approved_amount": null, "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/cde3cb05bd1e4e6f8de416f301f44354.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/3617f2bdfed24000b62349577cc77b85.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/6fc76e0969d94780811a7baf5c1cd4ca.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-03-06T19:48:00Z", "description": "Test description", "history": [{"status": - "submitted", "status_detail": "Claim was created.", "timestamp": "2025-03-06T19:48:00Z"}], - "id": "clm_09ce975320fe4661af0f80a68022ee76", "insurance_amount": "100.00", - "insurance_id": "ins_7bcb457363834ebd88ba419138138fbc", "mode": "test", "object": - "Claim", "payment_method": "easypost_wallet", "recipient_name": null, "requested_amount": - "100.00", "salvage_value": null, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", - "status": "submitted", "status_detail": "Claim was created.", "status_timestamp": - "2025-03-06T19:48:00Z", "tracking_code": "9400100208303109500676", "type": - "damage", "updated_at": "2025-03-06T19:48:00Z"}, {"approved_amount": null, - "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/8fb0b33e39004bfea8bffabf242d48c8.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/6acf5385ee494fc2bfcac704b9dcfddf.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/5bf9e0415088448a937d39348a485593.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-03-06T19:47:58Z", "description": "Test description", "history": [{"status": - "submitted", "status_detail": "Claim was created.", "timestamp": "2025-03-06T19:47:58Z"}], - "id": "clm_09ce5f03fd6b4310b9c5b7f306407214", "insurance_amount": "100.00", - "insurance_id": "ins_029e06b218ab48e0979236191bb04df0", "mode": "test", "object": - "Claim", "payment_method": "easypost_wallet", "recipient_name": null, "requested_amount": - "100.00", "salvage_value": null, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", - "status": "submitted", "status_detail": "Claim was created.", "status_timestamp": - "2025-03-06T19:47:58Z", "tracking_code": "9400100208303109500669", "type": - "damage", "updated_at": "2025-03-06T19:47:58Z"}, {"approved_amount": null, - "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250221/b323c9d15a5f45669b16994df4233f82.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250221/71287f6c2f984eb58e336ff7266d4d7a.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250221/662abb57720b4740a6003e285451c988.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-02-21T18:30:53Z", "description": "Test description", "history": [{"status": - "submitted", "status_detail": "Claim was created.", "timestamp": "2025-02-21T18:30:53Z"}], - "id": "clm_09cc787188c1462aaa437fcba47ee03d", "insurance_amount": "100.00", - "insurance_id": "ins_730ae2cc418147938bfcac3e49ed1665", "mode": "test", "object": - "Claim", "payment_method": "easypost_wallet", "recipient_name": null, "requested_amount": - "100.00", "salvage_value": null, "shipment_id": "shp_bfb151c83dbf4a8c97a494074041c11f", - "status": "submitted", "status_detail": "Claim was created.", "status_timestamp": - "2025-02-21T18:30:53Z", "tracking_code": "9400100208271116404754", "type": - "theft", "updated_at": "2025-02-21T18:30:53Z"}], "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '3374' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbf1e2b97aae001878b2 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.041997' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_claim_retrieve.yaml b/tests/cassettes/test_claim_retrieve.yaml deleted file mode 100644 index 6b1cb27e..00000000 --- a/tests/cassettes/test_claim_retrieve.yaml +++ /dev/null @@ -1,636 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}, "options": {"label_format": - "PNG", "invoice_number": "123"}, "reference": "123"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '954' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "created_at": "2025-03-06T19:47:59Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-06T19:47:59Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": {"id": "cstinfo_1291df2a92c34d0484e0b4b391213db1", - "object": "CustomsInfo", "created_at": "2025-03-06T19:47:59Z", "updated_at": - "2025-03-06T19:47:59Z", "contents_explanation": "", "contents_type": "merchandise", - "customs_certify": true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI - 30.37(a)", "non_delivery_option": "return", "restriction_comments": null, - "restriction_type": "none", "mode": "test", "declaration": null, "customs_items": - [{"id": "cstitem_c8d91674ee2742eaa751f6a354488a1e", "object": "CustomsItem", - "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}]}, "from_address": {"id": "adr_e82a4736fac311ef8d72ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_106aad69070e47e0a63014a0ff424828", - "object": "Parcel", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_c0906e3e66874d26808a096bc9063c0f", - "object": "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_8178ba6a5a414e43b01703b4062a1afd", - "object": "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_136f13c287d34b3ba51f3a26bdc61932", - "object": "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_e827fb21fac311efb3b0ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:47:59+00:00", "updated_at": - "2025-03-06T19:47:59+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_e82a4736fac311ef8d72ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_e827fb21fac311efb3b0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5160' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_1bb0f57e60d6448b84a94a9e120629bf - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fbefe2b97aac001875ed - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.222811' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"rate": {"id": "rate_8178ba6a5a414e43b01703b4062a1afd"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '57' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_1bb0f57e60d6448b84a94a9e120629bf/buy - response: - body: - string: '{"id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "created_at": "2025-03-06T19:47:59Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - "9400100208303109500676", "updated_at": "2025-03-06T19:48:00Z", "batch_id": - null, "batch_status": null, "batch_message": null, "customs_info": {"id": - "cstinfo_1291df2a92c34d0484e0b4b391213db1", "object": "CustomsInfo", "created_at": - "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", "contents_explanation": - "", "contents_type": "merchandise", "customs_certify": true, "customs_signer": - "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": "return", - "restriction_comments": null, "restriction_type": "none", "mode": "test", - "declaration": null, "customs_items": [{"id": "cstitem_c8d91674ee2742eaa751f6a354488a1e", - "object": "CustomsItem", "created_at": "2025-03-06T19:47:59Z", "updated_at": - "2025-03-06T19:47:59Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}, "from_address": {"id": - "adr_e82a4736fac311ef8d72ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_106aad69070e47e0a63014a0ff424828", - "object": "Parcel", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_fb6b9be81ac54bcfa237b572bdc4a6c8", - "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:48:00Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:47:59Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e8a29432d8244f4da9aab6664650a4d383.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_c0906e3e66874d26808a096bc9063c0f", "object": - "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_8178ba6a5a414e43b01703b4062a1afd", - "object": "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_136f13c287d34b3ba51f3a26bdc61932", - "object": "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_8178ba6a5a414e43b01703b4062a1afd", "object": - "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_8df7c31984b84c2a87210b822c4fbd47", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500676", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-06T19:48:00Z", - "updated_at": "2025-03-06T19:48:00Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzhkZjdjMzE5ODRiODRjMmE4NzIxMGI4MjJjNGZiZDQ3"}, - "to_address": {"id": "adr_e827fb21fac311efb3b0ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_e82a4736fac311ef8d72ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_e827fb21fac311efb3b0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '7285' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fbefe2b97aac00187633 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.678226' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"amount": "100.00"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '20' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_1bb0f57e60d6448b84a94a9e120629bf/insure - response: - body: - string: '{"id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "created_at": "2025-03-06T19:47:59Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - "9400100208303109500676", "updated_at": "2025-03-06T19:48:00Z", "batch_id": - null, "batch_status": null, "batch_message": null, "customs_info": {"id": - "cstinfo_1291df2a92c34d0484e0b4b391213db1", "object": "CustomsInfo", "created_at": - "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", "contents_explanation": - "", "contents_type": "merchandise", "customs_certify": true, "customs_signer": - "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": "return", - "restriction_comments": null, "restriction_type": "none", "mode": "test", - "declaration": null, "customs_items": [{"id": "cstitem_c8d91674ee2742eaa751f6a354488a1e", - "object": "CustomsItem", "created_at": "2025-03-06T19:47:59Z", "updated_at": - "2025-03-06T19:47:59Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}, "from_address": {"id": - "adr_e82a4736fac311ef8d72ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": "100.00", "order_id": null, "parcel": {"id": "prcl_106aad69070e47e0a63014a0ff424828", - "object": "Parcel", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_fb6b9be81ac54bcfa237b572bdc4a6c8", - "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:48:00Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:47:59Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e8a29432d8244f4da9aab6664650a4d383.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_c0906e3e66874d26808a096bc9063c0f", "object": - "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_8178ba6a5a414e43b01703b4062a1afd", - "object": "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_136f13c287d34b3ba51f3a26bdc61932", - "object": "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_8178ba6a5a414e43b01703b4062a1afd", "object": - "Rate", "created_at": "2025-03-06T19:47:59Z", "updated_at": "2025-03-06T19:47:59Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_8df7c31984b84c2a87210b822c4fbd47", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500676", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-06T19:48:00Z", - "updated_at": "2025-03-06T19:48:00Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:00Z", "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:00Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:00Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzhkZjdjMzE5ODRiODRjMmE4NzIxMGI4MjJjNGZiZDQ3"}, - "to_address": {"id": "adr_e827fb21fac311efb3b0ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_e82a4736fac311ef8d72ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_e827fb21fac311efb3b0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}, {"object": "Fee", "type": - "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": false}], - "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '8509' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fbf0e2b97aac00187709 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.224067' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"type": "damage", "email_evidence_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "invoice_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "supporting_documentation_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "description": "Test description", "contact_email": "test@example.com", "tracking_code": - "9400100208303109500676", "amount": "100.00"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '618' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/claims - response: - body: - string: '{"approved_amount": null, "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/cde3cb05bd1e4e6f8de416f301f44354.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/3617f2bdfed24000b62349577cc77b85.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/6fc76e0969d94780811a7baf5c1cd4ca.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-03-06T19:48:00Z", "description": "Test description", "history": [{"status": - "submitted", "status_detail": "Claim was created.", "timestamp": "2025-03-06T19:48:00Z"}], - "id": "clm_09ce975320fe4661af0f80a68022ee76", "insurance_amount": "100.00", - "insurance_id": "ins_7bcb457363834ebd88ba419138138fbc", "mode": "test", "object": - "Claim", "payment_method": "easypost_wallet", "recipient_name": null, "requested_amount": - "100.00", "salvage_value": null, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", - "status": "submitted", "status_detail": "Claim was created.", "status_timestamp": - "2025-03-06T19:48:00Z", "tracking_code": "9400100208303109500676", "type": - "damage", "updated_at": "2025-03-06T19:48:00Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1115' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fbf0e2b97aac00187750 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.855502' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/claims/clm_09ce975320fe4661af0f80a68022ee76 - response: - body: - string: '{"approved_amount": null, "attachments": ["https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/cde3cb05bd1e4e6f8de416f301f44354.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/3617f2bdfed24000b62349577cc77b85.png", - "https://easypost-files.s3-us-west-2.amazonaws.com/insurance/20250306/6fc76e0969d94780811a7baf5c1cd4ca.png"], - "check_delivery_address": null, "contact_email": "test@example.com", "created_at": - "2025-03-06T19:48:00Z", "description": "Test description", "history": [{"status": - "submitted", "status_detail": "Claim was created.", "timestamp": "2025-03-06T19:48:00Z"}], - "id": "clm_09ce975320fe4661af0f80a68022ee76", "insurance_amount": "100.00", - "insurance_id": "ins_7bcb457363834ebd88ba419138138fbc", "mode": "test", "object": - "Claim", "payment_method": "easypost_wallet", "recipient_name": null, "requested_amount": - "100.00", "salvage_value": null, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", - "status": "submitted", "status_detail": "Claim was created.", "status_timestamp": - "2025-03-06T19:48:00Z", "tracking_code": "9400100208303109500676", "type": - "damage", "updated_at": "2025-03-06T19:48:00Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1115' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fbf1e2b97aac0018783f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.036017' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_client_make_api_call.yaml b/tests/cassettes/test_client_make_api_call.yaml deleted file mode 100644 index 4b1cf691..00000000 --- a/tests/cassettes/test_client_make_api_call.yaml +++ /dev/null @@ -1,74 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/addresses?page_size=1 - response: - body: - string: '{"addresses": [{"id": "adr_b532f4f1bc0311f0b86eac1f6bc539aa", "object": - "Address", "created_at": "2025-11-07T18:00:55Z", "updated_at": "2025-11-07T18:00:55Z", - "name": null, "company": "EASYPOST", "street1": "000 UNKNOWN STREET", "street2": - null, "city": "NOT A CITY", "state": "ZZ", "zip": "00001", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [{"code": "E.ADDRESS.NOT_FOUND", "field": - "address", "message": "Address not found", "suggestion": null}], "details": - null}, "delivery": {"success": true, "errors": [{"code": "E.ADDRESS.NOT_FOUND", - "field": "address", "message": "Address not found", "suggestion": null}], - "details": {"latitude": null, "longitude": null, "time_zone": null}}, "verify_carrier": - "ups"}}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '842' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - f785caeb698e03c9e786b0840112d88f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb56nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 0dcc3a6efb - - extlb2nuq c01291cd8f - x-runtime: - - '0.061229' - x-version-label: - - easypost-202602121634-14fe075b27-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_customer_portal_account_link_create.yaml b/tests/cassettes/test_customer_portal_account_link_create.yaml deleted file mode 100644 index b40e880c..00000000 --- a/tests/cassettes/test_customer_portal_account_link_create.yaml +++ /dev/null @@ -1,147 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users/children - response: - body: - string: '{"children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "", "verified": true, "created_at": "2023-12-11T17:13:38Z"}, - {"id": "user_437e724f37de412db6df8821968d8d3c", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test User2", "phone_number": - "", "verified": true, "created_at": "2023-12-11T17:13:43Z"}, {"id": - "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", - "name": "Child Account Name22", "phone_number": "", "verified": - true, "created_at": "2024-01-04T19:56:21Z"}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "", "verified": true, "created_at": - "2024-01-19T21:42:21Z"}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "", "verified": true, "created_at": "2024-01-19T21:44:18Z"}], - "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1114' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7265c3006917a058e786c0df01078abe - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb67nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq c0061e0a2e - - extlb1nuq cbbd141214 - x-runtime: - - '0.076112' - x-version-label: - - easypost-202511141214-a539f53042-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"session_type": "account_onboarding", "user_id": "user_584be78af2f141e988b6c60dda9dd8fd", - "refresh_url": "https://example.com/refresh", "return_url": "https://example.com/return"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '180' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/customer_portal/account_link - response: - body: - string: '{"link": "https://app.easypost.com/customer-portal/onboarding?session_id=nSsXPSJhZnqUzKUK", - "object": "CustomerPortalAccountLink", "expires_at": "2025-11-14T21:39:16Z", - "created_at": "2025-11-14T21:34:16Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '199' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7265c2fb6917a058e786c0e001078b74 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq c0061e0a2e - - extlb1nuq cbbd141214 - x-runtime: - - '0.125907' - x-version-label: - - easypost-202511141214-a539f53042-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_customs_info_create.yaml b/tests/cassettes/test_customs_info_create.yaml deleted file mode 100644 index 2258959b..00000000 --- a/tests/cassettes/test_customs_info_create.yaml +++ /dev/null @@ -1,83 +0,0 @@ -interactions: -- request: - body: '{"customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '377' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/customs_infos - response: - body: - string: '{"id": "cstinfo_05b128ea88f14b1faa98a7016564debd", "object": "CustomsInfo", - "created_at": "2025-03-06T19:48:04Z", "updated_at": "2025-03-06T19:48:04Z", - "contents_explanation": "", "contents_type": "merchandise", "customs_certify": - true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": - "return", "restriction_comments": null, "restriction_type": "none", "mode": - "test", "declaration": null, "customs_items": [{"id": "cstitem_f3567deaea214b1aa4a9a8270d5de29e", - "object": "CustomsItem", "created_at": "2025-03-06T19:48:04Z", "updated_at": - "2025-03-06T19:48:04Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '794' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/customs_infos/cstinfo_05b128ea88f14b1faa98a7016564debd - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fbf4e2b97ab000187b4a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.039503' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_customs_info_retrieve.yaml b/tests/cassettes/test_customs_info_retrieve.yaml deleted file mode 100644 index 2484bb1e..00000000 --- a/tests/cassettes/test_customs_info_retrieve.yaml +++ /dev/null @@ -1,154 +0,0 @@ -interactions: -- request: - body: '{"customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '377' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/customs_infos - response: - body: - string: '{"id": "cstinfo_d9ae40b6b146421b887a36fa89c0d2d4", "object": "CustomsInfo", - "created_at": "2025-03-06T19:48:04Z", "updated_at": "2025-03-06T19:48:04Z", - "contents_explanation": "", "contents_type": "merchandise", "customs_certify": - true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": - "return", "restriction_comments": null, "restriction_type": "none", "mode": - "test", "declaration": null, "customs_items": [{"id": "cstitem_92443ed7dacf431a8c5bcb8f42620517", - "object": "CustomsItem", "created_at": "2025-03-06T19:48:04Z", "updated_at": - "2025-03-06T19:48:04Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '794' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/customs_infos/cstinfo_d9ae40b6b146421b887a36fa89c0d2d4 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbf4e2b97ab100187b7f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.073920' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/customs_infos/cstinfo_d9ae40b6b146421b887a36fa89c0d2d4 - response: - body: - string: '{"id": "cstinfo_d9ae40b6b146421b887a36fa89c0d2d4", "object": "CustomsInfo", - "created_at": "2025-03-06T19:48:04Z", "updated_at": "2025-03-06T19:48:04Z", - "contents_explanation": "", "contents_type": "merchandise", "customs_certify": - true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": - "return", "restriction_comments": null, "restriction_type": "none", "mode": - "test", "declaration": null, "customs_items": [{"id": "cstitem_92443ed7dacf431a8c5bcb8f42620517", - "object": "CustomsItem", "created_at": "2025-03-06T19:48:04Z", "updated_at": - "2025-03-06T19:48:04Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '794' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbf4e2b97ab100187b99 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.028455' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_customs_item_create.yaml b/tests/cassettes/test_customs_item_create.yaml deleted file mode 100644 index 4e074d10..00000000 --- a/tests/cassettes/test_customs_item_create.yaml +++ /dev/null @@ -1,77 +0,0 @@ -interactions: -- request: - body: '{"customs_item": {"description": "Sweet shirts", "quantity": 2, "weight": - 11, "value": 23.25, "hs_tariff_number": "654321", "origin_country": "US"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '148' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/customs_items - response: - body: - string: '{"id": "cstitem_53ea67b599dd44e2ab90b794ead81234", "object": "CustomsItem", - "created_at": "2025-03-06T19:48:04Z", "updated_at": "2025-03-06T19:48:04Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '376' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/customs_items/cstitem_53ea67b599dd44e2ab90b794ead81234 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fbf4e2b97ab200187bbf - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.034055' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_customs_item_retrieve.yaml b/tests/cassettes/test_customs_item_retrieve.yaml deleted file mode 100644 index 77678a9f..00000000 --- a/tests/cassettes/test_customs_item_retrieve.yaml +++ /dev/null @@ -1,141 +0,0 @@ -interactions: -- request: - body: '{"customs_item": {"description": "Sweet shirts", "quantity": 2, "weight": - 11, "value": 23.25, "hs_tariff_number": "654321", "origin_country": "US"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '148' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/customs_items - response: - body: - string: '{"id": "cstitem_c175be7a6c5a43a584a77efa5ebaaede", "object": "CustomsItem", - "created_at": "2025-03-06T19:48:05Z", "updated_at": "2025-03-06T19:48:05Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '376' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/customs_items/cstitem_c175be7a6c5a43a584a77efa5ebaaede - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbf5e2b97ab300187be2 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.028563' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/customs_items/cstitem_c175be7a6c5a43a584a77efa5ebaaede - response: - body: - string: '{"id": "cstitem_c175be7a6c5a43a584a77efa5ebaaede", "object": "CustomsItem", - "created_at": "2025-03-06T19:48:05Z", "updated_at": "2025-03-06T19:48:05Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '376' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbf5e2b97ab300187bf3 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.022030' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_embeddable_session_create.yaml b/tests/cassettes/test_embeddable_session_create.yaml deleted file mode 100644 index a292922f..00000000 --- a/tests/cassettes/test_embeddable_session_create.yaml +++ /dev/null @@ -1,143 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users/children - response: - body: - string: '{"children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "", "verified": true, "created_at": "2023-12-11T17:13:38Z"}, - {"id": "user_437e724f37de412db6df8821968d8d3c", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test User2", "phone_number": - "", "verified": true, "created_at": "2023-12-11T17:13:43Z"}, {"id": - "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", - "name": "Child Account Name22", "phone_number": "", "verified": - true, "created_at": "2024-01-04T19:56:21Z"}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "", "verified": true, "created_at": - "2024-01-19T21:42:21Z"}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "", "verified": true, "created_at": "2024-01-19T21:44:18Z"}], - "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1114' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7265c2fe6917a363e786c4e3010cde14 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb5nuq c0061e0a2e - - extlb1nuq cbbd141214 - x-runtime: - - '0.085273' - x-version-label: - - easypost-202511141214-a539f53042-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"origin_host": "https://example.com", "user_id": "user_584be78af2f141e988b6c60dda9dd8fd"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '90' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/embeddables/session - response: - body: - string: '{"object": "EmbeddablesSession", "session_id": "5iL-W-NePFb0FU_n", - "expires_at": "2025-11-14T22:02:15Z", "created_at": "2025-11-14T21:47:15Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '135' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7265c2fc6917a363e786c4e4010cde8f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb65nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq c0061e0a2e - - extlb1nuq cbbd141214 - x-runtime: - - '0.141938' - x-version-label: - - easypost-202511141214-a539f53042-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_endshipper_all.yaml b/tests/cassettes/test_endshipper_all.yaml deleted file mode 100644 index 10245d3d..00000000 --- a/tests/cassettes/test_endshipper_all.yaml +++ /dev/null @@ -1,87 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/end_shippers?page_size=5 - response: - body: - string: '{"end_shippers": [{"id": "es_4c9d0f5f99374536908eb4949f909e1e", "object": - "EndShipper", "mode": "test", "created_at": "2022-10-05T19:50:55+00:00", "updated_at": - "2022-10-05T19:50:55+00:00", "name": "JACK SPARROW", "company": null, "street1": - "388 TOWNSEND ST APT 20", "street2": null, "city": "SAN FRANCISCO", "state": - "CA", "zip": "94107-1670", "country": "US", "phone": "", "email": - ""}, {"id": "es_7aa5429f1c16490bacb6bd8dfd77f42e", "object": "EndShipper", - "mode": "test", "created_at": "2022-10-05T19:50:55+00:00", "updated_at": "2022-10-05T19:50:55+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": ""}, {"id": "es_6c4fa53ceec743b697b86598e0d16c4f", - "object": "EndShipper", "mode": "test", "created_at": "2022-10-05T19:50:56+00:00", - "updated_at": "2022-10-05T19:50:57+00:00", "name": "CAPTAIN SPARROW", "company": - "EASYPOST", "street1": "388 TOWNSEND ST APT 20", "street2": null, "city": - "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": "US", "phone": - "", "email": ""}, {"id": "es_67551fdd94be4c95b387e21d9f522f15", - "object": "EndShipper", "mode": "test", "created_at": "2022-10-05T19:50:57+00:00", - "updated_at": "2022-10-05T19:50:57+00:00", "name": "JACK SPARROW", "company": - null, "street1": "388 TOWNSEND ST APT 20", "street2": null, "city": "SAN FRANCISCO", - "state": "CA", "zip": "94107-1670", "country": "US", "phone": "", - "email": ""}, {"id": "es_0cbf8346e96b47b5b6f65e857fc0fb6e", "object": - "EndShipper", "mode": "test", "created_at": "2022-10-05T19:55:12+00:00", "updated_at": - "2022-10-05T19:55:12+00:00", "name": "JACK SPARROW", "company": null, "street1": - "388 TOWNSEND ST APT 20", "street2": null, "city": "SAN FRANCISCO", "state": - "CA", "zip": "94107-1670", "country": "US", "phone": "", "email": - ""}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1883' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fbf5e2b97acd00187ca8 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.607331' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_endshipper_create.yaml b/tests/cassettes/test_endshipper_create.yaml deleted file mode 100644 index f8dae83c..00000000 --- a/tests/cassettes/test_endshipper_create.yaml +++ /dev/null @@ -1,73 +0,0 @@ -interactions: -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '213' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/end_shippers - response: - body: - string: '{"id": "es_5e3ea7d1189e454eac0441b7f0f7ea0d", "object": "EndShipper", - "mode": "test", "created_at": "2025-03-06T19:48:05+00:00", "updated_at": "2025-03-06T19:48:05+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": ""}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '365' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbf5e2b97ab400187c1e - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.048818' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_endshipper_retrieve.yaml b/tests/cassettes/test_endshipper_retrieve.yaml deleted file mode 100644 index 891c2d06..00000000 --- a/tests/cassettes/test_endshipper_retrieve.yaml +++ /dev/null @@ -1,140 +0,0 @@ -interactions: -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '213' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/end_shippers - response: - body: - string: '{"id": "es_a5f3f1ad2ab8432593d05a81983d189f", "object": "EndShipper", - "mode": "test", "created_at": "2025-03-06T19:48:05+00:00", "updated_at": "2025-03-06T19:48:05+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": ""}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '365' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbf5e2b97ab500187c49 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.053052' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/end_shippers/es_a5f3f1ad2ab8432593d05a81983d189f - response: - body: - string: '{"id": "es_a5f3f1ad2ab8432593d05a81983d189f", "object": "EndShipper", - "mode": "test", "created_at": "2025-03-06T19:48:05+00:00", "updated_at": "2025-03-06T19:48:05+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": ""}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '367' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fbf5e2b97ab500187c69 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.035268' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_endshipper_update.yaml b/tests/cassettes/test_endshipper_update.yaml deleted file mode 100644 index b87ea667..00000000 --- a/tests/cassettes/test_endshipper_update.yaml +++ /dev/null @@ -1,146 +0,0 @@ -interactions: -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '213' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/end_shippers - response: - body: - string: '{"id": "es_1fcf924d41404c4daee3fba4c2946f87", "object": "EndShipper", - "mode": "test", "created_at": "2025-03-06T19:48:06+00:00", "updated_at": "2025-03-06T19:48:06+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": ""}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '365' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbf6e2b97ace00187df5 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.049372' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"address": {"name": "Captain Sparrow", "company": "EasyPost", "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", - "zip": "94107", "country": "US", "phone": "9999999999", "email": "test@example.com"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '239' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: PUT - uri: https://api.easypost.com/v2/end_shippers/es_1fcf924d41404c4daee3fba4c2946f87 - response: - body: - string: '{"id": "es_1fcf924d41404c4daee3fba4c2946f87", "object": "EndShipper", - "mode": "test", "created_at": "2025-03-06T19:48:06+00:00", "updated_at": "2025-03-06T19:48:06+00:00", - "name": "CAPTAIN SPARROW", "company": "EASYPOST", "street1": "388 TOWNSEND - ST APT 20", "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": - "94107-1670", "country": "US", "phone": "", "email": ""}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '374' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbf6e2b97ace00187e1c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.059291' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_error.yaml b/tests/cassettes/test_error.yaml deleted file mode 100644 index e4baf953..00000000 --- a/tests/cassettes/test_error.yaml +++ /dev/null @@ -1,68 +0,0 @@ -interactions: -- request: - body: '{"shipment": {}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '16' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"error": {"code": "PARAMETER.REQUIRED", "message": "Missing required - parameter.", "errors": [{"field": "shipment", "message": "cannot be blank"}]}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '139' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbf6e2b97acf00187e62 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.019930' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_error_alternative_format.yaml b/tests/cassettes/test_error_alternative_format.yaml deleted file mode 100644 index bfe5d885..00000000 --- a/tests/cassettes/test_error_alternative_format.yaml +++ /dev/null @@ -1,73 +0,0 @@ -interactions: -- request: - body: '{"type": "damage", "email_evidence_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "invoice_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "supporting_documentation_attachments": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAeUlEQVR42mP8//8/AwAI/AL+4Q7AIAAAAABJRU5ErkJggg=="], - "description": "Test description", "contact_email": "test@example.com", "tracking_code": - "123"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '579' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/claims - response: - body: - string: '{"error": {"code": "NOT_FOUND", "errors": ["No eligible insurance found - with provided tracking code."], "message": "The requested resource could not - be found."}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '156' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbf6e2b97ad000187ea1 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.030414' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/cassettes/test_event_all.yaml b/tests/cassettes/test_event_all.yaml deleted file mode 100644 index 2b0e16c7..00000000 --- a/tests/cassettes/test_event_all.yaml +++ /dev/null @@ -1,78 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/events?page_size=5 - response: - body: - string: '{"events": [{"description": "tracker.created", "id": "evt_ebde5d3cfac311ef84522bd0c5c586a1", - "user_id": "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:05.456Z", "mode": "test", "object": "Event"}, {"description": - "tracker.created", "id": "evt_e8d4ccdefac311ef85c247061f0fe827", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:00.360Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_e45091a2fac311ef8fdf07d8bb7ce84b", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:52.782Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_e3aa5026fac311ef87b57da2a609c037", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:51.693Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_e12e412cfac311efbc965774cea6d58d", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:47.524Z", "mode": "test", "object": "Event"}], "has_more": - true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1112' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fbf7e2b97ad100187ee7 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.379323' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_event_get_next_page.yaml b/tests/cassettes/test_event_get_next_page.yaml deleted file mode 100644 index f25ac477..00000000 --- a/tests/cassettes/test_event_get_next_page.yaml +++ /dev/null @@ -1,154 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/events?page_size=5 - response: - body: - string: '{"events": [{"description": "tracker.created", "id": "evt_ebde5d3cfac311ef84522bd0c5c586a1", - "user_id": "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:05.456Z", "mode": "test", "object": "Event"}, {"description": - "tracker.created", "id": "evt_e8d4ccdefac311ef85c247061f0fe827", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:00.360Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_e45091a2fac311ef8fdf07d8bb7ce84b", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:52.782Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_e3aa5026fac311ef87b57da2a609c037", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:51.693Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_e12e412cfac311efbc965774cea6d58d", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:47.524Z", "mode": "test", "object": "Event"}], "has_more": - true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1112' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62567c9fbf7e2b97ad200187fae - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.301702' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/events?before_id=evt_e12e412cfac311efbc965774cea6d58d&page_size=5 - response: - body: - string: '{"events": [{"description": "batch.updated", "id": "evt_ddab99befac311efb1c6057c04bd81f2", - "user_id": "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:41.635Z", "mode": "test", "object": "Event"}, {"description": - "batch.created", "id": "evt_dd964b36fac311ef94b45548938ae146", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:41.495Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_dd7ecaa6fac311ef9e7141b3d935e850", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:41.341Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_dd52f5e8fac311efbb3e197210b72367", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:41.054Z", "mode": "test", "object": "Event"}, {"description": - "batch.created", "id": "evt_dd41070cfac311efa5045f7a964274c9", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:40.936Z", "mode": "test", "object": "Event"}], "has_more": - true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1108' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62567c9fbf7e2b97ad20018801b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.343607' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_event_retrieve.yaml b/tests/cassettes/test_event_retrieve.yaml deleted file mode 100644 index a9ff66e0..00000000 --- a/tests/cassettes/test_event_retrieve.yaml +++ /dev/null @@ -1,80 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/events?page_size=5 - response: - body: - string: '{"events": [{"description": "tracker.created", "id": "evt_ebde5d3cfac311ef84522bd0c5c586a1", - "user_id": "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:05.456Z", "mode": "test", "object": "Event"}, {"description": - "tracker.created", "id": "evt_e8d4ccdefac311ef85c247061f0fe827", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:00.360Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_e45091a2fac311ef8fdf07d8bb7ce84b", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:52.782Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_e3aa5026fac311ef87b57da2a609c037", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:51.693Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_e12e412cfac311efbc965774cea6d58d", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:47:47.524Z", "mode": "test", "object": "Event"}], "has_more": - true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1112' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fbf8e2b97ad30018809c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.282236' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_event_retrieve_all_payloads.yaml b/tests/cassettes/test_event_retrieve_all_payloads.yaml deleted file mode 100644 index 28996ff1..00000000 --- a/tests/cassettes/test_event_retrieve_all_payloads.yaml +++ /dev/null @@ -1,348 +0,0 @@ -interactions: -- request: - body: '{"webhook": {"url": "http://example.com"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '42' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/webhooks - response: - body: - string: '{"id": "hook_ede7aea8fac311ef8c6613b647fc5eff", "object": "Webhook", - "mode": "test", "url": "http://example.com", "created_at": "2025-03-06T19:48:09Z", - "disabled_at": null, "custom_headers": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '181' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbf8e2b97ad40018811b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.222058' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"batch": {"shipments": [{"to_address": {"name": "Jack Sparrow", "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", - "zip": "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "from_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '620' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches - response: - body: - string: '{"id": "batch_8112c2c8dce14aa291bae18c30d9092d", "object": "Batch", - "mode": "test", "state": "creating", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:48:09Z", "updated_at": "2025-03-06T19:48:09Z", - "scan_form": null, "shipments": [], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '384' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbf9e2b97ad40018816c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.054295' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/events?page_size=5 - response: - body: - string: '{"events": [{"description": "tracker.created", "id": "evt_ef360e3afac311ef9cf959235e992e6e", - "user_id": "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:11.063Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_ee4610c4fac311ef9d366f1fec144160", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:09.491Z", "mode": "test", "object": "Event"}, {"description": - "batch.created", "id": "evt_ee15e0defac311efacb60f245172ef6e", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:09.175Z", "mode": "test", "object": "Event"}, {"description": - "tracker.created", "id": "evt_ebde5d3cfac311ef84522bd0c5c586a1", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:05.456Z", "mode": "test", "object": "Event"}, {"description": - "tracker.created", "id": "evt_e8d4ccdefac311ef85c247061f0fe827", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:00.360Z", "mode": "test", "object": "Event"}], "has_more": - true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1114' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbfee2b97ad4001886b1 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.266756' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/events/evt_ef360e3afac311ef9cf959235e992e6e/payloads - response: - body: - string: '{"payloads": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '15' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbfee2b97ad4001886fc - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.036244' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/webhooks/hook_ede7aea8fac311ef8c6613b647fc5eff - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fbfee2b97ad400188713 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.326052' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_event_retrieve_payload.yaml b/tests/cassettes/test_event_retrieve_payload.yaml deleted file mode 100644 index 27ea60b0..00000000 --- a/tests/cassettes/test_event_retrieve_payload.yaml +++ /dev/null @@ -1,347 +0,0 @@ -interactions: -- request: - body: '{"webhook": {"url": "http://example.com"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '42' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/webhooks - response: - body: - string: '{"id": "hook_f19d25e6fac311efaf305b2397f4f7d3", "object": "Webhook", - "mode": "test", "url": "http://example.com", "created_at": "2025-03-06T19:48:15Z", - "disabled_at": null, "custom_headers": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '181' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fbffe2b97ad500188795 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.147598' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"batch": {"shipments": [{"to_address": {"name": "Jack Sparrow", "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", - "zip": "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "from_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '620' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/batches - response: - body: - string: '{"id": "batch_34e423c2228549a6b09e36a269887be7", "object": "Batch", - "mode": "test", "state": "creating", "num_shipments": 1, "reference": null, - "created_at": "2025-03-06T19:48:15Z", "updated_at": "2025-03-06T19:48:15Z", - "scan_form": null, "shipments": [], "status": {"created": 0, "queued_for_purchase": - 0, "creation_failed": 0, "postage_purchased": 0, "postage_purchase_failed": - 0}, "pickup": null, "label_url": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '384' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fbffe2b97ad5001887c3 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.036705' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/events?page_size=5 - response: - body: - string: '{"events": [{"description": "tracker.created", "id": "evt_f31be862fac311ef9aa4710dd2aee3b7", - "user_id": "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:17.603Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_f1d6ebf0fac311efabc95d1fc5637621", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:15.473Z", "mode": "test", "object": "Event"}, {"description": - "batch.created", "id": "evt_f1bfadc8fac311efb6a71bb5e0cd2876", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:15.321Z", "mode": "test", "object": "Event"}, {"description": - "tracker.created", "id": "evt_ef360e3afac311ef9cf959235e992e6e", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:11.063Z", "mode": "test", "object": "Event"}, {"description": - "batch.updated", "id": "evt_ee4610c4fac311ef9d366f1fec144160", "user_id": - "user_54356a6b96c940d8913961a3c7b909f2", "status": "pending", "created_at": - "2025-03-06T19:48:09.491Z", "mode": "test", "object": "Event"}], "has_more": - true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1112' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc04e2b97ad500188e4d - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.289993' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/events/evt_f31be862fac311ef9aa4710dd2aee3b7/payloads/payload_11111111111111111111111111111111 - response: - body: - string: '{"error": {"code": "PAYLOAD.NOT_FOUND", "message": "The payload(s) - could not be found.", "errors": []}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '97' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc04e2b97ad500188ea8 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.060967' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/webhooks/hook_f19d25e6fac311efaf305b2397f4f7d3 - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc04e2b97ad500188ecb - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.326402' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_insurance_all.yaml b/tests/cassettes/test_insurance_all.yaml deleted file mode 100644 index 2f873dba..00000000 --- a/tests/cassettes/test_insurance_all.yaml +++ /dev/null @@ -1,264 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/insurances?page_size=5 - response: - body: - string: '{"insurances": [{"id": "ins_abffbc30c07f4bc0ba6fb8f36e4e7781", "object": - "Insurance", "mode": "test", "reference": null, "status": "pending", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_f6e8ef0dfac311efb10b3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:23+00:00", "updated_at": "2025-03-06T19:48:23+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_f6edb4d3fac311efb10f3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:24+00:00", "updated_at": "2025-03-06T19:48:24+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "shipment_id": null, "tracker": {"id": - "trk_bd61761988d5406e98a33971dd6a6000", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208303109500706", "status": "error", "status_detail": - null, "created_at": "2025-03-06T19:48:24Z", "updated_at": "2025-03-06T19:48:24Z", - "signed_by": null, "weight": null, "est_delivery_date": null, "shipment_id": - null, "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", - "message": "In test mode, only test tracking numbers are valid. Test tracking - numbers are EZ1000000001, EZ2000000002, ... , EZ7000000007", "description": - "", "status": "error", "status_detail": null, "datetime": "2025-03-06T19:48:24Z", - "source": "ProcessingError", "carrier_code": "", "tracking_location": {"object": - "TrackingLocation", "city": null, "state": null, "country": null, "zip": null}}], - "carrier_detail": null, "finalized": true, "is_return": false, "public_url": - "https://track.easypost.com/djE6dHJrX2JkNjE3NjE5ODhkNTQwNmU5OGEzMzk3MWRkNmE2MDAw", - "fees": []}, "tracking_code": "9400100208303109500706", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:24Z", "updated_at": - "2025-03-06T19:48:24Z"}, {"id": "ins_dcf565145ccf4f04a8d820d810590ad5", "object": - "Insurance", "mode": "test", "reference": null, "status": "pending", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_f623d486fac311ef9523ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:22+00:00", "updated_at": "2025-03-06T19:48:22+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_f6289011fac311ef9526ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:22+00:00", "updated_at": "2025-03-06T19:48:22+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "shipment_id": null, "tracker": {"id": - "trk_3bbaa4f95f5d452b89cb06e754d76351", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208303109500690", "status": "error", "status_detail": - null, "created_at": "2025-03-06T19:48:22Z", "updated_at": "2025-03-06T19:48:22Z", - "signed_by": null, "weight": null, "est_delivery_date": null, "shipment_id": - null, "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", - "message": "In test mode, only test tracking numbers are valid. Test tracking - numbers are EZ1000000001, EZ2000000002, ... , EZ7000000007", "description": - "", "status": "error", "status_detail": null, "datetime": "2025-03-06T19:48:22Z", - "source": "ProcessingError", "carrier_code": "", "tracking_location": {"object": - "TrackingLocation", "city": null, "state": null, "country": null, "zip": null}}], - "carrier_detail": null, "finalized": true, "is_return": false, "public_url": - "https://track.easypost.com/djE6dHJrXzNiYmFhNGY5NWY1ZDQ1MmI4OWNiMDZlNzU0ZDc2MzUx", - "fees": []}, "tracking_code": "9400100208303109500690", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:22Z", "updated_at": - "2025-03-06T19:48:22Z"}, {"id": "ins_229626a7af2f46c28f15547390291e82", "object": - "Insurance", "mode": "test", "reference": null, "status": "purchased", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_e9c58fe5fac311ef8e57ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:02+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_e9c82d93fac311efb46dac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:01+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "tracker": {"id": - "trk_9ac363e1c15c4fc999d121ce98d362e7", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208303109500683", "status": "pre_transit", "status_detail": - "status_update", "created_at": "2025-03-06T19:48:03Z", "updated_at": "2025-03-06T19:48:03Z", - "signed_by": null, "weight": null, "est_delivery_date": "2025-03-06T19:48:03Z", - "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:48:03Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:25:03Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": {"object": - "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrXzlhYzM2M2UxYzE1YzRmYzk5OWQxMjFjZTk4ZDM2MmU3", - "fees": []}, "tracking_code": "9400100208303109500683", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:03Z", "updated_at": - "2025-03-06T19:48:03Z"}, {"id": "ins_7bcb457363834ebd88ba419138138fbc", "object": - "Insurance", "mode": "test", "reference": null, "status": "purchased", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_e827fb21fac311efb3b0ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_e82a4736fac311ef8d72ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "tracker": {"id": - "trk_8df7c31984b84c2a87210b822c4fbd47", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208303109500676", "status": "pre_transit", "status_detail": - "status_update", "created_at": "2025-03-06T19:48:00Z", "updated_at": "2025-03-06T19:48:00Z", - "signed_by": null, "weight": null, "est_delivery_date": "2025-03-06T19:48:00Z", - "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:48:00Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:25:00Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": {"object": - "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrXzhkZjdjMzE5ODRiODRjMmE4NzIxMGI4MjJjNGZiZDQ3", - "fees": []}, "tracking_code": "9400100208303109500676", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:00Z", "updated_at": - "2025-03-06T19:48:00Z"}, {"id": "ins_029e06b218ab48e0979236191bb04df0", "object": - "Insurance", "mode": "test", "reference": null, "status": "purchased", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_e6b48af8fac311efb2ebac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:57+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_e6b764b2fac311efa8503cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:56+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "tracker": {"id": - "trk_adb09a892549448f92f26c83c20b412c", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208303109500669", "status": "pre_transit", "status_detail": - "status_update", "created_at": "2025-03-06T19:47:57Z", "updated_at": "2025-03-06T19:47:57Z", - "signed_by": null, "weight": null, "est_delivery_date": "2025-03-06T19:47:57Z", - "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:47:57Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:24:57Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": {"object": - "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrX2FkYjA5YTg5MjU0OTQ0OGY5MmYyNmM4M2MyMGI0MTJj", - "fees": []}, "tracking_code": "9400100208303109500669", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:47:57Z", "updated_at": - "2025-03-06T19:47:58Z"}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '15168' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fc08e2b97b180018936e - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb56nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.387014' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_insurance_create.yaml b/tests/cassettes/test_insurance_create.yaml deleted file mode 100644 index 39ae8528..00000000 --- a/tests/cassettes/test_insurance_create.yaml +++ /dev/null @@ -1,277 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_8a45d2ce9594453d88f180d3df96d6c6", "created_at": "2025-03-06T19:48:21Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109500690", "updated_at": - "2025-03-06T19:48:22Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_f599807ffac311ef94ecac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:21+00:00", "updated_at": - "2025-03-06T19:48:21+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_ea9b37bfd8d243788cb33af2706dc8c5", "object": - "Parcel", "created_at": "2025-03-06T19:48:21Z", "updated_at": "2025-03-06T19:48:21Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_e08e870243604e7f90514b038a80175a", - "created_at": "2025-03-06T19:48:22Z", "updated_at": "2025-03-06T19:48:22Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:22Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e8d41ff089cb6e442fadd91067aa1cccf7.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_7d5084b5455a48c796475edd6ad992a4", "object": - "Rate", "created_at": "2025-03-06T19:48:21Z", "updated_at": "2025-03-06T19:48:21Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_8a45d2ce9594453d88f180d3df96d6c6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_47966bba614d40cba9ae81e9dc4f9008", - "object": "Rate", "created_at": "2025-03-06T19:48:21Z", "updated_at": "2025-03-06T19:48:21Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_8a45d2ce9594453d88f180d3df96d6c6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_d5c528ef383449648a320dbc3b149f23", - "object": "Rate", "created_at": "2025-03-06T19:48:21Z", "updated_at": "2025-03-06T19:48:21Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_8a45d2ce9594453d88f180d3df96d6c6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_47966bba614d40cba9ae81e9dc4f9008", "object": - "Rate", "created_at": "2025-03-06T19:48:22Z", "updated_at": "2025-03-06T19:48:22Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_8a45d2ce9594453d88f180d3df96d6c6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_1fae64692f0c4b458ff0262243df9452", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500690", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-06T19:48:22Z", - "updated_at": "2025-03-06T19:48:22Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_8a45d2ce9594453d88f180d3df96d6c6", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzFmYWU2NDY5MmYwYzRiNDU4ZmYwMjYyMjQzZGY5NDUy"}, - "to_address": {"id": "adr_f596f29efac311ef94ebac1f6bc53342", "object": "Address", - "created_at": "2025-03-06T19:48:21+00:00", "updated_at": "2025-03-06T19:48:21+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_f599807ffac311ef94ecac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:21+00:00", "updated_at": - "2025-03-06T19:48:21+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_f596f29efac311ef94ebac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:21+00:00", "updated_at": "2025-03-06T19:48:21+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_8a45d2ce9594453d88f180d3df96d6c6 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc05e2b97b1600188fef - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.795592' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"insurance": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "carrier": "USPS", "amount": "100", "tracking_code": - "9400100208303109500690"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '509' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/insurances - response: - body: - string: '{"id": "ins_dcf565145ccf4f04a8d820d810590ad5", "object": "Insurance", - "mode": "test", "reference": null, "status": "pending", "amount": "100.00000", - "provider": "easypost", "provider_id": null, "to_address": {"id": "adr_f623d486fac311ef9523ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:22+00:00", "updated_at": - "2025-03-06T19:48:22+00:00", "name": "ELIZABETH SWAN", "company": null, "street1": - "179 N HARBOR DR", "street2": null, "city": "REDONDO BEACH", "state": "CA", - "zip": "90277-2506", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": false, "federal_tax_id": - null, "state_tax_id": null, "verifications": {"zip4": {"success": true, "errors": - [], "details": null}, "delivery": {"success": true, "errors": [], "details": - {"latitude": 33.8436, "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, - "from_address": {"id": "adr_f6289011fac311ef9526ac1f6bc53342", "object": "Address", - "created_at": "2025-03-06T19:48:22+00:00", "updated_at": "2025-03-06T19:48:22+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "shipment_id": null, "tracker": {"id": "trk_1fae64692f0c4b458ff0262243df9452", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500690", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-06T19:48:22Z", - "updated_at": "2025-03-06T19:48:22Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:22Z", "shipment_id": "shp_8a45d2ce9594453d88f180d3df96d6c6", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:22Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:22Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": - {"object": "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrXzFmYWU2NDY5MmYwYzRiNDU4ZmYwMjYyMjQzZGY5NDUy", - "fees": []}, "tracking_code": "9400100208303109500690", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:22Z", "updated_at": - "2025-03-06T19:48:22Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '3424' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/insurances/ins_dcf565145ccf4f04a8d820d810590ad5 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc06e2b97b16001890fb - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.329239' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_insurance_get_next_page.yaml b/tests/cassettes/test_insurance_get_next_page.yaml deleted file mode 100644 index 4c2d28b9..00000000 --- a/tests/cassettes/test_insurance_get_next_page.yaml +++ /dev/null @@ -1,395 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/insurances?page_size=5 - response: - body: - string: '{"insurances": [{"id": "ins_abffbc30c07f4bc0ba6fb8f36e4e7781", "object": - "Insurance", "mode": "test", "reference": null, "status": "pending", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_f6e8ef0dfac311efb10b3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:23+00:00", "updated_at": "2025-03-06T19:48:23+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_f6edb4d3fac311efb10f3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:24+00:00", "updated_at": "2025-03-06T19:48:24+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "shipment_id": null, "tracker": {"id": - "trk_bd61761988d5406e98a33971dd6a6000", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208303109500706", "status": "error", "status_detail": - null, "created_at": "2025-03-06T19:48:24Z", "updated_at": "2025-03-06T19:48:24Z", - "signed_by": null, "weight": null, "est_delivery_date": null, "shipment_id": - null, "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", - "message": "In test mode, only test tracking numbers are valid. Test tracking - numbers are EZ1000000001, EZ2000000002, ... , EZ7000000007", "description": - "", "status": "error", "status_detail": null, "datetime": "2025-03-06T19:48:24Z", - "source": "ProcessingError", "carrier_code": "", "tracking_location": {"object": - "TrackingLocation", "city": null, "state": null, "country": null, "zip": null}}], - "carrier_detail": null, "finalized": true, "is_return": false, "public_url": - "https://track.easypost.com/djE6dHJrX2JkNjE3NjE5ODhkNTQwNmU5OGEzMzk3MWRkNmE2MDAw", - "fees": []}, "tracking_code": "9400100208303109500706", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:24Z", "updated_at": - "2025-03-06T19:48:24Z"}, {"id": "ins_dcf565145ccf4f04a8d820d810590ad5", "object": - "Insurance", "mode": "test", "reference": null, "status": "pending", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_f623d486fac311ef9523ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:22+00:00", "updated_at": "2025-03-06T19:48:22+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_f6289011fac311ef9526ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:22+00:00", "updated_at": "2025-03-06T19:48:22+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "shipment_id": null, "tracker": {"id": - "trk_3bbaa4f95f5d452b89cb06e754d76351", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208303109500690", "status": "error", "status_detail": - null, "created_at": "2025-03-06T19:48:22Z", "updated_at": "2025-03-06T19:48:22Z", - "signed_by": null, "weight": null, "est_delivery_date": null, "shipment_id": - null, "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", - "message": "In test mode, only test tracking numbers are valid. Test tracking - numbers are EZ1000000001, EZ2000000002, ... , EZ7000000007", "description": - "", "status": "error", "status_detail": null, "datetime": "2025-03-06T19:48:22Z", - "source": "ProcessingError", "carrier_code": "", "tracking_location": {"object": - "TrackingLocation", "city": null, "state": null, "country": null, "zip": null}}], - "carrier_detail": null, "finalized": true, "is_return": false, "public_url": - "https://track.easypost.com/djE6dHJrXzNiYmFhNGY5NWY1ZDQ1MmI4OWNiMDZlNzU0ZDc2MzUx", - "fees": []}, "tracking_code": "9400100208303109500690", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:22Z", "updated_at": - "2025-03-06T19:48:22Z"}, {"id": "ins_229626a7af2f46c28f15547390291e82", "object": - "Insurance", "mode": "test", "reference": null, "status": "purchased", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_e9c58fe5fac311ef8e57ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:02+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_e9c82d93fac311efb46dac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:01+00:00", "updated_at": "2025-03-06T19:48:01+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "tracker": {"id": - "trk_9ac363e1c15c4fc999d121ce98d362e7", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208303109500683", "status": "pre_transit", "status_detail": - "status_update", "created_at": "2025-03-06T19:48:03Z", "updated_at": "2025-03-06T19:48:03Z", - "signed_by": null, "weight": null, "est_delivery_date": "2025-03-06T19:48:03Z", - "shipment_id": "shp_0ea044af2a4a491e953233cd7867bb6a", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:48:03Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:25:03Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": {"object": - "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrXzlhYzM2M2UxYzE1YzRmYzk5OWQxMjFjZTk4ZDM2MmU3", - "fees": []}, "tracking_code": "9400100208303109500683", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:03Z", "updated_at": - "2025-03-06T19:48:03Z"}, {"id": "ins_7bcb457363834ebd88ba419138138fbc", "object": - "Insurance", "mode": "test", "reference": null, "status": "purchased", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_e827fb21fac311efb3b0ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_e82a4736fac311ef8d72ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:47:59+00:00", "updated_at": "2025-03-06T19:47:59+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "tracker": {"id": - "trk_8df7c31984b84c2a87210b822c4fbd47", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208303109500676", "status": "pre_transit", "status_detail": - "status_update", "created_at": "2025-03-06T19:48:00Z", "updated_at": "2025-03-06T19:48:00Z", - "signed_by": null, "weight": null, "est_delivery_date": "2025-03-06T19:48:00Z", - "shipment_id": "shp_1bb0f57e60d6448b84a94a9e120629bf", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:48:00Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:25:00Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": {"object": - "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrXzhkZjdjMzE5ODRiODRjMmE4NzIxMGI4MjJjNGZiZDQ3", - "fees": []}, "tracking_code": "9400100208303109500676", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:00Z", "updated_at": - "2025-03-06T19:48:00Z"}, {"id": "ins_029e06b218ab48e0979236191bb04df0", "object": - "Insurance", "mode": "test", "reference": null, "status": "purchased", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_e6b48af8fac311efb2ebac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:57+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_e6b764b2fac311efa8503cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:47:56+00:00", "updated_at": "2025-03-06T19:47:56+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "tracker": {"id": - "trk_adb09a892549448f92f26c83c20b412c", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208303109500669", "status": "pre_transit", "status_detail": - "status_update", "created_at": "2025-03-06T19:47:57Z", "updated_at": "2025-03-06T19:47:57Z", - "signed_by": null, "weight": null, "est_delivery_date": "2025-03-06T19:47:57Z", - "shipment_id": "shp_5ee01eb89ffc456fa9cdc82cb03c7f8e", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:47:57Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:24:57Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": {"object": - "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrX2FkYjA5YTg5MjU0OTQ0OGY5MmYyNmM4M2MyMGI0MTJj", - "fees": []}, "tracking_code": "9400100208303109500669", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:47:57Z", "updated_at": - "2025-03-06T19:47:58Z"}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '15168' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fc09e2b97b3000189404 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.336949' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/insurances?before_id=ins_029e06b218ab48e0979236191bb04df0&page_size=5 - response: - body: - string: '{"insurances": [{"id": "ins_730ae2cc418147938bfcac3e49ed1665", "object": - "Insurance", "mode": "test", "reference": null, "status": "purchased", "amount": - "100.00000", "provider": "easypost", "provider_id": null, "to_address": {"id": - "adr_fab8798ef08111ef8ca73cecef1b359e", "object": "Address", "created_at": - "2025-02-21T18:30:51+00:00", "updated_at": "2025-02-21T18:30:52+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "from_address": - {"id": "adr_fabb4013f08111efacb8ac1f6bc53342", "object": "Address", "created_at": - "2025-02-21T18:30:51+00:00", "updated_at": "2025-02-21T18:30:51+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipment_id": "shp_bfb151c83dbf4a8c97a494074041c11f", "tracker": {"id": - "trk_8f86b00bbc1140f6b0cbaee6701b9f57", "object": "Tracker", "mode": "test", - "tracking_code": "9400100208271116404754", "status": "delivered", "status_detail": - "arrived_at_destination", "created_at": "2025-02-21T18:30:52Z", "updated_at": - "2025-02-21T18:33:53Z", "signed_by": "John Tester", "weight": null, "est_delivery_date": - "2025-02-21T18:33:53Z", "shipment_id": "shp_bfb151c83dbf4a8c97a494074041c11f", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-01-21T18:33:53Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-01-22T07:10:53Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}, {"object": - "TrackingDetail", "message": "Arrived at USPS Origin Facility", "description": - "", "status": "in_transit", "status_detail": "arrived_at_facility", "datetime": - "2025-01-22T17:15:53Z", "source": "USPS", "carrier_code": "", "tracking_location": - {"object": "TrackingLocation", "city": "NORTH HOUSTON", "state": "TX", "country": - null, "zip": "77315"}}, {"object": "TrackingDetail", "message": "Arrived at - USPS Facility", "description": "", "status": "in_transit", "status_detail": - "arrived_at_facility", "datetime": "2025-01-23T18:51:53Z", "source": "USPS", - "carrier_code": "", "tracking_location": {"object": "TrackingLocation", "city": - "COLUMBIA", "state": "SC", "country": null, "zip": "29201"}}, {"object": "TrackingDetail", - "message": "Arrived at Post Office", "description": "", "status": "in_transit", - "status_detail": "arrived_at_facility", "datetime": "2025-01-23T21:42:53Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Sorting Complete", "description": "", "status": - "in_transit", "status_detail": "status_update", "datetime": "2025-01-24T03:22:53Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Out for Delivery", "description": "", "status": - "out_for_delivery", "status_detail": "out_for_delivery", "datetime": "2025-01-24T03:32:53Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Delivered", "description": "", "status": "delivered", - "status_detail": "arrived_at_destination", "datetime": "2025-01-24T08:24:53Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}], "carrier_detail": - {"object": "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "NORTH HOUSTON", "state": "TX", "country": null, "zip": "77315"}, - "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - {"object": "TrackingLocation", "city": "CHARLESTON", "state": "SC", "country": - null, "zip": "29407"}, "guaranteed_delivery_date": null, "alternate_identifier": - null, "initial_delivery_attempt": "2025-01-24T08:24:53Z"}, "finalized": true, - "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrXzhmODZiMDBiYmMxMTQwZjZiMGNiYWVlNjcwMWI5ZjU3", - "fees": []}, "tracking_code": "9400100208271116404754", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-02-21T18:30:53Z", "updated_at": - "2025-02-21T18:30:53Z"}], "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5340' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fc09e2b97b3000189484 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb56nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.156883' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_insurance_refund.yaml b/tests/cassettes/test_insurance_refund.yaml deleted file mode 100644 index 3ea940a7..00000000 --- a/tests/cassettes/test_insurance_refund.yaml +++ /dev/null @@ -1,227 +0,0 @@ -interactions: -- request: - body: '{"insurance": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "carrier": "USPS", "amount": "100", "tracking_code": - "EZ1000000001"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '499' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/insurances - response: - body: - string: '{"id": "ins_f6a6de2a893f4b55b3e33affa43ff738", "object": "Insurance", - "mode": "test", "reference": null, "status": "pending", "amount": "100.00000", - "provider": "easypost", "provider_id": null, "to_address": {"id": "adr_f7ff9b21fac311ef90e8ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-06T19:48:25+00:00", "updated_at": - "2025-03-06T19:48:25+00:00", "name": "ELIZABETH SWAN", "company": null, "street1": - "179 N HARBOR DR", "street2": null, "city": "REDONDO BEACH", "state": "CA", - "zip": "90277-2506", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": false, "federal_tax_id": - null, "state_tax_id": null, "verifications": {"zip4": {"success": true, "errors": - [], "details": null}, "delivery": {"success": true, "errors": [], "details": - {"latitude": 33.8436, "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, - "from_address": {"id": "adr_f8047801fac311efb1c63cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:48:25+00:00", "updated_at": "2025-03-06T19:48:25+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "shipment_id": null, "tracker": {"id": "trk_d60c22ff15a9476e932b86162d25a191", - "object": "Tracker", "mode": "test", "tracking_code": "EZ1000000001", "status": - "pre_transit", "status_detail": "status_update", "created_at": "2024-09-27T17:59:00Z", - "updated_at": "2024-09-27T17:59:00Z", "signed_by": null, "weight": null, "est_delivery_date": - "2024-09-27T17:59:00Z", "shipment_id": null, "carrier": "USPS", "tracking_details": - [{"object": "TrackingDetail", "message": "Pre-Shipment Info Sent to USPS", - "description": "", "status": "pre_transit", "status_detail": "status_update", - "datetime": "2024-08-27T17:59:00Z", "source": "USPS", "carrier_code": "", - "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2024-08-28T06:36:00Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": {"object": - "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrX2Q2MGMyMmZmMTVhOTQ3NmU5MzJiODYxNjJkMjVhMTkx", - "fees": []}, "tracking_code": "EZ1000000001", "fee": {"object": "Fee", "type": - "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": false}, - "messages": [], "created_at": "2025-03-06T19:48:25Z", "updated_at": "2025-03-06T19:48:26Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '3370' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/insurances/ins_f6a6de2a893f4b55b3e33affa43ff738 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fc09e2b97b31001894eb - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.395640' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/insurances/ins_f6a6de2a893f4b55b3e33affa43ff738/refund - response: - body: - string: '{"id": "ins_f6a6de2a893f4b55b3e33affa43ff738", "object": "Insurance", - "mode": "test", "reference": null, "status": "cancelled", "amount": "100.00000", - "provider": "easypost", "provider_id": null, "to_address": {"id": "adr_f7ff9b21fac311ef90e8ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-06T19:48:25+00:00", "updated_at": - "2025-03-06T19:48:25+00:00", "name": "ELIZABETH SWAN", "company": null, "street1": - "179 N HARBOR DR", "street2": null, "city": "REDONDO BEACH", "state": "CA", - "zip": "90277-2506", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": false, "federal_tax_id": - null, "state_tax_id": null, "verifications": {"zip4": {"success": true, "errors": - [], "details": null}, "delivery": {"success": true, "errors": [], "details": - {"latitude": 33.8436, "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, - "from_address": {"id": "adr_f8047801fac311efb1c63cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:48:25+00:00", "updated_at": "2025-03-06T19:48:25+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "shipment_id": null, "tracker": {"id": "trk_e7e8f143f3eb40d38be9562e3767c36a", - "object": "Tracker", "mode": "test", "tracking_code": "EZ1000000001", "status": - "pre_transit", "status_detail": "status_update", "created_at": "2025-03-06T19:48:26Z", - "updated_at": "2025-03-06T19:48:26Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:26Z", "shipment_id": null, "carrier": "USPS", "tracking_details": - [{"object": "TrackingDetail", "message": "Pre-Shipment Info Sent to USPS", - "description": "", "status": "pre_transit", "status_detail": "status_update", - "datetime": "2025-02-06T19:48:26Z", "source": "USPS", "carrier_code": "", - "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:25:26Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": {"object": - "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrX2U3ZThmMTQzZjNlYjQwZDM4YmU5NTYyZTM3NjdjMzZh", - "fees": []}, "tracking_code": "EZ1000000001", "fee": {"object": "Fee", "type": - "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": false}, - "messages": ["Insurance was cancelled by the user."], "created_at": "2025-03-06T19:48:25Z", - "updated_at": "2025-03-06T19:48:26Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '3420' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fc0ae2b97b3100189576 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.222910' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_insurance_retrieve.yaml b/tests/cassettes/test_insurance_retrieve.yaml deleted file mode 100644 index 72c58ad5..00000000 --- a/tests/cassettes/test_insurance_retrieve.yaml +++ /dev/null @@ -1,373 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_e938c6e639aa496882e7307b678a4802", "created_at": "2025-03-06T19:48:23Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109500706", "updated_at": - "2025-03-06T19:48:23Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_f65cbaa7fac311efb0bf3cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:23+00:00", "updated_at": - "2025-03-06T19:48:23+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_e0018b3a823d4cc09985933e9a745a7d", "object": - "Parcel", "created_at": "2025-03-06T19:48:23Z", "updated_at": "2025-03-06T19:48:23Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_bc926188388d48af86cbb55033766bcb", - "created_at": "2025-03-06T19:48:23Z", "updated_at": "2025-03-06T19:48:23Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:23Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e87cc2ac984a6f4e2aae8a38cc61a289b6.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_516cdc16d5984fc0baece745d0948549", "object": - "Rate", "created_at": "2025-03-06T19:48:23Z", "updated_at": "2025-03-06T19:48:23Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_e938c6e639aa496882e7307b678a4802", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_877e3e57cb3c4c75ac351197b11b256a", - "object": "Rate", "created_at": "2025-03-06T19:48:23Z", "updated_at": "2025-03-06T19:48:23Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_e938c6e639aa496882e7307b678a4802", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_01aab7b48e4e4980adbb677c6f392de7", - "object": "Rate", "created_at": "2025-03-06T19:48:23Z", "updated_at": "2025-03-06T19:48:23Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_e938c6e639aa496882e7307b678a4802", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_877e3e57cb3c4c75ac351197b11b256a", "object": - "Rate", "created_at": "2025-03-06T19:48:23Z", "updated_at": "2025-03-06T19:48:23Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_e938c6e639aa496882e7307b678a4802", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_58d8cf77ce934a34ae4e28fde5798683", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500706", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-06T19:48:23Z", - "updated_at": "2025-03-06T19:48:23Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_e938c6e639aa496882e7307b678a4802", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzU4ZDhjZjc3Y2U5MzRhMzRhZTRlMjhmZGU1Nzk4Njgz"}, - "to_address": {"id": "adr_f65ac07ffac311efb0be3cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:48:23+00:00", "updated_at": "2025-03-06T19:48:23+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_f65cbaa7fac311efb0bf3cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:23+00:00", "updated_at": - "2025-03-06T19:48:23+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_f65ac07ffac311efb0be3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:23+00:00", "updated_at": "2025-03-06T19:48:23+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_e938c6e639aa496882e7307b678a4802 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc07e2b97b1700189198 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.825699' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"insurance": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "carrier": "USPS", "amount": "100", "tracking_code": - "9400100208303109500706"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '509' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/insurances - response: - body: - string: '{"id": "ins_abffbc30c07f4bc0ba6fb8f36e4e7781", "object": "Insurance", - "mode": "test", "reference": null, "status": "pending", "amount": "100.00000", - "provider": "easypost", "provider_id": null, "to_address": {"id": "adr_f6e8ef0dfac311efb10b3cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:23+00:00", "updated_at": - "2025-03-06T19:48:23+00:00", "name": "ELIZABETH SWAN", "company": null, "street1": - "179 N HARBOR DR", "street2": null, "city": "REDONDO BEACH", "state": "CA", - "zip": "90277-2506", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": false, "federal_tax_id": - null, "state_tax_id": null, "verifications": {"zip4": {"success": true, "errors": - [], "details": null}, "delivery": {"success": true, "errors": [], "details": - {"latitude": 33.8436, "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, - "from_address": {"id": "adr_f6edb4d3fac311efb10f3cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:48:24+00:00", "updated_at": "2025-03-06T19:48:24+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "shipment_id": null, "tracker": {"id": "trk_58d8cf77ce934a34ae4e28fde5798683", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500706", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-06T19:48:23Z", - "updated_at": "2025-03-06T19:48:23Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:23Z", "shipment_id": "shp_e938c6e639aa496882e7307b678a4802", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:23Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:23Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": - {"object": "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrXzU4ZDhjZjc3Y2U5MzRhMzRhZTRlMjhmZGU1Nzk4Njgz", - "fees": []}, "tracking_code": "9400100208303109500706", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:24Z", "updated_at": - "2025-03-06T19:48:24Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '3424' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/insurances/ins_abffbc30c07f4bc0ba6fb8f36e4e7781 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc07e2b97b17001892ad - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.303280' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/insurances/ins_abffbc30c07f4bc0ba6fb8f36e4e7781 - response: - body: - string: '{"id": "ins_abffbc30c07f4bc0ba6fb8f36e4e7781", "object": "Insurance", - "mode": "test", "reference": null, "status": "pending", "amount": "100.00000", - "provider": "easypost", "provider_id": null, "to_address": {"id": "adr_f6e8ef0dfac311efb10b3cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:23+00:00", "updated_at": - "2025-03-06T19:48:23+00:00", "name": "ELIZABETH SWAN", "company": null, "street1": - "179 N HARBOR DR", "street2": null, "city": "REDONDO BEACH", "state": "CA", - "zip": "90277-2506", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": false, "federal_tax_id": - null, "state_tax_id": null, "verifications": {"zip4": {"success": true, "errors": - [], "details": null}, "delivery": {"success": true, "errors": [], "details": - {"latitude": 33.8436, "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, - "from_address": {"id": "adr_f6edb4d3fac311efb10f3cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:48:24+00:00", "updated_at": "2025-03-06T19:48:24+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "shipment_id": null, "tracker": {"id": "trk_bd61761988d5406e98a33971dd6a6000", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500706", - "status": "error", "status_detail": null, "created_at": "2025-03-06T19:48:24Z", - "updated_at": "2025-03-06T19:48:24Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": null, "carrier": "USPS", "tracking_details": [{"object": - "TrackingDetail", "message": "In test mode, only test tracking numbers are - valid. Test tracking numbers are EZ1000000001, EZ2000000002, ... , EZ7000000007", - "description": "", "status": "error", "status_detail": null, "datetime": "2025-03-06T19:48:24Z", - "source": "ProcessingError", "carrier_code": "", "tracking_location": {"object": - "TrackingLocation", "city": null, "state": null, "country": null, "zip": null}}], - "carrier_detail": null, "finalized": true, "is_return": false, "public_url": - "https://track.easypost.com/djE6dHJrX2JkNjE3NjE5ODhkNTQwNmU5OGEzMzk3MWRkNmE2MDAw", - "fees": []}, "tracking_code": "9400100208303109500706", "fee": {"object": - "Fee", "type": "InsuranceFee", "amount": "1.00000", "charged": true, "refunded": - false}, "messages": [], "created_at": "2025-03-06T19:48:24Z", "updated_at": - "2025-03-06T19:48:24Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2666' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc08e2b97b170018931b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.124133' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_luma_get_promise.yaml b/tests/cassettes/test_luma_get_promise.yaml deleted file mode 100644 index ef49e4f1..00000000 --- a/tests/cassettes/test_luma_get_promise.yaml +++ /dev/null @@ -1,84 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "ruleset_name": "cheapest_delivery", "planned_ship_date": "2025-06-12"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '568' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/luma/promise - response: - body: - string: '{"luma_info": {"ai_results": [{"carrier": "USPS", "meets_ruleset_requirements": - true, "predicted_deliver_by_date": "2025-06-14", "predicted_deliver_days": - 2, "rate_usd": "7.42", "service": "Priority"}, {"carrier": "USPS", "meets_ruleset_requirements": - true, "predicted_deliver_by_date": "2025-06-15", "predicted_deliver_days": - 3, "rate_usd": "6.07", "service": "GroundAdvantage"}, {"carrier": "USPS", - "meets_ruleset_requirements": true, "predicted_deliver_by_date": "2025-06-13", - "predicted_deliver_days": 1, "rate_usd": "34.15", "service": "Express"}], - "matching_rule_idx": 0, "ruleset_description": "Buy the cheapest rate that - satisfies all of the following:\nRule 0\n \nOtherwise buy the cheapest - rate", "luma_selected_rate": {"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "currency": "USD", "rate": "6.07", "service": "GroundAdvantage", "luma_predicted_deliver_by_date": - "2025-06-15"}}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '873' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 5b2f8478684b38fee2bb2938008b45a8 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq e8fe6f4ec2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.276214' - x-version-label: - - easypost-202506122002-4fcd94d6be-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_order_buy.yaml b/tests/cassettes/test_order_buy.yaml deleted file mode 100644 index 1950515b..00000000 --- a/tests/cassettes/test_order_buy.yaml +++ /dev/null @@ -1,523 +0,0 @@ -interactions: -- request: - body: '{"order": {"from_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "to_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "shipments": [{"parcel": {"weight": 10.2}}, {"parcel": - {"weight": 17.5}}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '501' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/orders - response: - body: - string: '{"mode": "test", "reference": "", "is_return": false, "options": {"currency": - "USD", "payment": {"type": "SENDER"}}, "messages": [], "created_at": "2025-03-06T19:48:28Z", - "updated_at": "2025-03-06T19:48:28Z", "customs_info": null, "from_address": - {"id": "adr_f99ac245fac311efb2c73cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "to_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "return_address": {"id": "adr_f99ac245fac311efb2c73cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipments": [{"id": "shp_9cb9c80740454d9ba08fb92d49256ec9", "created_at": - "2025-03-06T19:48:28Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "unknown", "tracking_code": null, "updated_at": - "2025-03-06T19:48:28Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_f99ac245fac311efb2c73cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": - "2025-03-06T19:48:28+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - "order_c91fef40e21c48a3a4846ab323722583", "parcel": {"id": "prcl_af8d754b79db47c6aec316862abfd29d", - "object": "Parcel", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 10.2, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_1fbcb190f99a463b8c2d9bb96326c8fe", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5d3f583efcff423392d3dd5a6be28127", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_31ae98adc1924a349936598f46f54365", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "5.21", - "currency": "USD", "retail_rate": "7.00", "retail_currency": "USD", "list_rate": - "5.21", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": - "2025-03-06T19:48:28+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f99ac245fac311efb2c73cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}, {"id": "shp_481597ab57634eea9a07f99e967f6aa5", - "created_at": "2025-03-06T19:48:28Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-06T19:48:28Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": null, "from_address": {"id": - "adr_f99ac245fac311efb2c73cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": "order_c91fef40e21c48a3a4846ab323722583", - "parcel": {"id": "prcl_240f15d90ddd406ca5160b0c13b1b63a", "object": "Parcel", - "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 17.5, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_8d4e8ba9d6ed40f5aa283cdadd0aadf4", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "38.40", - "currency": "USD", "retail_rate": "44.15", "retail_currency": "USD", "list_rate": - "38.40", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_481597ab57634eea9a07f99e967f6aa5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_8112d82e5349417aae4dbb96f3f279ce", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "8.22", - "currency": "USD", "retail_rate": "12.65", "retail_currency": "USD", "list_rate": - "9.07", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_481597ab57634eea9a07f99e967f6aa5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_114b35086efb4c718d17eab9520048a8", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.53", - "currency": "USD", "retail_rate": "11.40", "retail_currency": "USD", "list_rate": - "8.05", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_481597ab57634eea9a07f99e967f6aa5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": - "2025-03-06T19:48:28+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f99ac245fac311efb2c73cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}], "rates": [{"id": "rate_1fbcb190f99a463b8c2d9bb96326c8fe", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "Express", "carrier": "USPS", "rate": "72.55", "currency": "USD", - "retail_rate": "83.25", "retail_currency": "USD", "list_rate": "72.55", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 1, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 1, "shipment_id": - "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, - {"id": "rate_5d3f583efcff423392d3dd5a6be28127", "object": "Rate", "created_at": - null, "updated_at": null, "mode": "test", "service": "Priority", "carrier": - "USPS", "rate": "15.64", "currency": "USD", "retail_rate": "22.55", "retail_currency": - "USD", "list_rate": "17.41", "list_currency": "USD", "billing_type": "easypost", - "delivery_days": 2, "delivery_date": null, "delivery_date_guaranteed": false, - "est_delivery_days": 2, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_31ae98adc1924a349936598f46f54365", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "GroundAdvantage", "carrier": "USPS", "rate": "11.74", "currency": - "USD", "retail_rate": "18.40", "retail_currency": "USD", "list_rate": "13.26", - "list_currency": "USD", "billing_type": "easypost", "delivery_days": 3, "delivery_date": - null, "delivery_date_guaranteed": false, "est_delivery_days": 3, "shipment_id": - "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}], - "id": "order_c91fef40e21c48a3a4846ab323722583", "object": "Order"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '12448' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/orders/order_c91fef40e21c48a3a4846ab323722583 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc0ce2b97b360018984a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.363678' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"carrier": "USPS", "service": "GroundAdvantage"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '49' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/orders/order_c91fef40e21c48a3a4846ab323722583/buy - response: - body: - string: '{"mode": "test", "reference": "", "is_return": false, "options": {"currency": - "USD", "payment": {"type": "SENDER"}}, "messages": [], "created_at": "2025-03-06T19:48:28Z", - "updated_at": "2025-03-06T19:48:28Z", "customs_info": null, "from_address": - {"id": "adr_f99ac245fac311efb2c73cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "to_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:29+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "buyer_address": - {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:29+00:00", "name": - "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "return_address": - {"id": "adr_f99ac245fac311efb2c73cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipments": [{"id": "shp_9cb9c80740454d9ba08fb92d49256ec9", "created_at": - "2025-03-06T19:48:28Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "unknown", "tracking_code": "9400100208303109500713", - "updated_at": "2025-03-06T19:48:29Z", "batch_id": null, "batch_status": null, - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_f99ac245fac311efb2c73cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": - "2025-03-06T19:48:28+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - "order_c91fef40e21c48a3a4846ab323722583", "parcel": {"id": "prcl_af8d754b79db47c6aec316862abfd29d", - "object": "Parcel", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 10.2, "mode": "test"}, "postage_label": {"object": "PostageLabel", - "id": "pl_773be9fdec1a4c52a07562abe4232fc5", "created_at": "2025-03-06T19:48:29Z", - "updated_at": "2025-03-06T19:48:29Z", "date_advance": 0, "integrated_form": - "none", "label_date": "2025-03-06T19:48:29Z", "label_resolution": 300, "label_size": - "4x6", "label_type": "default", "label_file_type": "image/png", "label_url": - "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e8e142e78a33c24ab4a361d0f36d3242e7.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_1fbcb190f99a463b8c2d9bb96326c8fe", "object": - "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5d3f583efcff423392d3dd5a6be28127", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_31ae98adc1924a349936598f46f54365", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "5.21", - "currency": "USD", "retail_rate": "7.00", "retail_currency": "USD", "list_rate": - "5.21", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_31ae98adc1924a349936598f46f54365", "object": - "Rate", "created_at": "2025-03-06T19:48:29Z", "updated_at": "2025-03-06T19:48:29Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "5.21", - "currency": "USD", "retail_rate": "7.00", "retail_currency": "USD", "list_rate": - "5.21", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_213b27933f19450cbb6096e57a372e0e", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500713", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-06T19:48:30Z", - "updated_at": "2025-03-06T19:48:30Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzIxM2IyNzkzM2YxOTQ1MGNiYjYwOTZlNTdhMzcyZTBl"}, - "to_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", "object": "Address", - "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:29+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_f99ac245fac311efb2c73cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:29+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "5.21000", "charged": true, "refunded": false}], "object": "Shipment"}, {"id": - "shp_481597ab57634eea9a07f99e967f6aa5", "created_at": "2025-03-06T19:48:28Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9434600208303109492683", "updated_at": - "2025-03-06T19:48:30Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_f99ac245fac311efb2c73cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": - "2025-03-06T19:48:28+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - "order_c91fef40e21c48a3a4846ab323722583", "parcel": {"id": "prcl_240f15d90ddd406ca5160b0c13b1b63a", - "object": "Parcel", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 17.5, "mode": "test"}, "postage_label": {"object": "PostageLabel", - "id": "pl_efa194d079e047f49dde3669686f90ae", "created_at": "2025-03-06T19:48:29Z", - "updated_at": "2025-03-06T19:48:30Z", "date_advance": 0, "integrated_form": - "none", "label_date": "2025-03-06T19:48:29Z", "label_resolution": 300, "label_size": - "4x6", "label_type": "default", "label_file_type": "image/png", "label_url": - "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e80c5d306f3e974011aa2640e65cb89ed5.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_8d4e8ba9d6ed40f5aa283cdadd0aadf4", "object": - "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "38.40", - "currency": "USD", "retail_rate": "44.15", "retail_currency": "USD", "list_rate": - "38.40", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_481597ab57634eea9a07f99e967f6aa5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_8112d82e5349417aae4dbb96f3f279ce", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "8.22", - "currency": "USD", "retail_rate": "12.65", "retail_currency": "USD", "list_rate": - "9.07", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_481597ab57634eea9a07f99e967f6aa5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_114b35086efb4c718d17eab9520048a8", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.53", - "currency": "USD", "retail_rate": "11.40", "retail_currency": "USD", "list_rate": - "8.05", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_481597ab57634eea9a07f99e967f6aa5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_114b35086efb4c718d17eab9520048a8", "object": - "Rate", "created_at": "2025-03-06T19:48:29Z", "updated_at": "2025-03-06T19:48:29Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.53", - "currency": "USD", "retail_rate": "11.40", "retail_currency": "USD", "list_rate": - "8.05", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_481597ab57634eea9a07f99e967f6aa5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_a2af9f98be1f4922abb5bf8c970a86c5", - "object": "Tracker", "mode": "test", "tracking_code": "9434600208303109492683", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-06T19:48:30Z", - "updated_at": "2025-03-06T19:48:30Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_481597ab57634eea9a07f99e967f6aa5", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrX2EyYWY5Zjk4YmUxZjQ5MjJhYmI1YmY4Yzk3MGE4NmM1"}, - "to_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", "object": "Address", - "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:29+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_f99ac245fac311efb2c73cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:28+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f9991dacfac311ef91d5ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:28+00:00", "updated_at": "2025-03-06T19:48:29+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.53000", "charged": true, "refunded": false}], "object": "Shipment"}], "rates": - [{"id": "rate_1fbcb190f99a463b8c2d9bb96326c8fe", "object": "Rate", "created_at": - null, "updated_at": null, "mode": "test", "service": "Express", "carrier": - "USPS", "rate": "72.55", "currency": "USD", "retail_rate": "83.25", "retail_currency": - "USD", "list_rate": "72.55", "list_currency": "USD", "billing_type": "easypost", - "delivery_days": 1, "delivery_date": null, "delivery_date_guaranteed": false, - "est_delivery_days": 1, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5d3f583efcff423392d3dd5a6be28127", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "Priority", "carrier": "USPS", "rate": "15.64", "currency": "USD", - "retail_rate": "22.55", "retail_currency": "USD", "list_rate": "17.41", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 2, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 2, "shipment_id": - "shp_9cb9c80740454d9ba08fb92d49256ec9", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, - {"id": "rate_31ae98adc1924a349936598f46f54365", "object": "Rate", "created_at": - null, "updated_at": null, "mode": "test", "service": "GroundAdvantage", "carrier": - "USPS", "rate": "11.74", "currency": "USD", "retail_rate": "18.40", "retail_currency": - "USD", "list_rate": "13.26", "list_currency": "USD", "billing_type": "easypost", - "delivery_days": 3, "delivery_date": null, "delivery_date_guaranteed": false, - "est_delivery_days": 3, "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}], "id": "order_c91fef40e21c48a3a4846ab323722583", - "object": "Order"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '17063' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc0ce2b97b36001898e6 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '1.282990' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_order_create.yaml b/tests/cassettes/test_order_create.yaml deleted file mode 100644 index 20b75728..00000000 --- a/tests/cassettes/test_order_create.yaml +++ /dev/null @@ -1,235 +0,0 @@ -interactions: -- request: - body: '{"order": {"from_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "to_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "shipments": [{"parcel": {"weight": 10.2}}, {"parcel": - {"weight": 17.5}}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '501' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/orders - response: - body: - string: '{"mode": "test", "reference": "", "is_return": false, "options": {"currency": - "USD", "payment": {"type": "SENDER"}}, "messages": [], "created_at": "2025-03-06T19:48:26Z", - "updated_at": "2025-03-06T19:48:26Z", "customs_info": null, "from_address": - {"id": "adr_f86e7b61fac311ef9688ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "to_address": {"id": "adr_f86cb7a8fac311ef9685ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f86cb7a8fac311ef9685ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "return_address": {"id": "adr_f86e7b61fac311ef9688ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipments": [{"id": "shp_9eb9d0a2eab64153b1c03645eac39cdb", "created_at": - "2025-03-06T19:48:26Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "unknown", "tracking_code": null, "updated_at": - "2025-03-06T19:48:26Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_f86e7b61fac311ef9688ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": - "2025-03-06T19:48:26+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - "order_2de8eebf610b4fd694768fdb151b33e2", "parcel": {"id": "prcl_0beed44accc946b1ac57d8f695ceab22", - "object": "Parcel", "created_at": "2025-03-06T19:48:26Z", "updated_at": "2025-03-06T19:48:26Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 10.2, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_25cedc8227724e2698295f2fad9f2019", - "object": "Rate", "created_at": "2025-03-06T19:48:26Z", "updated_at": "2025-03-06T19:48:26Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "5.21", - "currency": "USD", "retail_rate": "7.00", "retail_currency": "USD", "list_rate": - "5.21", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_9eb9d0a2eab64153b1c03645eac39cdb", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_7cfcfb3a80a54159bd9770c75aaaf744", - "object": "Rate", "created_at": "2025-03-06T19:48:26Z", "updated_at": "2025-03-06T19:48:26Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_9eb9d0a2eab64153b1c03645eac39cdb", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_814abc5f9ddd4a65ae1fd8a2abd0badb", - "object": "Rate", "created_at": "2025-03-06T19:48:26Z", "updated_at": "2025-03-06T19:48:26Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_9eb9d0a2eab64153b1c03645eac39cdb", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f86cb7a8fac311ef9685ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": - "2025-03-06T19:48:26+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f86e7b61fac311ef9688ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f86cb7a8fac311ef9685ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}, {"id": "shp_a38a71078e2449c6bca5ff496497290e", - "created_at": "2025-03-06T19:48:26Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-06T19:48:26Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": null, "from_address": {"id": - "adr_f86e7b61fac311ef9688ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": "order_2de8eebf610b4fd694768fdb151b33e2", - "parcel": {"id": "prcl_00f7f86a3bb346a59e4387a766c2c652", "object": "Parcel", - "created_at": "2025-03-06T19:48:26Z", "updated_at": "2025-03-06T19:48:26Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 17.5, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_de2ba121c28249f08801d6a032f26f84", - "object": "Rate", "created_at": "2025-03-06T19:48:26Z", "updated_at": "2025-03-06T19:48:26Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "8.22", - "currency": "USD", "retail_rate": "12.65", "retail_currency": "USD", "list_rate": - "9.07", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_a38a71078e2449c6bca5ff496497290e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_9558cf7a7f434006bc052e791cd870c8", - "object": "Rate", "created_at": "2025-03-06T19:48:26Z", "updated_at": "2025-03-06T19:48:26Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.53", - "currency": "USD", "retail_rate": "11.40", "retail_currency": "USD", "list_rate": - "8.05", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_a38a71078e2449c6bca5ff496497290e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_eb37a274e54c4a6880c7adc1cb04ca68", - "object": "Rate", "created_at": "2025-03-06T19:48:26Z", "updated_at": "2025-03-06T19:48:26Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "38.40", - "currency": "USD", "retail_rate": "44.15", "retail_currency": "USD", "list_rate": - "38.40", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_a38a71078e2449c6bca5ff496497290e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f86cb7a8fac311ef9685ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": - "2025-03-06T19:48:26+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f86e7b61fac311ef9688ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f86cb7a8fac311ef9685ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}], "rates": [{"id": "rate_25cedc8227724e2698295f2fad9f2019", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "GroundAdvantage", "carrier": "USPS", "rate": "11.74", "currency": - "USD", "retail_rate": "18.40", "retail_currency": "USD", "list_rate": "13.26", - "list_currency": "USD", "billing_type": "easypost", "delivery_days": 3, "delivery_date": - null, "delivery_date_guaranteed": false, "est_delivery_days": 3, "shipment_id": - "shp_9eb9d0a2eab64153b1c03645eac39cdb", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, - {"id": "rate_7cfcfb3a80a54159bd9770c75aaaf744", "object": "Rate", "created_at": - null, "updated_at": null, "mode": "test", "service": "Express", "carrier": - "USPS", "rate": "72.55", "currency": "USD", "retail_rate": "83.25", "retail_currency": - "USD", "list_rate": "72.55", "list_currency": "USD", "billing_type": "easypost", - "delivery_days": 1, "delivery_date": null, "delivery_date_guaranteed": false, - "est_delivery_days": 1, "shipment_id": "shp_9eb9d0a2eab64153b1c03645eac39cdb", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_814abc5f9ddd4a65ae1fd8a2abd0badb", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "Priority", "carrier": "USPS", "rate": "15.64", "currency": "USD", - "retail_rate": "22.55", "retail_currency": "USD", "list_rate": "17.41", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 2, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 2, "shipment_id": - "shp_9eb9d0a2eab64153b1c03645eac39cdb", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}], - "id": "order_2de8eebf610b4fd694768fdb151b33e2", "object": "Order"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '12448' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/orders/order_2de8eebf610b4fd694768fdb151b33e2 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc0ae2b97b33001895e8 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.315445' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_order_get_rates.yaml b/tests/cassettes/test_order_get_rates.yaml deleted file mode 100644 index cf31289e..00000000 --- a/tests/cassettes/test_order_get_rates.yaml +++ /dev/null @@ -1,456 +0,0 @@ -interactions: -- request: - body: '{"order": {"from_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "to_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "shipments": [{"parcel": {"weight": 10.2}}, {"parcel": - {"weight": 17.5}}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '501' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/orders - response: - body: - string: '{"mode": "test", "reference": "", "is_return": false, "options": {"currency": - "USD", "payment": {"type": "SENDER"}}, "messages": [], "created_at": "2025-03-06T19:48:27Z", - "updated_at": "2025-03-06T19:48:27Z", "customs_info": null, "from_address": - {"id": "adr_f9137e8dfac311ef9199ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "to_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "return_address": {"id": "adr_f9137e8dfac311ef9199ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipments": [{"id": "shp_1a082204e53c4fe0be7ddaacc6755589", "created_at": - "2025-03-06T19:48:27Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "unknown", "tracking_code": null, "updated_at": - "2025-03-06T19:48:27Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_f9137e8dfac311ef9199ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": - "2025-03-06T19:48:27+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - "order_fa66ba284bc7484994770a4a2dde7a5f", "parcel": {"id": "prcl_a15a14ef3a3c49cb997ed0ed71c0b0a8", - "object": "Parcel", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 10.2, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_2f202da4dc6b4678a7c3d0f99b0d12fb", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_1a082204e53c4fe0be7ddaacc6755589", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_7087cced66144902a5037d31f21e71aa", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "5.21", - "currency": "USD", "retail_rate": "7.00", "retail_currency": "USD", "list_rate": - "5.21", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_1a082204e53c4fe0be7ddaacc6755589", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_ec9c7e7122b348be967048bbb8f03478", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_1a082204e53c4fe0be7ddaacc6755589", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": - "2025-03-06T19:48:27+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f9137e8dfac311ef9199ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}, {"id": "shp_10e4d46ae7004e44a601e87956a825bb", - "created_at": "2025-03-06T19:48:27Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-06T19:48:27Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": null, "from_address": {"id": - "adr_f9137e8dfac311ef9199ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": "order_fa66ba284bc7484994770a4a2dde7a5f", - "parcel": {"id": "prcl_0d469dca44c7413199bf81d687797247", "object": "Parcel", - "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 17.5, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_218afbbc29fa4384911db143218247b0", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "38.40", - "currency": "USD", "retail_rate": "44.15", "retail_currency": "USD", "list_rate": - "38.40", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_10e4d46ae7004e44a601e87956a825bb", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_2ed60a576c26436987b517a2f32a1bc5", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "8.22", - "currency": "USD", "retail_rate": "12.65", "retail_currency": "USD", "list_rate": - "9.07", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_10e4d46ae7004e44a601e87956a825bb", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_cd011cbd74d64633ab55c57f4381d847", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.53", - "currency": "USD", "retail_rate": "11.40", "retail_currency": "USD", "list_rate": - "8.05", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_10e4d46ae7004e44a601e87956a825bb", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": - "2025-03-06T19:48:27+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f9137e8dfac311ef9199ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}], "rates": [{"id": "rate_2f202da4dc6b4678a7c3d0f99b0d12fb", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "Priority", "carrier": "USPS", "rate": "15.64", "currency": "USD", - "retail_rate": "22.55", "retail_currency": "USD", "list_rate": "17.41", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 2, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 2, "shipment_id": - "shp_1a082204e53c4fe0be7ddaacc6755589", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, - {"id": "rate_7087cced66144902a5037d31f21e71aa", "object": "Rate", "created_at": - null, "updated_at": null, "mode": "test", "service": "GroundAdvantage", "carrier": - "USPS", "rate": "11.74", "currency": "USD", "retail_rate": "18.40", "retail_currency": - "USD", "list_rate": "13.26", "list_currency": "USD", "billing_type": "easypost", - "delivery_days": 3, "delivery_date": null, "delivery_date_guaranteed": false, - "est_delivery_days": 3, "shipment_id": "shp_1a082204e53c4fe0be7ddaacc6755589", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_ec9c7e7122b348be967048bbb8f03478", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "Express", "carrier": "USPS", "rate": "72.55", "currency": "USD", - "retail_rate": "83.25", "retail_currency": "USD", "list_rate": "72.55", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 1, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 1, "shipment_id": - "shp_1a082204e53c4fe0be7ddaacc6755589", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}], - "id": "order_fa66ba284bc7484994770a4a2dde7a5f", "object": "Order"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '12448' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/orders/order_fa66ba284bc7484994770a4a2dde7a5f - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc0be2b97b350018972d - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.316155' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/orders/order_fa66ba284bc7484994770a4a2dde7a5f/rates - response: - body: - string: '{"mode": "test", "reference": "", "is_return": false, "options": {"currency": - "USD", "payment": {"type": "SENDER"}}, "messages": [], "created_at": "2025-03-06T19:48:27Z", - "updated_at": "2025-03-06T19:48:27Z", "customs_info": null, "from_address": - {"id": "adr_f9137e8dfac311ef9199ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "to_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "return_address": {"id": "adr_f9137e8dfac311ef9199ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipments": [{"id": "shp_1a082204e53c4fe0be7ddaacc6755589", "created_at": - "2025-03-06T19:48:27Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "unknown", "tracking_code": null, "updated_at": - "2025-03-06T19:48:27Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_f9137e8dfac311ef9199ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": - "2025-03-06T19:48:27+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - "order_fa66ba284bc7484994770a4a2dde7a5f", "parcel": {"id": "prcl_a15a14ef3a3c49cb997ed0ed71c0b0a8", - "object": "Parcel", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 10.2, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_119c155cc9104c138f59376bc698b53c", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_1a082204e53c4fe0be7ddaacc6755589", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_38565db1c24c4f50b3a9bfa1b2a74b7c", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_1a082204e53c4fe0be7ddaacc6755589", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_310cefff7f58457db8cc063f538fb614", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "5.21", - "currency": "USD", "retail_rate": "7.00", "retail_currency": "USD", "list_rate": - "5.21", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_1a082204e53c4fe0be7ddaacc6755589", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": - "2025-03-06T19:48:27+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f9137e8dfac311ef9199ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}, {"id": "shp_10e4d46ae7004e44a601e87956a825bb", - "created_at": "2025-03-06T19:48:27Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-06T19:48:27Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": null, "from_address": {"id": - "adr_f9137e8dfac311ef9199ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": "order_fa66ba284bc7484994770a4a2dde7a5f", - "parcel": {"id": "prcl_0d469dca44c7413199bf81d687797247", "object": "Parcel", - "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 17.5, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_7d8ea3369f3141a38059a835db226599", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "8.22", - "currency": "USD", "retail_rate": "12.65", "retail_currency": "USD", "list_rate": - "9.07", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_10e4d46ae7004e44a601e87956a825bb", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_1c7d67ba1f494c029d1cd02e3366a089", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.53", - "currency": "USD", "retail_rate": "11.40", "retail_currency": "USD", "list_rate": - "8.05", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_10e4d46ae7004e44a601e87956a825bb", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_c47f2e0e0add4d4587c886d2c868a45b", - "object": "Rate", "created_at": "2025-03-06T19:48:28Z", "updated_at": "2025-03-06T19:48:28Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "38.40", - "currency": "USD", "retail_rate": "44.15", "retail_currency": "USD", "list_rate": - "38.40", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_10e4d46ae7004e44a601e87956a825bb", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": - "2025-03-06T19:48:27+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f9137e8dfac311ef9199ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f911d3a4fac311efb2733cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}], "rates": [{"id": "rate_119c155cc9104c138f59376bc698b53c", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "Express", "carrier": "USPS", "rate": "72.55", "currency": "USD", - "retail_rate": "83.25", "retail_currency": "USD", "list_rate": "72.55", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 1, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 1, "shipment_id": - "shp_1a082204e53c4fe0be7ddaacc6755589", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, - {"id": "rate_38565db1c24c4f50b3a9bfa1b2a74b7c", "object": "Rate", "created_at": - null, "updated_at": null, "mode": "test", "service": "Priority", "carrier": - "USPS", "rate": "15.64", "currency": "USD", "retail_rate": "22.55", "retail_currency": - "USD", "list_rate": "17.41", "list_currency": "USD", "billing_type": "easypost", - "delivery_days": 2, "delivery_date": null, "delivery_date_guaranteed": false, - "est_delivery_days": 2, "shipment_id": "shp_1a082204e53c4fe0be7ddaacc6755589", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_310cefff7f58457db8cc063f538fb614", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "GroundAdvantage", "carrier": "USPS", "rate": "11.74", "currency": - "USD", "retail_rate": "18.40", "retail_currency": "USD", "list_rate": "13.26", - "list_currency": "USD", "billing_type": "easypost", "delivery_days": 3, "delivery_date": - null, "delivery_date_guaranteed": false, "est_delivery_days": 3, "shipment_id": - "shp_1a082204e53c4fe0be7ddaacc6755589", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}], - "id": "order_fa66ba284bc7484994770a4a2dde7a5f", "object": "Order"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '12448' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc0be2b97b35001897a3 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.378195' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_order_lowest_rate.yaml b/tests/cassettes/test_order_lowest_rate.yaml deleted file mode 100644 index 57ac5d03..00000000 --- a/tests/cassettes/test_order_lowest_rate.yaml +++ /dev/null @@ -1,235 +0,0 @@ -interactions: -- request: - body: '{"order": {"from_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "to_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "shipments": [{"parcel": {"weight": 10.2}}, {"parcel": - {"weight": 17.5}}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '501' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/orders - response: - body: - string: '{"mode": "test", "reference": "", "is_return": false, "options": {"currency": - "USD", "payment": {"type": "SENDER"}}, "messages": [], "created_at": "2025-03-06T19:48:30Z", - "updated_at": "2025-03-06T19:48:30Z", "customs_info": null, "from_address": - {"id": "adr_fab49ddbfac311efb36f3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:30+00:00", "updated_at": "2025-03-06T19:48:30+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "to_address": {"id": "adr_fab33a37fac311efb36e3cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:30+00:00", "updated_at": "2025-03-06T19:48:30+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_fab33a37fac311efb36e3cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:30+00:00", "updated_at": "2025-03-06T19:48:30+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "return_address": {"id": "adr_fab49ddbfac311efb36f3cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:30+00:00", "updated_at": "2025-03-06T19:48:30+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipments": [{"id": "shp_f82ddf699f31400bbe86c21663960619", "created_at": - "2025-03-06T19:48:30Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "unknown", "tracking_code": null, "updated_at": - "2025-03-06T19:48:30Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_fab49ddbfac311efb36f3cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:30+00:00", "updated_at": - "2025-03-06T19:48:30+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - "order_26702f7c8a5e401faeb65501179e3262", "parcel": {"id": "prcl_3ccdaeb12e474810accc6bb6caa59f83", - "object": "Parcel", "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 10.2, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_cba7e0a3d7124d2ba816ea612d55986f", - "object": "Rate", "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_f82ddf699f31400bbe86c21663960619", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_9aae4ae3164b4d2bb79efbf307e48725", - "object": "Rate", "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "5.21", - "currency": "USD", "retail_rate": "7.00", "retail_currency": "USD", "list_rate": - "5.21", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_f82ddf699f31400bbe86c21663960619", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_fd7abde0253b47bb9fe72b3bb1c2d377", - "object": "Rate", "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_f82ddf699f31400bbe86c21663960619", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_fab33a37fac311efb36e3cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:30+00:00", "updated_at": - "2025-03-06T19:48:30+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_fab49ddbfac311efb36f3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:30+00:00", "updated_at": "2025-03-06T19:48:30+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_fab33a37fac311efb36e3cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:30+00:00", "updated_at": "2025-03-06T19:48:30+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}, {"id": "shp_2a958445977543d493c211e0b64b35b2", - "created_at": "2025-03-06T19:48:30Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-06T19:48:30Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": null, "from_address": {"id": - "adr_fab49ddbfac311efb36f3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:30+00:00", "updated_at": "2025-03-06T19:48:30+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": "order_26702f7c8a5e401faeb65501179e3262", - "parcel": {"id": "prcl_e4ea2d6d1a784b11ac76803526a5c550", "object": "Parcel", - "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 17.5, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_f38f9649d9e544fb859c5afb773ba977", - "object": "Rate", "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "38.40", - "currency": "USD", "retail_rate": "44.15", "retail_currency": "USD", "list_rate": - "38.40", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_2a958445977543d493c211e0b64b35b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_80a11d13d32b4bb99432012572913ecf", - "object": "Rate", "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "8.22", - "currency": "USD", "retail_rate": "12.65", "retail_currency": "USD", "list_rate": - "9.07", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_2a958445977543d493c211e0b64b35b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_57a579e7ab4c4ae0b584d9b753c0ad7d", - "object": "Rate", "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.53", - "currency": "USD", "retail_rate": "11.40", "retail_currency": "USD", "list_rate": - "8.05", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2a958445977543d493c211e0b64b35b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_fab33a37fac311efb36e3cecef1b359e", - "object": "Address", "created_at": "2025-03-06T19:48:30+00:00", "updated_at": - "2025-03-06T19:48:30+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_fab49ddbfac311efb36f3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:30+00:00", "updated_at": "2025-03-06T19:48:30+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_fab33a37fac311efb36e3cecef1b359e", "object": - "Address", "created_at": "2025-03-06T19:48:30+00:00", "updated_at": "2025-03-06T19:48:30+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}], "rates": [{"id": "rate_cba7e0a3d7124d2ba816ea612d55986f", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "Priority", "carrier": "USPS", "rate": "15.64", "currency": "USD", - "retail_rate": "22.55", "retail_currency": "USD", "list_rate": "17.41", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 2, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 2, "shipment_id": - "shp_f82ddf699f31400bbe86c21663960619", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, - {"id": "rate_9aae4ae3164b4d2bb79efbf307e48725", "object": "Rate", "created_at": - null, "updated_at": null, "mode": "test", "service": "GroundAdvantage", "carrier": - "USPS", "rate": "11.74", "currency": "USD", "retail_rate": "18.40", "retail_currency": - "USD", "list_rate": "13.26", "list_currency": "USD", "billing_type": "easypost", - "delivery_days": 3, "delivery_date": null, "delivery_date_guaranteed": false, - "est_delivery_days": 3, "shipment_id": "shp_f82ddf699f31400bbe86c21663960619", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_fd7abde0253b47bb9fe72b3bb1c2d377", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "Express", "carrier": "USPS", "rate": "72.55", "currency": "USD", - "retail_rate": "83.25", "retail_currency": "USD", "list_rate": "72.55", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 1, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 1, "shipment_id": - "shp_f82ddf699f31400bbe86c21663960619", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}], - "id": "order_26702f7c8a5e401faeb65501179e3262", "object": "Order"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '12448' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/orders/order_26702f7c8a5e401faeb65501179e3262 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc0ee2b97b3700189acd - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.337334' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_order_retrieve.yaml b/tests/cassettes/test_order_retrieve.yaml deleted file mode 100644 index d8d4a96d..00000000 --- a/tests/cassettes/test_order_retrieve.yaml +++ /dev/null @@ -1,456 +0,0 @@ -interactions: -- request: - body: '{"order": {"from_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "to_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "shipments": [{"parcel": {"weight": 10.2}}, {"parcel": - {"weight": 17.5}}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '501' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/orders - response: - body: - string: '{"mode": "test", "reference": "", "is_return": false, "options": {"currency": - "USD", "payment": {"type": "SENDER"}}, "messages": [], "created_at": "2025-03-06T19:48:27Z", - "updated_at": "2025-03-06T19:48:27Z", "customs_info": null, "from_address": - {"id": "adr_f8b671e2fac311efbcd2ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "to_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "return_address": {"id": "adr_f8b671e2fac311efbcd2ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipments": [{"id": "shp_080c36deaf4e46288c6ab4dd7541c0ff", "created_at": - "2025-03-06T19:48:27Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "unknown", "tracking_code": null, "updated_at": - "2025-03-06T19:48:27Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_f8b671e2fac311efbcd2ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": - "2025-03-06T19:48:27+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - "order_2d074a2409d84d28b4d76e9c4288931b", "parcel": {"id": "prcl_b2c5e6eacb884263b430db2ff32acd34", - "object": "Parcel", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 10.2, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_679c43ffd32c4a67a07c06c73c8db0fd", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "5.21", - "currency": "USD", "retail_rate": "7.00", "retail_currency": "USD", "list_rate": - "5.21", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_080c36deaf4e46288c6ab4dd7541c0ff", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_6d80f0247620488295d4e0972f9df86b", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_080c36deaf4e46288c6ab4dd7541c0ff", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_c846a472ccb04471b81fa5ea9fc14952", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_080c36deaf4e46288c6ab4dd7541c0ff", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": - "2025-03-06T19:48:26+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f8b671e2fac311efbcd2ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}, {"id": "shp_585a2e0c08944a61bee1557f6f8b9fef", - "created_at": "2025-03-06T19:48:27Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-06T19:48:27Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": null, "from_address": {"id": - "adr_f8b671e2fac311efbcd2ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": "order_2d074a2409d84d28b4d76e9c4288931b", - "parcel": {"id": "prcl_4c3997e0861e436081894618321b8f25", "object": "Parcel", - "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 17.5, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_8392bed93eff422fb388f812e1d28261", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "38.40", - "currency": "USD", "retail_rate": "44.15", "retail_currency": "USD", "list_rate": - "38.40", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_585a2e0c08944a61bee1557f6f8b9fef", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_96c36947f51048eeb04398a125b0326c", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "8.22", - "currency": "USD", "retail_rate": "12.65", "retail_currency": "USD", "list_rate": - "9.07", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_585a2e0c08944a61bee1557f6f8b9fef", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_3f4e71c05f0a4b599e14ecd886825309", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.53", - "currency": "USD", "retail_rate": "11.40", "retail_currency": "USD", "list_rate": - "8.05", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_585a2e0c08944a61bee1557f6f8b9fef", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": - "2025-03-06T19:48:26+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f8b671e2fac311efbcd2ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}], "rates": [{"id": "rate_679c43ffd32c4a67a07c06c73c8db0fd", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "GroundAdvantage", "carrier": "USPS", "rate": "11.74", "currency": - "USD", "retail_rate": "18.40", "retail_currency": "USD", "list_rate": "13.26", - "list_currency": "USD", "billing_type": "easypost", "delivery_days": 3, "delivery_date": - null, "delivery_date_guaranteed": false, "est_delivery_days": 3, "shipment_id": - "shp_080c36deaf4e46288c6ab4dd7541c0ff", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, - {"id": "rate_6d80f0247620488295d4e0972f9df86b", "object": "Rate", "created_at": - null, "updated_at": null, "mode": "test", "service": "Express", "carrier": - "USPS", "rate": "72.55", "currency": "USD", "retail_rate": "83.25", "retail_currency": - "USD", "list_rate": "72.55", "list_currency": "USD", "billing_type": "easypost", - "delivery_days": 1, "delivery_date": null, "delivery_date_guaranteed": false, - "est_delivery_days": 1, "shipment_id": "shp_080c36deaf4e46288c6ab4dd7541c0ff", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_c846a472ccb04471b81fa5ea9fc14952", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "Priority", "carrier": "USPS", "rate": "15.64", "currency": "USD", - "retail_rate": "22.55", "retail_currency": "USD", "list_rate": "17.41", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 2, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 2, "shipment_id": - "shp_080c36deaf4e46288c6ab4dd7541c0ff", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}], - "id": "order_2d074a2409d84d28b4d76e9c4288931b", "object": "Order"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '12448' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/orders/order_2d074a2409d84d28b4d76e9c4288931b - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fc0ae2b97b340018967a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.327880' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/orders/order_2d074a2409d84d28b4d76e9c4288931b - response: - body: - string: '{"mode": "test", "reference": "", "is_return": false, "options": {"currency": - "USD", "payment": {"type": "SENDER"}}, "messages": [], "created_at": "2025-03-06T19:48:27Z", - "updated_at": "2025-03-06T19:48:27Z", "customs_info": null, "from_address": - {"id": "adr_f8b671e2fac311efbcd2ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "to_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "return_address": {"id": "adr_f8b671e2fac311efbcd2ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "shipments": [{"id": "shp_080c36deaf4e46288c6ab4dd7541c0ff", "created_at": - "2025-03-06T19:48:27Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "unknown", "tracking_code": null, "updated_at": - "2025-03-06T19:48:27Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_f8b671e2fac311efbcd2ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:27+00:00", "updated_at": - "2025-03-06T19:48:27+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - "order_2d074a2409d84d28b4d76e9c4288931b", "parcel": {"id": "prcl_b2c5e6eacb884263b430db2ff32acd34", - "object": "Parcel", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 10.2, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_679c43ffd32c4a67a07c06c73c8db0fd", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "5.21", - "currency": "USD", "retail_rate": "7.00", "retail_currency": "USD", "list_rate": - "5.21", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_080c36deaf4e46288c6ab4dd7541c0ff", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_6d80f0247620488295d4e0972f9df86b", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_080c36deaf4e46288c6ab4dd7541c0ff", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_c846a472ccb04471b81fa5ea9fc14952", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_080c36deaf4e46288c6ab4dd7541c0ff", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": - "2025-03-06T19:48:26+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f8b671e2fac311efbcd2ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}, {"id": "shp_585a2e0c08944a61bee1557f6f8b9fef", - "created_at": "2025-03-06T19:48:27Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-06T19:48:27Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": null, "from_address": {"id": - "adr_f8b671e2fac311efbcd2ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": "order_2d074a2409d84d28b4d76e9c4288931b", - "parcel": {"id": "prcl_4c3997e0861e436081894618321b8f25", "object": "Parcel", - "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "length": null, "width": null, "height": null, "predefined_package": null, - "weight": 17.5, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_8392bed93eff422fb388f812e1d28261", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "38.40", - "currency": "USD", "retail_rate": "44.15", "retail_currency": "USD", "list_rate": - "38.40", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_585a2e0c08944a61bee1557f6f8b9fef", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_96c36947f51048eeb04398a125b0326c", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "8.22", - "currency": "USD", "retail_rate": "12.65", "retail_currency": "USD", "list_rate": - "9.07", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_585a2e0c08944a61bee1557f6f8b9fef", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_3f4e71c05f0a4b599e14ecd886825309", - "object": "Rate", "created_at": "2025-03-06T19:48:27Z", "updated_at": "2025-03-06T19:48:27Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.53", - "currency": "USD", "retail_rate": "11.40", "retail_currency": "USD", "list_rate": - "8.05", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_585a2e0c08944a61bee1557f6f8b9fef", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": - "2025-03-06T19:48:26+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_f8b671e2fac311efbcd2ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:27+00:00", "updated_at": "2025-03-06T19:48:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_f8b49794fac311efbcd0ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-06T19:48:26+00:00", "updated_at": "2025-03-06T19:48:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}], "rates": [{"id": "rate_679c43ffd32c4a67a07c06c73c8db0fd", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "GroundAdvantage", "carrier": "USPS", "rate": "11.74", "currency": - "USD", "retail_rate": "18.40", "retail_currency": "USD", "list_rate": "13.26", - "list_currency": "USD", "billing_type": "easypost", "delivery_days": 3, "delivery_date": - null, "delivery_date_guaranteed": false, "est_delivery_days": 3, "shipment_id": - "shp_080c36deaf4e46288c6ab4dd7541c0ff", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, - {"id": "rate_6d80f0247620488295d4e0972f9df86b", "object": "Rate", "created_at": - null, "updated_at": null, "mode": "test", "service": "Express", "carrier": - "USPS", "rate": "72.55", "currency": "USD", "retail_rate": "83.25", "retail_currency": - "USD", "list_rate": "72.55", "list_currency": "USD", "billing_type": "easypost", - "delivery_days": 1, "delivery_date": null, "delivery_date_guaranteed": false, - "est_delivery_days": 1, "shipment_id": "shp_080c36deaf4e46288c6ab4dd7541c0ff", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_c846a472ccb04471b81fa5ea9fc14952", - "object": "Rate", "created_at": null, "updated_at": null, "mode": "test", - "service": "Priority", "carrier": "USPS", "rate": "15.64", "currency": "USD", - "retail_rate": "22.55", "retail_currency": "USD", "list_rate": "17.41", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 2, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 2, "shipment_id": - "shp_080c36deaf4e46288c6ab4dd7541c0ff", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}], - "id": "order_2d074a2409d84d28b4d76e9c4288931b", "object": "Order"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '12448' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fc0be2b97b34001896df - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.097449' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_parcel_create.yaml b/tests/cassettes/test_parcel_create.yaml deleted file mode 100644 index bcc7646f..00000000 --- a/tests/cassettes/test_parcel_create.yaml +++ /dev/null @@ -1,74 +0,0 @@ -interactions: -- request: - body: '{"parcel": {"length": 10, "width": 8, "height": 4, "weight": 15.4}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '67' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/parcels - response: - body: - string: '{"id": "prcl_5d81cd2ad3644052943064bf570d753e", "object": "Parcel", - "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '229' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/parcels/prcl_5d81cd2ad3644052943064bf570d753e - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc0ee2b97b3800189b8b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.028550' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_parcel_retrieve.yaml b/tests/cassettes/test_parcel_retrieve.yaml deleted file mode 100644 index ac527aef..00000000 --- a/tests/cassettes/test_parcel_retrieve.yaml +++ /dev/null @@ -1,136 +0,0 @@ -interactions: -- request: - body: '{"parcel": {"length": 10, "width": 8, "height": 4, "weight": 15.4}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '67' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/parcels - response: - body: - string: '{"id": "prcl_7c7ea4fdff3d49f5a0ba5a4cf8c50d64", "object": "Parcel", - "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '229' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/parcels/prcl_7c7ea4fdff3d49f5a0ba5a4cf8c50d64 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc0ee2b97b3900189bd2 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.031217' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/parcels/prcl_7c7ea4fdff3d49f5a0ba5a4cf8c50d64 - response: - body: - string: '{"id": "prcl_7c7ea4fdff3d49f5a0ba5a4cf8c50d64", "object": "Parcel", - "created_at": "2025-03-06T19:48:30Z", "updated_at": "2025-03-06T19:48:30Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '229' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc0ee2b97b3900189bf0 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.021935' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_pickup_all.yaml b/tests/cassettes/test_pickup_all.yaml deleted file mode 100644 index 1b1c088d..00000000 --- a/tests/cassettes/test_pickup_all.yaml +++ /dev/null @@ -1,122 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/pickups?page_size=5 - response: - body: - string: '{"pickups": [{"id": "pickup_3cafbbc9dae14281a0c76848a9419cb1", "object": - "Pickup", "created_at": "2025-03-07T16:46:00Z", "updated_at": "2025-03-07T16:46:00Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2025-03-08T00:00:00Z", - "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_a6a0caccfb7311efb5feac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:46:00+00:00", "updated_at": "2025-03-07T16:46:00+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:02Z", - "updated_at": "2025-03-07T16:46:02Z", "carrier": "USPS", "pickup_id": "pickup_3cafbbc9dae14281a0c76848a9419cb1", - "id": "pickuprate_91820d140f3f4e9ebfa2e709688017c5", "object": "PickupRate"}]}, - {"id": "pickup_62ca1c7c91b843888ff982502c8018b7", "object": "Pickup", "created_at": - "2025-03-06T19:48:38Z", "updated_at": "2025-03-06T19:48:38Z", "mode": "test", - "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_ffc9a077fac311efb6293cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:38+00:00", "updated_at": "2025-03-06T19:48:38+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": []}, {"id": "pickup_e1cf0a09b64a4160853f4121d6713747", - "object": "Pickup", "created_at": "2025-03-06T19:48:37Z", "updated_at": "2025-03-06T19:48:37Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_fefb306bfac311ef9a28ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:37+00:00", "updated_at": "2025-03-06T19:48:37+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": []}, {"id": "pickup_49b84091f140493e8df6d44ec9de856a", - "object": "Pickup", "created_at": "2025-03-06T19:48:36Z", "updated_at": "2025-03-06T19:48:36Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_fe10e26efac311efb51c3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:35+00:00", "updated_at": "2025-03-06T19:48:35+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": []}, {"id": "pickup_f4b950fb123b412282de960603a832c4", - "object": "Pickup", "created_at": "2025-03-06T19:48:34Z", "updated_at": "2025-03-06T19:48:34Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_fd324b43fac311ef93cdac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:34+00:00", "updated_at": "2025-03-06T19:48:34+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": []}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4691' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 9087f27567cb22cae2aaba010044227b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb2nuq 99aac35317 - x-runtime: - - '0.285083' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_pickup_buy.yaml b/tests/cassettes/test_pickup_buy.yaml deleted file mode 100644 index c5af894a..00000000 --- a/tests/cassettes/test_pickup_buy.yaml +++ /dev/null @@ -1,322 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "created_at": "2025-03-07T16:46:07Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505626", "updated_at": - "2025-03-07T16:46:07Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_aa69c593fb7311ef971b3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:07+00:00", "updated_at": - "2025-03-07T16:46:07+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_d65c73ef0b0741b683c85ae149b4c615", "object": - "Parcel", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_f91a9e01da6c4e378d2dce661c4c6911", - "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:07Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8534b38912c20459a8afb5b43a2a38f93.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_59faed8017f04a3a929537ddda74d7fb", "object": - "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_feb24755f1794a458896fecb8a014f3e", - "object": "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_9f7170c31a6a4cd4b07a7ee5c114aadc", - "object": "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_9f7170c31a6a4cd4b07a7ee5c114aadc", "object": - "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_5b5388ca5edc4c2188e41862ace7cbee", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505626", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:07Z", - "updated_at": "2025-03-07T16:46:07Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzViNTM4OGNhNWVkYzRjMjE4OGU0MTg2MmFjZTdjYmVl"}, - "to_address": {"id": "adr_aa670212fb7311ef9ddfac1f6bc539aa", "object": "Address", - "created_at": "2025-03-07T16:46:07+00:00", "updated_at": "2025-03-07T16:46:07+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_aa69c593fb7311ef971b3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:07+00:00", "updated_at": - "2025-03-07T16:46:07+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_aa670212fb7311ef9ddfac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:46:07+00:00", "updated_at": "2025-03-07T16:46:07+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_2d1487afd0f541a4bcf9fecc1b02b28d - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22cee2aaba1b000acefd - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '1.045469' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"pickup": {"address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "min_datetime": - "2025-03-08", "max_datetime": "2025-03-08", "instructions": "Pickup at front - door", "shipment": {"id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d"}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '385' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/pickups - response: - body: - string: '{"id": "pickup_97eb98f4c2004ede9f30e26ec4f63233", "object": "Pickup", - "created_at": "2025-03-07T16:46:08Z", "updated_at": "2025-03-07T16:46:08Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2025-03-08T00:00:00Z", - "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_aafa0799fb7311efb8bbac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:46:08+00:00", "updated_at": "2025-03-07T16:46:08+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:08Z", - "updated_at": "2025-03-07T16:46:08Z", "carrier": "USPS", "pickup_id": "pickup_97eb98f4c2004ede9f30e26ec4f63233", - "id": "pickuprate_dd219c18c36a48b295f8d8c5d5247906", "object": "PickupRate"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1157' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22cfe2aaba1b000ad0d9 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '1.051583' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"carrier": "USPS", "service": "NextDay"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '41' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/pickups/pickup_97eb98f4c2004ede9f30e26ec4f63233/buy - response: - body: - string: '{"id": "pickup_97eb98f4c2004ede9f30e26ec4f63233", "object": "Pickup", - "created_at": "2025-03-07T16:46:08Z", "updated_at": "2025-03-07T16:46:10Z", - "mode": "test", "status": "scheduled", "reference": null, "min_datetime": - "2025-03-08T00:00:00Z", "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": - false, "instructions": "Pickup at front door", "messages": [], "confirmation": - "WTC65024896", "address": {"id": "adr_aafa0799fb7311efb8bbac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:08+00:00", "updated_at": "2025-03-07T16:46:08+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:08Z", - "updated_at": "2025-03-07T16:46:08Z", "carrier": "USPS", "pickup_id": "pickup_97eb98f4c2004ede9f30e26ec4f63233", - "id": "pickuprate_dd219c18c36a48b295f8d8c5d5247906", "object": "PickupRate"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1168' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22d1e2aaba1b000ad22a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb56nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '1.813744' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_pickup_cancel.yaml b/tests/cassettes/test_pickup_cancel.yaml deleted file mode 100644 index ef53c5e0..00000000 --- a/tests/cassettes/test_pickup_cancel.yaml +++ /dev/null @@ -1,401 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_b674aad341c24fe18611019a72ff6e84", "created_at": "2025-03-07T16:46:11Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505633", "updated_at": - "2025-03-07T16:46:11Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_acc761b6fb7311ef98773cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:11+00:00", "updated_at": - "2025-03-07T16:46:11+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_48819d3d4ffc44b898146405288b1b4e", "object": - "Parcel", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_7c4b7267da3f4b13a8834e79a7b0af3a", - "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:11Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8728792ec6b434a14a1f45d8e27c3db93.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_f74107b724334c1695f76a362d6d1354", "object": - "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_c50e7434c2b8494cbc89405e54ee777e", - "object": "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_345992a3bb14453ca8c41069addcbbad", - "object": "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_345992a3bb14453ca8c41069addcbbad", "object": - "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_7ab5213aaf264b53ab2f296d2efc7e73", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505633", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:11Z", - "updated_at": "2025-03-07T16:46:11Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzdhYjUyMTNhYWYyNjRiNTNhYjJmMjk2ZDJlZmM3ZTcz"}, - "to_address": {"id": "adr_acc16571fb7311ef9f45ac1f6bc539aa", "object": "Address", - "created_at": "2025-03-07T16:46:10+00:00", "updated_at": "2025-03-07T16:46:11+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_acc761b6fb7311ef98773cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:11+00:00", "updated_at": - "2025-03-07T16:46:11+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_acc16571fb7311ef9f45ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:46:10+00:00", "updated_at": "2025-03-07T16:46:11+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_b674aad341c24fe18611019a72ff6e84 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22d2e2aaba1c000ad494 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '1.032213' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"pickup": {"address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "min_datetime": - "2025-03-08", "max_datetime": "2025-03-08", "instructions": "Pickup at front - door", "shipment": {"id": "shp_b674aad341c24fe18611019a72ff6e84"}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '385' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/pickups - response: - body: - string: '{"id": "pickup_7a497566ff634331bdaffdfe4ab10103", "object": "Pickup", - "created_at": "2025-03-07T16:46:12Z", "updated_at": "2025-03-07T16:46:12Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2025-03-08T00:00:00Z", - "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_ad70f202fb7311ef98d43cecef1b359e", "object": "Address", "created_at": - "2025-03-07T16:46:12+00:00", "updated_at": "2025-03-07T16:46:12+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:12Z", - "updated_at": "2025-03-07T16:46:12Z", "carrier": "USPS", "pickup_id": "pickup_7a497566ff634331bdaffdfe4ab10103", - "id": "pickuprate_15fc9bd9aee34bed9acb7776860853dd", "object": "PickupRate"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1157' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22d4e2aaba1c000ad5cd - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.857474' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"carrier": "USPS", "service": "NextDay"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '41' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/pickups/pickup_7a497566ff634331bdaffdfe4ab10103/buy - response: - body: - string: '{"id": "pickup_7a497566ff634331bdaffdfe4ab10103", "object": "Pickup", - "created_at": "2025-03-07T16:46:12Z", "updated_at": "2025-03-07T16:46:13Z", - "mode": "test", "status": "scheduled", "reference": null, "min_datetime": - "2025-03-08T00:00:00Z", "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": - false, "instructions": "Pickup at front door", "messages": [], "confirmation": - "WTC65024918", "address": {"id": "adr_ad70f202fb7311ef98d43cecef1b359e", "object": - "Address", "created_at": "2025-03-07T16:46:12+00:00", "updated_at": "2025-03-07T16:46:12+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:12Z", - "updated_at": "2025-03-07T16:46:12Z", "carrier": "USPS", "pickup_id": "pickup_7a497566ff634331bdaffdfe4ab10103", - "id": "pickuprate_15fc9bd9aee34bed9acb7776860853dd", "object": "PickupRate"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1168' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22d4e2aaba1c000ad6bd - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.888661' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/pickups/pickup_7a497566ff634331bdaffdfe4ab10103/cancel - response: - body: - string: '{"id": "pickup_7a497566ff634331bdaffdfe4ab10103", "object": "Pickup", - "created_at": "2025-03-07T16:46:12Z", "updated_at": "2025-03-07T16:46:14Z", - "mode": "test", "status": "canceled", "reference": null, "min_datetime": "2025-03-08T00:00:00Z", - "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": "WTC65024918", "address": - {"id": "adr_ad70f202fb7311ef98d43cecef1b359e", "object": "Address", "created_at": - "2025-03-07T16:46:12+00:00", "updated_at": "2025-03-07T16:46:12+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:12Z", - "updated_at": "2025-03-07T16:46:12Z", "carrier": "USPS", "pickup_id": "pickup_7a497566ff634331bdaffdfe4ab10103", - "id": "pickuprate_15fc9bd9aee34bed9acb7776860853dd", "object": "PickupRate"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1167' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22d5e2aaba1c000ad7fc - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.804670' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_pickup_create.yaml b/tests/cassettes/test_pickup_create.yaml deleted file mode 100644 index 347768cd..00000000 --- a/tests/cassettes/test_pickup_create.yaml +++ /dev/null @@ -1,245 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "created_at": "2025-03-07T16:45:59Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505602", "updated_at": - "2025-03-07T16:46:00Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_a6167a17fb7311ef94473cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:45:59+00:00", "updated_at": - "2025-03-07T16:45:59+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_c2911b5c7bda49a9803dfba239fad665", "object": - "Parcel", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_d08201d458744a4ebf36695bb79f7dee", - "created_at": "2025-03-07T16:46:00Z", "updated_at": "2025-03-07T16:46:00Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:00Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8d6cfe7a133ab49f19fdbb00699c16dd0.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_e62e203a40874c9f9733fbd55e5fe9a8", "object": - "Rate", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_aee96176a0764400a3bc4a6a200b4d17", - "object": "Rate", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_ac50b2827b524b9f9ab7a19507dfb541", - "object": "Rate", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_aee96176a0764400a3bc4a6a200b4d17", "object": - "Rate", "created_at": "2025-03-07T16:46:00Z", "updated_at": "2025-03-07T16:46:00Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_49bbcbf123ae4414984b6ee5182fc53b", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505602", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:00Z", - "updated_at": "2025-03-07T16:46:00Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzQ5YmJjYmYxMjNhZTQ0MTQ5ODRiNmVlNTE4MmZjNTNi"}, - "to_address": {"id": "adr_a613c9f6fb7311ef9555ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-07T16:45:59+00:00", "updated_at": "2025-03-07T16:46:00+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_a6167a17fb7311ef94473cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:45:59+00:00", "updated_at": - "2025-03-07T16:45:59+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_a613c9f6fb7311ef9555ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:45:59+00:00", "updated_at": "2025-03-07T16:46:00+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_6b4d00550e884c07985eaeccfbdf4fc1 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb22c7e2aaba00000ac624 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.818103' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"pickup": {"address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "min_datetime": - "2025-03-08", "max_datetime": "2025-03-08", "instructions": "Pickup at front - door", "shipment": {"id": "shp_6b4d00550e884c07985eaeccfbdf4fc1"}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '385' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/pickups - response: - body: - string: '{"id": "pickup_3cafbbc9dae14281a0c76848a9419cb1", "object": "Pickup", - "created_at": "2025-03-07T16:46:00Z", "updated_at": "2025-03-07T16:46:00Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2025-03-08T00:00:00Z", - "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_a6a0caccfb7311efb5feac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:46:00+00:00", "updated_at": "2025-03-07T16:46:00+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:02Z", - "updated_at": "2025-03-07T16:46:02Z", "carrier": "USPS", "pickup_id": "pickup_3cafbbc9dae14281a0c76848a9419cb1", - "id": "pickuprate_91820d140f3f4e9ebfa2e709688017c5", "object": "PickupRate"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1157' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb22c8e2aaba00000ac722 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '2.004399' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_pickup_get_next_page.yaml b/tests/cassettes/test_pickup_get_next_page.yaml deleted file mode 100644 index 7da00843..00000000 --- a/tests/cassettes/test_pickup_get_next_page.yaml +++ /dev/null @@ -1,254 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/pickups?page_size=5 - response: - body: - string: '{"pickups": [{"id": "pickup_3cafbbc9dae14281a0c76848a9419cb1", "object": - "Pickup", "created_at": "2025-03-07T16:46:00Z", "updated_at": "2025-03-07T16:46:00Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2025-03-08T00:00:00Z", - "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_a6a0caccfb7311efb5feac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:46:00+00:00", "updated_at": "2025-03-07T16:46:00+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:02Z", - "updated_at": "2025-03-07T16:46:02Z", "carrier": "USPS", "pickup_id": "pickup_3cafbbc9dae14281a0c76848a9419cb1", - "id": "pickuprate_91820d140f3f4e9ebfa2e709688017c5", "object": "PickupRate"}]}, - {"id": "pickup_62ca1c7c91b843888ff982502c8018b7", "object": "Pickup", "created_at": - "2025-03-06T19:48:38Z", "updated_at": "2025-03-06T19:48:38Z", "mode": "test", - "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_ffc9a077fac311efb6293cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:38+00:00", "updated_at": "2025-03-06T19:48:38+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": []}, {"id": "pickup_e1cf0a09b64a4160853f4121d6713747", - "object": "Pickup", "created_at": "2025-03-06T19:48:37Z", "updated_at": "2025-03-06T19:48:37Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_fefb306bfac311ef9a28ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:37+00:00", "updated_at": "2025-03-06T19:48:37+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": []}, {"id": "pickup_49b84091f140493e8df6d44ec9de856a", - "object": "Pickup", "created_at": "2025-03-06T19:48:36Z", "updated_at": "2025-03-06T19:48:36Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_fe10e26efac311efb51c3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:35+00:00", "updated_at": "2025-03-06T19:48:35+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": []}, {"id": "pickup_f4b950fb123b412282de960603a832c4", - "object": "Pickup", "created_at": "2025-03-06T19:48:34Z", "updated_at": "2025-03-06T19:48:34Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_fd324b43fac311ef93cdac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:34+00:00", "updated_at": "2025-03-06T19:48:34+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": []}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4691' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 9087f27267cb22cbe2aaba02004422d1 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb2nuq 99aac35317 - x-runtime: - - '0.068212' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/pickups?before_id=pickup_f4b950fb123b412282de960603a832c4&page_size=5 - response: - body: - string: '{"pickups": [{"id": "pickup_bebf144939d244daafdb929b99a2ef73", "object": - "Pickup", "created_at": "2025-03-06T19:48:32Z", "updated_at": "2025-03-06T19:48:32Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_fbce76b7fac311efb40f3cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:32+00:00", "updated_at": "2025-03-06T19:48:32+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": []}, {"id": "pickup_01e005e4f2d04632b21b79cc76bc605c", - "object": "Pickup", "created_at": "2024-08-16T15:47:02Z", "updated_at": "2024-08-16T15:47:02Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_c7d41c565be611ef8e34ac1f6bc53342", "object": "Address", "created_at": - "2024-08-16T15:47:02+00:00", "updated_at": "2024-08-16T15:47:02+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2024-08-16T15:47:03Z", - "updated_at": "2024-08-16T15:47:03Z", "carrier": "USPS", "pickup_id": "pickup_01e005e4f2d04632b21b79cc76bc605c", - "id": "pickuprate_fcb3197bea914ee29e3d6a2ae7909b9b", "object": "PickupRate"}]}, - {"id": "pickup_b2949eb61e0b4328a57b6cd946dcd7e4", "object": "Pickup", "created_at": - "2024-08-16T15:46:57Z", "updated_at": "2024-08-16T15:47:01Z", "mode": "test", - "status": "canceled", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": "WTC64761770", "address": - {"id": "adr_c5062b085be611ef904eac1f6bc539ae", "object": "Address", "created_at": - "2024-08-16T15:46:57+00:00", "updated_at": "2024-08-16T15:46:57+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2024-08-16T15:46:58Z", - "updated_at": "2024-08-16T15:46:58Z", "carrier": "USPS", "pickup_id": "pickup_b2949eb61e0b4328a57b6cd946dcd7e4", - "id": "pickuprate_61c282cd40b9467ba8a089c7c7d6e99c", "object": "PickupRate"}]}, - {"id": "pickup_494caf8885524ab9af07a4689e4b4e47", "object": "Pickup", "created_at": - "2024-08-16T15:46:53Z", "updated_at": "2024-08-16T15:46:56Z", "mode": "test", - "status": "scheduled", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": "WTC64761768", "address": - {"id": "adr_c295906f5be611ef8f45ac1f6bc539ae", "object": "Address", "created_at": - "2024-08-16T15:46:53+00:00", "updated_at": "2024-08-16T15:46:53+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2024-08-16T15:46:54Z", - "updated_at": "2024-08-16T15:46:54Z", "carrier": "USPS", "pickup_id": "pickup_494caf8885524ab9af07a4689e4b4e47", - "id": "pickuprate_a772332c1f47418ca25986f7a7f0e7dc", "object": "PickupRate"}]}, - {"id": "pickup_75767b64ada14629a24d42254656a137", "object": "Pickup", "created_at": - "2024-08-16T15:46:50Z", "updated_at": "2024-08-16T15:46:50Z", "mode": "test", - "status": "unknown", "reference": null, "min_datetime": "2024-08-17T00:00:00Z", - "max_datetime": "2024-08-17T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_c0b434505be611ef8aa3ac1f6bc539aa", "object": "Address", "created_at": - "2024-08-16T15:46:50+00:00", "updated_at": "2024-08-16T15:46:50+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2024-08-16T15:46:52Z", - "updated_at": "2024-08-16T15:46:52Z", "carrier": "USPS", "pickup_id": "pickup_75767b64ada14629a24d42254656a137", - "id": "pickuprate_01651b090221426992b6130c20f56500", "object": "PickupRate"}]}], - "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5558' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 9087f27267cb22cbe2aaba02004422eb - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb2nuq 99aac35317 - x-runtime: - - '0.136606' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_pickup_lowest_rate.yaml b/tests/cassettes/test_pickup_lowest_rate.yaml deleted file mode 100644 index 6d0ee097..00000000 --- a/tests/cassettes/test_pickup_lowest_rate.yaml +++ /dev/null @@ -1,243 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_6348a453cbd04b4189dc85524719e6b2", "created_at": "2025-03-07T16:46:14Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505640", "updated_at": - "2025-03-07T16:46:15Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_af10e4b4fb7311ef9acaac1f6bc539ae", - "object": "Address", "created_at": "2025-03-07T16:46:14+00:00", "updated_at": - "2025-03-07T16:46:14+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_a9373fdd04bd4d83874c7e397ecddcb6", "object": - "Parcel", "created_at": "2025-03-07T16:46:14Z", "updated_at": "2025-03-07T16:46:14Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_f54afe8913fb4046b55523838df4f97b", - "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:15Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8b170594430f64d768ceb157887c5c28e.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_f9da1c97861743bba5eaf3db89b10898", "object": - "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_f320606ea0bd45ef92a34f109234fc44", - "object": "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_b501d85dcc0743fdb0d8ab673107bf5d", - "object": "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_b501d85dcc0743fdb0d8ab673107bf5d", "object": - "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_4c1b66c0dad34060a7b4704100bdd88e", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505640", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:15Z", - "updated_at": "2025-03-07T16:46:15Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzRjMWI2NmMwZGFkMzQwNjBhN2I0NzA0MTAwYmRkODhl"}, - "to_address": {"id": "adr_af0b9199fb7311ef9ac8ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-07T16:46:14+00:00", "updated_at": "2025-03-07T16:46:15+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_af10e4b4fb7311ef9acaac1f6bc539ae", - "object": "Address", "created_at": "2025-03-07T16:46:14+00:00", "updated_at": - "2025-03-07T16:46:14+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_af0b9199fb7311ef9ac8ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:14+00:00", "updated_at": "2025-03-07T16:46:15+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_6348a453cbd04b4189dc85524719e6b2 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fb67cb22d6e2aaba1d000ad900 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.866595' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"pickup": {"address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "min_datetime": - "2025-03-08", "max_datetime": "2025-03-08", "instructions": "Pickup at front - door", "shipment": {"id": "shp_6348a453cbd04b4189dc85524719e6b2"}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '385' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/pickups - response: - body: - string: '{"id": "pickup_9fec2553c91849b18dd35a155e46261a", "object": "Pickup", - "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2025-03-08T00:00:00Z", - "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_afabb759fb7311ef9b2cac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:15+00:00", "updated_at": "2025-03-07T16:46:15+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:16Z", - "updated_at": "2025-03-07T16:46:16Z", "carrier": "USPS", "pickup_id": "pickup_9fec2553c91849b18dd35a155e46261a", - "id": "pickuprate_539f07c1ef384c359a386a44c0b5514e", "object": "PickupRate"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1157' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fb67cb22d7e2aaba1d000ada30 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '1.254309' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_pickup_retrieve.yaml b/tests/cassettes/test_pickup_retrieve.yaml deleted file mode 100644 index 0cb39939..00000000 --- a/tests/cassettes/test_pickup_retrieve.yaml +++ /dev/null @@ -1,318 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_622803c6479446e895b6ec9ffc580f58", "created_at": "2025-03-07T16:46:03Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505619", "updated_at": - "2025-03-07T16:46:04Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_a84fa087fb7311ef9cb3ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:03+00:00", "updated_at": - "2025-03-07T16:46:03+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_5c264ed4432848aaad2545e0dfb8eeb4", "object": - "Parcel", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_2dd5e193a0874563acda1913359fbef3", - "created_at": "2025-03-07T16:46:04Z", "updated_at": "2025-03-07T16:46:04Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:04Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e82ca3296f28234c8c963d9042eefecad2.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_5ad2d3f3665b4343b75e85a5a0fe02de", "object": - "Rate", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_646a6333c5af49168d64b3df5382e557", - "object": "Rate", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5179687711ef43e2a5188ee7aa89da97", - "object": "Rate", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_646a6333c5af49168d64b3df5382e557", "object": - "Rate", "created_at": "2025-03-07T16:46:04Z", "updated_at": "2025-03-07T16:46:04Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_11c660ecffdf4b938a1212ec4709662c", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505619", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:04Z", - "updated_at": "2025-03-07T16:46:04Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzExYzY2MGVjZmZkZjRiOTM4YTEyMTJlYzQ3MDk2NjJj"}, - "to_address": {"id": "adr_a84d64eafb7311ef95cf3cecef1b359e", "object": "Address", - "created_at": "2025-03-07T16:46:03+00:00", "updated_at": "2025-03-07T16:46:03+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_a84fa087fb7311ef9cb3ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:03+00:00", "updated_at": - "2025-03-07T16:46:03+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_a84d64eafb7311ef95cf3cecef1b359e", "object": "Address", "created_at": - "2025-03-07T16:46:03+00:00", "updated_at": "2025-03-07T16:46:03+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_622803c6479446e895b6ec9ffc580f58 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 9087f27267cb22cbe2aaba0300442334 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb2nuq 99aac35317 - x-runtime: - - '0.808994' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"pickup": {"address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "min_datetime": - "2025-03-08", "max_datetime": "2025-03-08", "instructions": "Pickup at front - door", "shipment": {"id": "shp_622803c6479446e895b6ec9ffc580f58"}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '385' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/pickups - response: - body: - string: '{"id": "pickup_424882d020b04a09a33613f9bdfdc689", "object": "Pickup", - "created_at": "2025-03-07T16:46:04Z", "updated_at": "2025-03-07T16:46:04Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2025-03-08T00:00:00Z", - "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_a8cfa0bcfb7311ef9738ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:04+00:00", "updated_at": "2025-03-07T16:46:04+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:06Z", - "updated_at": "2025-03-07T16:46:06Z", "carrier": "USPS", "pickup_id": "pickup_424882d020b04a09a33613f9bdfdc689", - "id": "pickuprate_1acf4be9344b46a09cbea963dfdc2d6a", "object": "PickupRate"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1157' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 9087f27267cb22cce2aaba030044240e - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb2nuq 99aac35317 - x-runtime: - - '2.282689' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/pickups/pickup_424882d020b04a09a33613f9bdfdc689 - response: - body: - string: '{"id": "pickup_424882d020b04a09a33613f9bdfdc689", "object": "Pickup", - "created_at": "2025-03-07T16:46:04Z", "updated_at": "2025-03-07T16:46:04Z", - "mode": "test", "status": "unknown", "reference": null, "min_datetime": "2025-03-08T00:00:00Z", - "max_datetime": "2025-03-08T00:00:00Z", "is_account_address": false, "instructions": - "Pickup at front door", "messages": [], "confirmation": null, "address": {"id": - "adr_a8cfa0bcfb7311ef9738ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:04+00:00", "updated_at": "2025-03-07T16:46:04+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "carrier_accounts": [], "pickup_rates": [{"mode": "test", "service": - "NextDay", "rate": "0.00", "currency": "USD", "created_at": "2025-03-07T16:46:06Z", - "updated_at": "2025-03-07T16:46:06Z", "carrier": "USPS", "pickup_id": "pickup_424882d020b04a09a33613f9bdfdc689", - "id": "pickuprate_1acf4be9344b46a09cbea963dfdc2d6a", "object": "PickupRate"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1157' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 9087f27267cb22cee2aaba03004426a5 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb2nuq 99aac35317 - x-runtime: - - '0.054890' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_rate_retrieve.yaml b/tests/cassettes/test_rate_retrieve.yaml deleted file mode 100644 index 29ad6fee..00000000 --- a/tests/cassettes/test_rate_retrieve.yaml +++ /dev/null @@ -1,197 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '496' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_fa3ecb526d1d4069b69e9ab69fbb183c", "created_at": "2025-03-06T19:48:39Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-03-06T19:48:39Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_0005dcd7fac411ef9541ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:39+00:00", "updated_at": "2025-03-06T19:48:39+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_15a63f6904274e3bb04ecf05860f0b81", - "object": "Parcel", "created_at": "2025-03-06T19:48:39Z", "updated_at": "2025-03-06T19:48:39Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_bfc18c450b1145358f8ba52241cc134e", - "object": "Rate", "created_at": "2025-03-06T19:48:39Z", "updated_at": "2025-03-06T19:48:39Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_fa3ecb526d1d4069b69e9ab69fbb183c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_9d62cddf616b418c8dbba7bfbe678c0c", - "object": "Rate", "created_at": "2025-03-06T19:48:39Z", "updated_at": "2025-03-06T19:48:39Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_fa3ecb526d1d4069b69e9ab69fbb183c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_0d48f1bd493b4091a41ff71b359b9a01", - "object": "Rate", "created_at": "2025-03-06T19:48:39Z", "updated_at": "2025-03-06T19:48:39Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_fa3ecb526d1d4069b69e9ab69fbb183c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_00041b60fac411ef9540ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-06T19:48:39+00:00", "updated_at": - "2025-03-06T19:48:39+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_0005dcd7fac411ef9541ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:39+00:00", "updated_at": "2025-03-06T19:48:39+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_00041b60fac411ef9540ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-06T19:48:39+00:00", "updated_at": "2025-03-06T19:48:39+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4325' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_fa3ecb526d1d4069b69e9ab69fbb183c - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc17e2b97b5a0018a4ec - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.201098' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/rates/rate_bfc18c450b1145358f8ba52241cc134e - response: - body: - string: '{"id": "rate_bfc18c450b1145358f8ba52241cc134e", "object": "Rate", "created_at": - "2025-03-06T19:48:39Z", "updated_at": "2025-03-06T19:48:39Z", "mode": "test", - "service": "Priority", "carrier": "USPS", "rate": "7.42", "currency": "USD", - "retail_rate": "9.90", "retail_currency": "USD", "list_rate": "8.34", "list_currency": - "USD", "billing_type": "easypost", "delivery_days": 2, "delivery_date": null, - "delivery_date_guaranteed": false, "est_delivery_days": 2, "shipment_id": - "shp_fa3ecb526d1d4069b69e9ab69fbb183c", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '535' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc17e2b97b5a0018a540 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.294512' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_referral_customer_add_bank_account_from_stripe.yaml b/tests/cassettes/test_referral_customer_add_bank_account_from_stripe.yaml deleted file mode 100644 index bae7f247..00000000 --- a/tests/cassettes/test_referral_customer_add_bank_account_from_stripe.yaml +++ /dev/null @@ -1,71 +0,0 @@ -interactions: -- request: - body: '{"financial_connections_id": "fca_0QAc7sDqT4huGUvdf6BahYa9", "mandate_data": - {"ip_address": "127.0.0.1", "user_agent": "Mozilla/5.0", "accepted_at": 1722510730}, - "priority": "primary"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '184' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/bank_accounts - response: - body: - string: '{"error": {"code": "BANK_ACCOUNT.INVALID_PARAMS", "message": "account_holder_name - must be present when creating a Financial Connections payment method", "errors": - []}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 595be10f677d770ce2b7da9900093399 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.032022' - x-version-label: - - easypost-202501062233-3c9302ef23-master - x-xss-protection: - - 1; mode=block - status: - code: 422 - message: Unprocessable Entity -version: 1 diff --git a/tests/cassettes/test_referral_customer_add_credit_card_from_stripe.yaml b/tests/cassettes/test_referral_customer_add_credit_card_from_stripe.yaml deleted file mode 100644 index 8e6ced6e..00000000 --- a/tests/cassettes/test_referral_customer_add_credit_card_from_stripe.yaml +++ /dev/null @@ -1,69 +0,0 @@ -interactions: -- request: - body: '{"credit_card": {"payment_method_id": "pm_0Pn6bQDqT4huGUvd0CjpRerH", "priority": - "primary"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '92' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/credit_cards - response: - body: - string: '{"error": {"code": "CREDIT_CARD.NOT_FOUND", "message": "Stripe::PaymentMethod - does not exist for the specified reference_id", "errors": []}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '134' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 327fc0ad677d76bee2b7da9200097934 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.426801' - x-version-label: - - easypost-202501062233-3c9302ef23-master - x-xss-protection: - - 1; mode=block - status: - code: 404 - message: Not Found -version: 1 diff --git a/tests/cassettes/test_referral_customer_all.yaml b/tests/cassettes/test_referral_customer_all.yaml deleted file mode 100644 index 5c6182b6..00000000 --- a/tests/cassettes/test_referral_customer_all.yaml +++ /dev/null @@ -1,98 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/referral_customers?page_size=5 - response: - body: - string: '{"has_more": true, "referral_customers": [{"id": "user_634b6daa05744bfaa205058f06864363", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-04-26T15:50:28Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_35cb81fb8af1454dabf1f6afa7330634", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-04-27T20:20:52Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": "100.00", "secondary_recharge_amount": "100.00", - "recharge_threshold": "0.00", "has_billing_method": true, "cc_fee_rate": "0.0325", - "default_insurance_amount": "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": - "0.50", "email": "", "children": []}, {"id": "user_fa93cc16bcc24c078ee057ce82f38eed", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-04-28T22:34:38Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_4a22730cdc844ce1bc2efbed999c869f", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-04-29T19:35:33Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_488e391395f4416196a31965fecac409", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-05-02T18:48:22Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": "100.00", "secondary_recharge_amount": "100.00", - "recharge_threshold": "0.00", "has_billing_method": true, "cc_fee_rate": "0.0325", - "default_insurance_amount": "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": - "0.50", "email": "", "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2858' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc19e2b97b740018a73e - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.193565' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_referral_customer_create.yaml b/tests/cassettes/test_referral_customer_create.yaml deleted file mode 100644 index c7c97f00..00000000 --- a/tests/cassettes/test_referral_customer_create.yaml +++ /dev/null @@ -1,78 +0,0 @@ -interactions: -- request: - body: '{"user": {"name": "Test Referral", "email": "test@example.com", "phone": - "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '87' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/referral_customers - response: - body: - string: '{"id": "user_0857ace4c8cc4c1c820c0020f63b58e3", "object": "User", "parent_id": - null, "name": "Test Referral", "phone_number": "", "verified": true, - "created_at": "2025-11-14T21:41:14Z", "default_carbon_offset": false, "has_elevate_access": - false, "balance": "0.00000", "price_per_shipment": "0.00000", "recharge_amount": - null, "secondary_recharge_amount": null, "recharge_threshold": null, "has_billing_method": - null, "cc_fee_rate": "0.0375", "default_insurance_amount": "50.00", "insurance_fee_rate": - "0.01", "insurance_fee_minimum": "0.50", "email": "", "children": - [], "api_keys": [{"object": "ApiKey", "key": "", "mode": "test", - "created_at": "2025-11-14T21:41:15Z", "active": true, "id": "ak_942665c2509a4d67af5d117a22ebbe2f"}, - {"object": "ApiKey", "key": "", "mode": "production", "created_at": - "2025-11-14T21:41:15Z", "active": true, "id": "ak_6e11f073d4b74271b69ff9de29131033"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1021' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7265c2fb6917a1fae786c164010a6c1a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq c0061e0a2e - - extlb1nuq cbbd141214 - x-runtime: - - '0.677840' - x-version-label: - - easypost-202511141214-a539f53042-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_referral_customer_retrieve_easypost_stripe_api_key.yaml b/tests/cassettes/test_referral_customer_retrieve_easypost_stripe_api_key.yaml deleted file mode 100644 index b1b060fa..00000000 --- a/tests/cassettes/test_referral_customer_retrieve_easypost_stripe_api_key.yaml +++ /dev/null @@ -1,67 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/partners/stripe_public_key - response: - body: - string: '{"public_key": "pk_x3JSr5eOVWNTLRej8cZDde9VQ0AT5"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '49' - content-type: - - application/json; charset=utf-8 - easypost-api-version: - - '2015-01-01' - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - vary: - - EasyPost-Api-Version - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 91d0a0fa6ab4301ce2b97bb400af2fd1 - x-frame-options: - - SAMEORIGIN - x-node: - - web103azw - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3azw f29267e751 - - extlb2azw 07fb4d8f06 - x-runtime: - - '0.029468' - x-version-label: - - easypost-202609231716-41b3efb4ec-main - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_referral_customer_update.yaml b/tests/cassettes/test_referral_customer_update.yaml deleted file mode 100644 index d724b78f..00000000 --- a/tests/cassettes/test_referral_customer_update.yaml +++ /dev/null @@ -1,200 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/referral_customers - response: - body: - string: '{"has_more": true, "referral_customers": [{"id": "user_634b6daa05744bfaa205058f06864363", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-04-26T15:50:28Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_35cb81fb8af1454dabf1f6afa7330634", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-04-27T20:20:52Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": "100.00", "secondary_recharge_amount": "100.00", - "recharge_threshold": "0.00", "has_billing_method": true, "cc_fee_rate": "0.0325", - "default_insurance_amount": "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": - "0.50", "email": "", "children": []}, {"id": "user_fa93cc16bcc24c078ee057ce82f38eed", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-04-28T22:34:38Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_4a22730cdc844ce1bc2efbed999c869f", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-04-29T19:35:33Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_488e391395f4416196a31965fecac409", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-05-02T18:48:22Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": "100.00", "secondary_recharge_amount": "100.00", - "recharge_threshold": "0.00", "has_billing_method": true, "cc_fee_rate": "0.0325", - "default_insurance_amount": "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": - "0.50", "email": "", "children": []}, {"id": "user_91b120087ff843349b9a3f0675572bb1", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-05-02T19:04:10Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_4ae0d572fbe542deb7efa51935a5b826", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-05-02T23:08:40Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": "100.00", "secondary_recharge_amount": "100.00", - "recharge_threshold": "0.00", "has_billing_method": true, "cc_fee_rate": "0.0325", - "default_insurance_amount": "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": - "0.50", "email": "", "children": []}, {"id": "user_71189529eba747ce83aa69303e22c7df", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-05-04T22:05:27Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_c13290f1f6a442d79657b8bfe5daeeba", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-05-05T16:54:58Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_b73fdc6c6a58421ea884a82ad14520a5", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-05-05T16:55:59Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": "100.00", "secondary_recharge_amount": "100.00", - "recharge_threshold": "0.00", "has_billing_method": true, "cc_fee_rate": "0.0325", - "default_insurance_amount": "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": - "0.50", "email": "", "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5650' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc18e2b97b730018a680 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb56nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.328114' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"user": {"email": "email@example.com"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '40' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: PUT - uri: https://api.easypost.com/v2/referral_customers/user_634b6daa05744bfaa205058f06864363 - response: - body: - string: '{"message": "Referral Customer email updated successfully"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '59' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc18e2b97b730018a704 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.041201' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_referral_get_next_page.yaml b/tests/cassettes/test_referral_get_next_page.yaml deleted file mode 100644 index 7db16dbe..00000000 --- a/tests/cassettes/test_referral_get_next_page.yaml +++ /dev/null @@ -1,187 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/referral_customers?page_size=5 - response: - body: - string: '{"has_more": true, "referral_customers": [{"id": "user_634b6daa05744bfaa205058f06864363", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-04-26T15:50:28Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_35cb81fb8af1454dabf1f6afa7330634", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-04-27T20:20:52Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": "100.00", "secondary_recharge_amount": "100.00", - "recharge_threshold": "0.00", "has_billing_method": true, "cc_fee_rate": "0.0325", - "default_insurance_amount": "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": - "0.50", "email": "", "children": []}, {"id": "user_fa93cc16bcc24c078ee057ce82f38eed", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-04-28T22:34:38Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_4a22730cdc844ce1bc2efbed999c869f", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-04-29T19:35:33Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_488e391395f4416196a31965fecac409", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-05-02T18:48:22Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": "100.00", "secondary_recharge_amount": "100.00", - "recharge_threshold": "0.00", "has_billing_method": true, "cc_fee_rate": "0.0325", - "default_insurance_amount": "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": - "0.50", "email": "", "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2858' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc19e2b97b750018a7a5 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.184353' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/referral_customers?before_id=user_488e391395f4416196a31965fecac409&page_size=5 - response: - body: - string: '{"has_more": false, "referral_customers": [{"id": "user_4a22730cdc844ce1bc2efbed999c869f", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-04-29T19:35:33Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_fa93cc16bcc24c078ee057ce82f38eed", - "object": "User", "parent_id": null, "name": "test test", "phone_number": - "", "verified": true, "created_at": "2022-04-28T22:34:38Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}, {"id": "user_35cb81fb8af1454dabf1f6afa7330634", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-04-27T20:20:52Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": "100.00", "secondary_recharge_amount": "100.00", - "recharge_threshold": "0.00", "has_billing_method": true, "cc_fee_rate": "0.0325", - "default_insurance_amount": "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": - "0.50", "email": "", "children": []}, {"id": "user_634b6daa05744bfaa205058f06864363", - "object": "User", "parent_id": null, "name": "Firstname Lastname", "phone_number": - "", "verified": true, "created_at": "2022-04-26T15:50:28Z", "default_carbon_offset": - false, "has_elevate_access": false, "balance": "0.00000", "price_per_shipment": - "0.00000", "recharge_amount": null, "secondary_recharge_amount": null, "recharge_threshold": - null, "has_billing_method": null, "cc_fee_rate": "0.0325", "default_insurance_amount": - "50.00", "insurance_fee_rate": "0.005", "insurance_fee_minimum": "0.50", "email": - "", "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2285' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc19e2b97b750018a7e4 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.273572' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_refund_all.yaml b/tests/cassettes/test_refund_all.yaml deleted file mode 100644 index 5f56c089..00000000 --- a/tests/cassettes/test_refund_all.yaml +++ /dev/null @@ -1,67 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/refunds?page_size=5 - response: - body: - string: '{"refunds": [{"id": "rfnd_36f1ce2418c34aee8c253bc785e4ddae", "object": - "Refund", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "tracking_code": "9400100208303109500775", "confirmation_number": null, "status": - "submitted", "carrier": "USPS", "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c"}], - "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '326' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc1ce2b97b7a0018aa35 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.037706' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_refund_create.yaml b/tests/cassettes/test_refund_create.yaml deleted file mode 100644 index ae824ebb..00000000 --- a/tests/cassettes/test_refund_create.yaml +++ /dev/null @@ -1,389 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "created_at": "2025-03-06T19:48:42Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109500775", "updated_at": - "2025-03-06T19:48:43Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_022dc26ffac411ef8215ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:42+00:00", "updated_at": - "2025-03-06T19:48:42+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_f5e430a8cc534f2daf3fa33dba28d22a", "object": - "Parcel", "created_at": "2025-03-06T19:48:42Z", "updated_at": "2025-03-06T19:48:42Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_2ad09f05a2e046f1bf32487531f39dee", - "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:43Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e862022dfa87524843bc70b0b440b1df21.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_1dd3fb8f39ed4c8f94c00090bae4e0d6", "object": - "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_136e35c9133f4a7eb8327f429d09c813", - "object": "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_eb98f20bfa29451e91eceb7335b89b77", - "object": "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_eb98f20bfa29451e91eceb7335b89b77", "object": - "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_bdaa56e02ed74f6ea2839e6ea6a4f75d", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500775", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-06T19:48:43Z", - "updated_at": "2025-03-06T19:48:43Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrX2JkYWE1NmUwMmVkNzRmNmVhMjgzOWU2ZWE2YTRmNzVk"}, - "to_address": {"id": "adr_022b47a5fac411efb7663cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:48:42+00:00", "updated_at": "2025-03-06T19:48:43+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_022dc26ffac411ef8215ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:42+00:00", "updated_at": - "2025-03-06T19:48:42+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_022b47a5fac411efb7663cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:42+00:00", "updated_at": "2025-03-06T19:48:43+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_82abbe8e8a1f4746bfbe7c943906c52c - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc1ae2b97b790018a908 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.794691' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments/shp_82abbe8e8a1f4746bfbe7c943906c52c - response: - body: - string: '{"id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "created_at": "2025-03-06T19:48:42Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109500775", "updated_at": - "2025-03-06T19:48:43Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_022dc26ffac411ef8215ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:42+00:00", "updated_at": - "2025-03-06T19:48:42+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_f5e430a8cc534f2daf3fa33dba28d22a", "object": - "Parcel", "created_at": "2025-03-06T19:48:42Z", "updated_at": "2025-03-06T19:48:42Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_2ad09f05a2e046f1bf32487531f39dee", - "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:43Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e862022dfa87524843bc70b0b440b1df21.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_1dd3fb8f39ed4c8f94c00090bae4e0d6", "object": - "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_136e35c9133f4a7eb8327f429d09c813", - "object": "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_eb98f20bfa29451e91eceb7335b89b77", - "object": "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_eb98f20bfa29451e91eceb7335b89b77", "object": - "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_bdaa56e02ed74f6ea2839e6ea6a4f75d", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500775", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-06T19:48:43Z", - "updated_at": "2025-03-06T19:48:43Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:43Z", "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:43Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:43Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2JkYWE1NmUwMmVkNzRmNmVhMjgzOWU2ZWE2YTRmNzVk"}, - "to_address": {"id": "adr_022b47a5fac411efb7663cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:48:42+00:00", "updated_at": "2025-03-06T19:48:43+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_022dc26ffac411ef8215ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:42+00:00", "updated_at": - "2025-03-06T19:48:42+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_022b47a5fac411efb7663cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:42+00:00", "updated_at": "2025-03-06T19:48:43+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '7586' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc1be2b97b790018a9b2 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.170424' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"refund": {"carrier": "USPS", "tracking_codes": ["9400100208303109500775"]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '77' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/refunds - response: - body: - string: '[{"id": "rfnd_36f1ce2418c34aee8c253bc785e4ddae", "object": "Refund", - "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "tracking_code": "9400100208303109500775", "confirmation_number": null, "status": - "submitted", "carrier": "USPS", "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c"}]' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '297' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc1be2b97b790018a9f9 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.079742' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_refund_get_next_page.yaml b/tests/cassettes/test_refund_get_next_page.yaml deleted file mode 100644 index 4efa7f31..00000000 --- a/tests/cassettes/test_refund_get_next_page.yaml +++ /dev/null @@ -1,67 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/refunds?page_size=5 - response: - body: - string: '{"refunds": [{"id": "rfnd_36f1ce2418c34aee8c253bc785e4ddae", "object": - "Refund", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "tracking_code": "9400100208303109500775", "confirmation_number": null, "status": - "submitted", "carrier": "USPS", "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c"}], - "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '326' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc1ce2b97b7b0018aa67 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.036587' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_refund_retrieve.yaml b/tests/cassettes/test_refund_retrieve.yaml deleted file mode 100644 index bd457fa9..00000000 --- a/tests/cassettes/test_refund_retrieve.yaml +++ /dev/null @@ -1,133 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/refunds?page_size=5 - response: - body: - string: '{"refunds": [{"id": "rfnd_36f1ce2418c34aee8c253bc785e4ddae", "object": - "Refund", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "tracking_code": "9400100208303109500775", "confirmation_number": null, "status": - "submitted", "carrier": "USPS", "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c"}], - "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '326' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc1ce2b97b930018aa8f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.037489' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/refunds/rfnd_36f1ce2418c34aee8c253bc785e4ddae - response: - body: - string: '{"id": "rfnd_36f1ce2418c34aee8c253bc785e4ddae", "object": "Refund", - "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "tracking_code": "9400100208303109500775", "confirmation_number": null, "status": - "submitted", "carrier": "USPS", "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '295' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc1ce2b97b930018aaa8 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.035569' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_report_all.yaml b/tests/cassettes/test_report_all.yaml deleted file mode 100644 index e522c345..00000000 --- a/tests/cassettes/test_report_all.yaml +++ /dev/null @@ -1,63 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/reports/shipment?page_size=5 - response: - body: - string: '{"has_more": false, "reports": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '32' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fc1de2b97b980018abca - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb56nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.065813' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_report_create_report.yaml b/tests/cassettes/test_report_create_report.yaml deleted file mode 100644 index fbb96623..00000000 --- a/tests/cassettes/test_report_create_report.yaml +++ /dev/null @@ -1,71 +0,0 @@ -interactions: -- request: - body: '{"start_date": "2022-05-04", "end_date": "2022-05-04"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '54' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/reports/shipment - response: - body: - string: '{"columns": null, "created_at": "2025-03-06T19:48:44Z", "end_date": - "2022-05-04", "id": "shprep_d1df1bfb4c9a4983976b8d4550871777", "include_children": - null, "mode": "test", "object": "ShipmentReport", "start_date": "2022-05-04", - "status": "new", "updated_at": null, "url": null, "url_expires_at": null, - "utc_offset": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '298' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc1ce2b97b940018aada - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.069204' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_report_create_with_additional_columns.yaml b/tests/cassettes/test_report_create_with_additional_columns.yaml deleted file mode 100644 index 362fa58d..00000000 --- a/tests/cassettes/test_report_create_with_additional_columns.yaml +++ /dev/null @@ -1,72 +0,0 @@ -interactions: -- request: - body: '{"start_date": "2022-05-04", "end_date": "2022-05-04", "additional_columns": - ["from_name", "from_company"]}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '107' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/reports/shipment - response: - body: - string: '{"columns": "created_at,id,tracking_code,status,from_address_id,from_name,from_company,from_street1,from_street2,from_city,from_state,from_zip,from_country,from_residential,to_address_id,to_name,to_company,to_street1,to_street2,to_city,to_state,to_zip,to_country,to_residential,parcel_id,length,width,height,weight,predefined_package,postage_label_created_at,rate_id,service,carrier,rate,insured_value,is_return,refund_status,reference,label_fee,postage_fee,insurance_fee,options,usps_zone,from_name,from_company", - "created_at": "2025-03-06T19:48:44Z", "end_date": "2022-05-04", "id": "shprep_62cc578e63f945bf994b8a0513de565c", - "include_children": null, "mode": "test", "object": "ShipmentReport", "start_date": - "2022-05-04", "status": "new", "updated_at": null, "url": null, "url_expires_at": - null, "utc_offset": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '795' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc1ce2b97b950018ab11 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.068570' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_report_create_with_columns.yaml b/tests/cassettes/test_report_create_with_columns.yaml deleted file mode 100644 index 15628c8b..00000000 --- a/tests/cassettes/test_report_create_with_columns.yaml +++ /dev/null @@ -1,71 +0,0 @@ -interactions: -- request: - body: '{"start_date": "2022-05-04", "end_date": "2022-05-04", "columns": ["usps_zone"]}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '80' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/reports/shipment - response: - body: - string: '{"columns": "usps_zone", "created_at": "2025-03-06T19:48:45Z", "end_date": - "2022-05-04", "id": "shprep_650d0c092bad411a929767abf466713b", "include_children": - null, "mode": "test", "object": "ShipmentReport", "start_date": "2022-05-04", - "status": "new", "updated_at": null, "url": null, "url_expires_at": null, - "utc_offset": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '305' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc1ce2b97b960018ab43 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.086541' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_report_get_next_page.yaml b/tests/cassettes/test_report_get_next_page.yaml deleted file mode 100644 index 1ca3ddfd..00000000 --- a/tests/cassettes/test_report_get_next_page.yaml +++ /dev/null @@ -1,65 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/reports/shipment?page_size=5 - response: - body: - string: '{"has_more": false, "reports": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '32' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fc1de2b97b990018ac05 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.041104' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_report_retrieve_shipment_report.yaml b/tests/cassettes/test_report_retrieve_shipment_report.yaml deleted file mode 100644 index 509810c3..00000000 --- a/tests/cassettes/test_report_retrieve_shipment_report.yaml +++ /dev/null @@ -1,136 +0,0 @@ -interactions: -- request: - body: '{"start_date": "2022-05-04", "end_date": "2022-05-04"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '54' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/reports/shipment - response: - body: - string: '{"columns": null, "created_at": "2025-03-06T19:48:45Z", "end_date": - "2022-05-04", "id": "shprep_42c293b4b2234e9b8202d0ae9cd8eccc", "include_children": - null, "mode": "test", "object": "ShipmentReport", "start_date": "2022-05-04", - "status": "new", "updated_at": null, "url": null, "url_expires_at": null, - "utc_offset": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '298' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fc1de2b97b970018ab72 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.083750' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/reports/shprep_42c293b4b2234e9b8202d0ae9cd8eccc - response: - body: - string: '{"columns": null, "created_at": "2025-03-06T19:48:45Z", "end_date": - "2022-05-04", "id": "shprep_42c293b4b2234e9b8202d0ae9cd8eccc", "include_children": - null, "mode": "test", "object": "ShipmentReport", "start_date": "2022-05-04", - "status": "new", "updated_at": null, "url": null, "url_expires_at": null, - "utc_offset": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '298' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fc1de2b97b970018ab9e - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.043244' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_request_hooks.yaml b/tests/cassettes/test_request_hooks.yaml deleted file mode 100644 index 562c7bbb..00000000 --- a/tests/cassettes/test_request_hooks.yaml +++ /dev/null @@ -1,72 +0,0 @@ -interactions: -- request: - body: '{"parcel": {"length": 10, "width": 8, "height": 4, "weight": 15.4}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '67' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/parcels - response: - body: - string: '{"id": "prcl_bbca99d01d1e4548be2a0fa01a62214f", "object": "Parcel", - "created_at": "2025-03-06T19:48:21Z", "updated_at": "2025-03-06T19:48:21Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '229' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/parcels/prcl_bbca99d01d1e4548be2a0fa01a62214f - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc05e2b97b1300188f61 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.034714' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_response_hooks.yaml b/tests/cassettes/test_response_hooks.yaml deleted file mode 100644 index 285fcfdc..00000000 --- a/tests/cassettes/test_response_hooks.yaml +++ /dev/null @@ -1,72 +0,0 @@ -interactions: -- request: - body: '{"parcel": {"length": 10, "width": 8, "height": 4, "weight": 15.4}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '67' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/parcels - response: - body: - string: '{"id": "prcl_eb400fa1cd2e4d8a8830068280c6e692", "object": "Parcel", - "created_at": "2025-03-06T19:48:21Z", "updated_at": "2025-03-06T19:48:21Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '229' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/parcels/prcl_eb400fa1cd2e4d8a8830068280c6e692 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62567c9fc05e2b97b1400188f8b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.024215' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_retrieve_carrier_metadata.yaml b/tests/cassettes/test_retrieve_carrier_metadata.yaml deleted file mode 100644 index e15503fa..00000000 --- a/tests/cassettes/test_retrieve_carrier_metadata.yaml +++ /dev/null @@ -1,2847 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/metadata/carriers - response: - body: - string: '{"carriers": [{"human_readable": "Accurate", "name": "accurate", "predefined_packages": - [], "service_levels": [{"carrier": "accurate", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Route"}], "shipment_options": - [], "supported_features": []}, {"human_readable": "Amazon Shipping", "name": - "amazonshipping", "predefined_packages": [], "service_levels": [{"carrier": - "amazonshipping", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Amazon Shipping Ground"}], "shipment_options": - [], "supported_features": [{"carrier": "amazonshipping", "description": null, - "name": "labels", "supported": null}, {"carrier": "amazonshipping", "description": - null, "name": "rating", "supported": true}, {"carrier": "amazonshipping", - "description": null, "name": "refunds", "supported": null}]}, {"human_readable": - "APC", "name": "apc", "predefined_packages": [], "service_levels": [{"carrier": - "apc", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "parcelConnectBookService"}, {"carrier": "apc", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "parcelConnectExpeditedDDP"}, {"carrier": "apc", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "parcelConnectExpeditedDDU"}, - {"carrier": "apc", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "parcelConnectPriorityDDP"}, {"carrier": - "apc", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "parcelConnectPriorityDDPDelcon"}, {"carrier": "apc", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "parcelConnectPriorityDDU"}, {"carrier": "apc", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "parcelConnectPriorityDDUDelcon"}, - {"carrier": "apc", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "parcelConnectPriorityDDUPQW"}, {"carrier": - "apc", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "parcelConnectStandardDDU"}, {"carrier": "apc", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "parcelConnectStandardDDUPQW"}, {"carrier": "apc", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "parcelConnectPacketDDU"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "Asendia - USA", "name": "asendiausa", "predefined_packages": [], "service_levels": [{"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ADS", - "max_weight": null, "name": "ADS"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Air Freight Inbound", "max_weight": - null, "name": "AirFreightInbound"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Air Freight Outbound", "max_weight": - null, "name": "AirFreightOutbound"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Asendia Domestic Bound Printed - Matter Expedited", "max_weight": null, "name": "AsendiaDomesticBoundPrinterMatterExpedited"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Asendia Domestic Bound Printed Matter Ground", "max_weight": null, "name": - "AsendiaDomesticBoundPrinterMatterGround"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Asendia Domestic Flats Expedited", - "max_weight": null, "name": "AsendiaDomesticFlatsExpedited"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "Asendia - Domestic Flats Ground", "max_weight": null, "name": "AsendiaDomesticFlatsGround"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Asendia Domestic Parcel Ground Over 1 Lb", "max_weight": null, "name": "AsendiaDomesticParcelGroundOver1lb"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Asendia Domestic Parcel Ground Under 1 Lb", "max_weight": null, "name": "AsendiaDomesticParcelGroundUnder1lb"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Asendia Domestic Parcel MAX Over 1 Lb", "max_weight": null, "name": "AsendiaDomesticParcelMAXOver1lb"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Asendia Domestic Parcel MAX Under 1 Lb", "max_weight": null, "name": "AsendiaDomesticParcelMAXUnder1lb"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Asendia Domestic Parcel Over 1 Lb Expedited", "max_weight": null, "name": - "AsendiaDomesticParcelOver1lbExpedited"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Asendia Domestic Parcel Under 1 - Lb Expedited", "max_weight": null, "name": "AsendiaDomesticParcelUnder1lbExpedited"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Asendia Domestic Promo Parcel Expedited", "max_weight": null, "name": "AsendiaDomesticPromoParcelExpedited"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Asendia Domestic Promo Parcel Ground", "max_weight": null, "name": "AsendiaDomesticPromoParcelGround"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Bulk Freight", "max_weight": null, "name": "BulkFreight"}, {"carrier": "asendiausa", - "description": null, "dimensions": [], "human_readable": "Business Mail Canada - Lettermail", "max_weight": null, "name": "BusinessMailCanadaLettermail"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Business Mail Canada Lettermail Machineable", "max_weight": null, "name": - "BusinessMailCanadaLettermailMachineable"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Business Mail Economy", "max_weight": - null, "name": "BusinessMailEconomy"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Business Mail Economy LP Wholesale", - "max_weight": null, "name": "BusinessMailEconomyLPWholesale"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "Business - Mail Economy SP Wholesale", "max_weight": null, "name": "BusinessMailEconomySPWholesale"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Business Mail International Priority Airmail", "max_weight": null, "name": - "BusinessMailIPA"}, {"carrier": "asendiausa", "description": null, "dimensions": - [], "human_readable": "Business Mail International Surface Air Lift", "max_weight": - null, "name": "BusinessMailISAL"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Business Mail Priority", "max_weight": - null, "name": "BusinessMailPriority"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Business Mail Priority LP Wholesale", - "max_weight": null, "name": "BusinessMailPriorityLPWholesale"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "Business - Mail Priority SP Wholesale", "max_weight": null, "name": "BusinessMailPrioritySPWholesale"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Marketing Mail Canada Personalized Letter Carrier Presort", "max_weight": - null, "name": "MarketingMailCanadaPersonalizedLCP"}, {"carrier": "asendiausa", - "description": null, "dimensions": [], "human_readable": "Marketing Mail Canada - Personalized Machineable", "max_weight": null, "name": "MarketingMailCanadaPersonalizedMachineable"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Marketing Mail Canada Personalized Non-Dangerous Goods", "max_weight": null, - "name": "MarketingMailCanadaPersonalizedNDG"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Marketing Mail Economy", "max_weight": - null, "name": "MarketingMailEconomy"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Marketing Mail International Priority - Airmail", "max_weight": null, "name": "MarketingMailIPA"}, {"carrier": "asendiausa", - "description": null, "dimensions": [], "human_readable": "MarketingMail International - Surface Air Lift", "max_weight": null, "name": "MarketingMailISAL"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "Marketing - Mail Priority", "max_weight": null, "name": "MarketingMailPriority"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "Publications - Canada Letter Carrier Presort", "max_weight": null, "name": "PublicationsCanadaLCP"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Publications Canada Non-Dangerous Goods", "max_weight": null, "name": "PublicationsCanadaNDG"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Publications Economy", "max_weight": null, "name": "PublicationsEconomy"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "Publications International Priority Airmail", "max_weight": null, "name": - "PublicationsIPA"}, {"carrier": "asendiausa", "description": null, "dimensions": - [], "human_readable": "Publications International Surface Air Lift", "max_weight": - null, "name": "PublicationsISAL"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "Publications Priority", "max_weight": - null, "name": "PublicationsPriority"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "ePAQ Elite", "max_weight": null, - "name": "ePAQElite"}, {"carrier": "asendiausa", "description": null, "dimensions": - [], "human_readable": "ePAQ Elite Custom", "max_weight": null, "name": "ePAQEliteCustom"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQElite Delivered At Place", "max_weight": null, "name": "ePAQEliteDAP"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Elite Delivered Duty Paid", "max_weight": null, "name": "ePAQEliteDDP"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Elite Delivered Duty Paid Oversized", "max_weight": null, "name": "ePAQEliteDDPOversized"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Elite DPD", "max_weight": null, "name": "ePAQEliteDPD"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Elite Direct Access Canada Delivered Duty Paid", "max_weight": null, "name": - "ePAQEliteDirectAccessCanadaDDP"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "ePAQ Elite Oversized", "max_weight": - null, "name": "ePAQEliteOversized"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "ePAQ Plus", "max_weight": null, - "name": "ePAQPlus"}, {"carrier": "asendiausa", "description": null, "dimensions": - [], "human_readable": "ePAQ Plus Custom", "max_weight": null, "name": "ePAQPlusCustom"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Plus Customs Pre-Paid", "max_weight": null, "name": "ePAQPlusCustomsPrepaid"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Plus Delivered At Place", "max_weight": null, "name": "ePAQPlusDAP"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Plus Delivered Duty Paid", "max_weight": null, "name": "ePAQPlusDDP"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Plus Economy", "max_weight": null, "name": "ePAQPlusEconomy"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Plus Wholesale", "max_weight": null, "name": "ePAQPlusWholesale"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Plus ePacket", "max_weight": null, "name": "ePAQPlusePacket"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Plus ePacket Canada Customs Pre-Paid", "max_weight": null, "name": "ePAQPlusePacketCanadaCustomsPrePaid"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Plus ePacket Canada Delivered Duty Paid", "max_weight": null, "name": - "ePAQPlusePacketCanadaDDP"}, {"carrier": "asendiausa", "description": null, - "dimensions": [], "human_readable": "ePAQ Returns Domestic", "max_weight": - null, "name": "ePAQReturnsDomestic"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "ePAQ Returns International", "max_weight": - null, "name": "ePAQReturnsInternational"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "ePAQ Select", "max_weight": null, - "name": "ePAQSelect"}, {"carrier": "asendiausa", "description": null, "dimensions": - [], "human_readable": "ePAQ Select Custom", "max_weight": null, "name": "ePAQSelectCustom"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Select Customs Pre-Paid By Shopper", "max_weight": null, "name": "ePAQSelectCustomsPrepaidByShopper"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Select Delivered At Place", "max_weight": null, "name": "ePAQSelectDAP"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Select Delivered Duty Paid", "max_weight": null, "name": "ePAQSelectDDP"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Select Delivered Duty Paid Direct Access", "max_weight": null, "name": - "ePAQSelectDDPDirectAccess"}, {"carrier": "asendiausa", "description": null, - "dimensions": [], "human_readable": "ePAQ Select Direct Access", "max_weight": - null, "name": "ePAQSelectDirectAccess"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "ePAQ Select Direct Access Canada - Delivered Duty Paid", "max_weight": null, "name": "ePAQSelectDirectAccessCanadaDDP"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Select Economy", "max_weight": null, "name": "ePAQSelectEconomy"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Select Oversized", "max_weight": null, "name": "ePAQSelectOversized"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Select Oversized Delivered Duty Paid", "max_weight": null, "name": "ePAQSelectOversizedDDP"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Select PMEI", "max_weight": null, "name": "ePAQSelectPMEI"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Select PMEI Canada Customs Pre-Paid", "max_weight": null, "name": "ePAQSelectPMEICanadaCustomsPrePaid"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Select PMEIPC Postage", "max_weight": null, "name": "ePAQSelectPMEIPCPostage"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Select Priority Mail International", "max_weight": null, "name": "ePAQSelectPMI"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Select Priority Mail International Canada Customs Pre-Paid", "max_weight": - null, "name": "ePAQSelectPMICanadaCustomsPrepaid"}, {"carrier": "asendiausa", - "description": null, "dimensions": [], "human_readable": "ePAQ Select Priority - Mail International Canada Delivered Duty Paid", "max_weight": null, "name": - "ePAQSelectPMICanadaDDP"}, {"carrier": "asendiausa", "description": null, - "dimensions": [], "human_readable": "ePAQ Select Priority Mail International - Non-Presort", "max_weight": null, "name": "ePAQSelectPMINonPresort"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Select PMIPC Postage", "max_weight": null, "name": "ePAQSelectPMIPCPostage"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Standard", "max_weight": null, "name": "ePAQStandard"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Standard Custom", "max_weight": null, "name": "ePAQStandardCustom"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Standard Economy", "max_weight": null, "name": "ePAQStandardEconomy"}, {"carrier": - "asendiausa", "description": null, "dimensions": [], "human_readable": "ePAQ - Standard International Priority Airmail", "max_weight": null, "name": "ePAQStandardIPA"}, - {"carrier": "asendiausa", "description": null, "dimensions": [], "human_readable": - "ePAQ Standard International Surface Air Lift", "max_weight": null, "name": - "ePAQStandardISAL"}, {"carrier": "asendiausa", "description": null, "dimensions": - [], "human_readable": "ePaq Select PMEI Non-Presort", "max_weight": null, - "name": "ePaqSelectPMEINonPresort"}, {"carrier": "asendiausa", "description": - null, "dimensions": [], "human_readable": "ePAQ Select DDP DG", "max_weight": - null, "name": "ePAQSelectDDPDG"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "Australia Post", "name": "australiapost", "predefined_packages": - [{"carrier": "australiapost", "description": null, "dimensions": [], "human_readable": - "Carton", "max_weight": null, "name": "CARTON"}, {"carrier": "australiapost", - "description": null, "dimensions": [], "human_readable": "Pallet", "max_weight": - null, "name": "PALLET"}, {"carrier": "australiapost", "description": null, - "dimensions": [], "human_readable": "Satchel", "max_weight": null, "name": - "SATCHEL"}, {"carrier": "australiapost", "description": null, "dimensions": - [], "human_readable": "Bag", "max_weight": null, "name": "BAG"}, {"carrier": - "australiapost", "description": null, "dimensions": [], "human_readable": - "Envelope", "max_weight": null, "name": "ENVELOPE"}, {"carrier": "australiapost", - "description": null, "dimensions": [], "human_readable": "Item", "max_weight": - null, "name": "ITEM"}, {"carrier": "australiapost", "description": null, "dimensions": - [], "human_readable": "Jiffy Bag", "max_weight": null, "name": "JIFFYBAG"}, - {"carrier": "australiapost", "description": "Up to 500kg", "dimensions": [], - "human_readable": "Skid", "max_weight": null, "name": "SKID"}], "service_levels": - [{"carrier": "australiapost", "description": "Specific service availability - is determined by your AustraliaPost account.", "dimensions": [], "human_readable": - "Parcel Post", "max_weight": null, "name": "ParcelPost"}, {"carrier": "australiapost", - "description": "Specific service availability is determined by your AustraliaPost - account.", "dimensions": [], "human_readable": "Express Post", "max_weight": - null, "name": "ExpressPost"}, {"carrier": "australiapost", "description": - "Specific service availability is determined by your AustraliaPost account.International - returns not supported.", "dimensions": [], "human_readable": "International", - "max_weight": null, "name": "International"}, {"carrier": "australiapost", - "description": "Specific service availability is determined by your AustraliaPost - account.", "dimensions": [], "human_readable": "Commercial", "max_weight": - null, "name": "Commercial"}], "shipment_options": [], "supported_features": - [{"carrier": "australiapost", "description": null, "name": "bill_on_delivery", - "supported": false}, {"carrier": "australiapost", "description": "Not available - with Print as You Go.", "name": "bill_on_label_purchase", "supported": true}, - {"carrier": "australiapost", "description": "Daily manifesting when using - Print as You Go.", "name": "bill_on_manifest", "supported": true}, {"carrier": - "australiapost", "description": null, "name": "bill_on_scan", "supported": - false}, {"carrier": "australiapost", "description": null, "name": "commercial_invoices", - "supported": null}, {"carrier": "australiapost", "description": null, "name": - "delivers_to_po_box", "supported": null}, {"carrier": "australiapost", "description": - null, "name": "labels", "supported": true}, {"carrier": "australiapost", "description": - null, "name": "orders", "supported": true}, {"carrier": "australiapost", "description": - null, "name": "pickups", "supported": false}, {"carrier": "australiapost", - "description": null, "name": "rating", "supported": true}, {"carrier": "australiapost", - "description": null, "name": "refunds", "supported": true}, {"carrier": "australiapost", - "description": "Domestic only.", "name": "returns", "supported": true}, {"carrier": - "australiapost", "description": null, "name": "scanforms", "supported": true}, - {"carrier": "australiapost", "description": null, "name": "sort_codes", "supported": - false}, {"carrier": "australiapost", "description": null, "name": "test_environment", - "supported": true}]}, {"human_readable": "Better Trucks", "name": "bettertrucks", - "predefined_packages": [], "service_levels": [{"carrier": "bettertrucks", - "description": null, "dimensions": [], "human_readable": "Next Day", "max_weight": - null, "name": "NEXT_DAY"}, {"carrier": "bettertrucks", "description": null, - "dimensions": [], "human_readable": "Economy", "max_weight": null, "name": - "ECONOMY"}, {"carrier": "bettertrucks", "description": null, "dimensions": - [], "human_readable": "Same Day", "max_weight": null, "name": "SAME_DAY"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "Bluestreak", - "name": "bluestreak", "predefined_packages": [], "service_levels": [{"carrier": - "bluestreak", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "N5"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "Canada Post", "name": "canadapost", "predefined_packages": - [], "service_levels": [{"carrier": "canadapost", "description": "Up to 3 days - for local delivery, up to 6 days for regional delivery and up to 10 days for - national delivery", "dimensions": [], "human_readable": "Regular Parcel", - "max_weight": null, "name": "RegularParcel"}, {"carrier": "canadapost", "description": - "Up to 2 days for local delivery, up to 4 days for regional delivery and up - to 8 days for national delivery", "dimensions": [], "human_readable": "Expedited - Parcel", "max_weight": null, "name": "ExpeditedParcel"}, {"carrier": "canadapost", - "description": "Next-day and 2-day delivery", "dimensions": [], "human_readable": - "Xpresspost", "max_weight": null, "name": "Xpresspost"}, {"carrier": "canadapost", - "description": "Next-day delivery with signature", "dimensions": [], "human_readable": - "Priority", "max_weight": null, "name": "Priority"}, {"carrier": "canadapost", - "description": "Delivery in as little as 4 business days for larger parcels", - "dimensions": [], "human_readable": "Expedited Parcel USA", "max_weight": - null, "name": "ExpeditedParcelUSA"}, {"carrier": "canadapost", "description": - "Delivery in as little as 5 business days for small and lightweight items", - "dimensions": [], "human_readable": "Small Packet USA Air", "max_weight": - null, "name": "SmallPacketUSAAir"}, {"carrier": "canadapost", "description": - "Delivery in as little as 4 business days for small and lightweight items", - "dimensions": [], "human_readable": "Tracked Packet USA", "max_weight": null, - "name": "TrackedPacketUSA"}, {"carrier": "canadapost", "description": null, - "dimensions": [], "human_readable": "Tracked Packet USA LVM", "max_weight": - null, "name": "TrackedPacketUSALVM"}, {"carrier": "canadapost", "description": - "Delivery in 2 and 3 business days", "dimensions": [], "human_readable": "Xpresspost - USA", "max_weight": null, "name": "XpresspostUSA"}, {"carrier": "canadapost", - "description": "Delivery in as little as 4 business days", "dimensions": [], - "human_readable": "Xpresspost International", "max_weight": null, "name": - "XpresspostInternational"}, {"carrier": "canadapost", "description": "Delivery - in as little as 6 business days for larger parcels", "dimensions": [], "human_readable": - "International Parcel Air", "max_weight": null, "name": "InternationalParcelAir"}, - {"carrier": "canadapost", "description": "Delivery in 1 month and up to 3 - months", "dimensions": [], "human_readable": "International Parcel Surface", - "max_weight": null, "name": "InternationalParcelSurface"}, {"carrier": "canadapost", - "description": "Delivery in as little as 6 business days for small and lightweight - items", "dimensions": [], "human_readable": "Small Packet International Air", - "max_weight": null, "name": "SmallPacketInternationalAir"}, {"carrier": "canadapost", - "description": "Delivery in 1 month and up to 3 months for small and lightweight - items", "dimensions": [], "human_readable": "Small Packet International Surface", - "max_weight": null, "name": "SmallPacketInternationalSurface"}, {"carrier": - "canadapost", "description": "Delivery in as little as 6 business days", "dimensions": - [], "human_readable": "Tracked Packet International", "max_weight": null, - "name": "TrackedPacketInternational"}, {"carrier": "canadapost", "description": - "Up to 3 days for local delivery, up to 6 days for regional delivery and up - to 10 days for national delivery", "dimensions": [], "human_readable": "Expedited - Parcel Plus", "max_weight": null, "name": "ExpeditedParcelPlus"}], "shipment_options": - [], "supported_features": [{"carrier": "canadapost", "description": null, - "name": "bill_on_delivery", "supported": true}, {"carrier": "canadapost", - "description": null, "name": "bill_on_label_purchase", "supported": false}, - {"carrier": "canadapost", "description": null, "name": "bill_on_manifest", - "supported": true}, {"carrier": "canadapost", "description": null, "name": - "bill_on_scan", "supported": false}, {"carrier": "canadapost", "description": - null, "name": "commercial_invoices", "supported": true}, {"carrier": "canadapost", - "description": null, "name": "delivers_to_po_box", "supported": null}, {"carrier": - "canadapost", "description": null, "name": "labels", "supported": true}, {"carrier": - "canadapost", "description": null, "name": "orders", "supported": false}, - {"carrier": "canadapost", "description": null, "name": "pickups", "supported": - true}, {"carrier": "canadapost", "description": null, "name": "rating", "supported": - true}, {"carrier": "canadapost", "description": null, "name": "refunds", "supported": - true}, {"carrier": "canadapost", "description": null, "name": "returns", "supported": - true}, {"carrier": "canadapost", "description": null, "name": "scanforms", - "supported": true}, {"carrier": "canadapost", "description": null, "name": - "sort_codes", "supported": false}, {"carrier": "canadapost", "description": - null, "name": "test_environment", "supported": true}]}, {"human_readable": - "Canpar", "name": "canpar", "predefined_packages": [], "service_levels": [{"carrier": - "canpar", "description": null, "dimensions": [], "human_readable": "Ground", - "max_weight": null, "name": "Ground"}, {"carrier": "canpar", "description": - null, "dimensions": [], "human_readable": "USA", "max_weight": null, "name": - "USA"}, {"carrier": "canpar", "description": null, "dimensions": [], "human_readable": - "Select Letter", "max_weight": null, "name": "SelectLetter"}, {"carrier": - "canpar", "description": null, "dimensions": [], "human_readable": "Select - Pak", "max_weight": null, "name": "SelectPak"}, {"carrier": "canpar", "description": - null, "dimensions": [], "human_readable": "Select", "max_weight": null, "name": - "Select"}, {"carrier": "canpar", "description": null, "dimensions": [], "human_readable": - "Overnight Letter", "max_weight": null, "name": "OvernightLetter"}, {"carrier": - "canpar", "description": null, "dimensions": [], "human_readable": "Overnight - Pak", "max_weight": null, "name": "OvernightPak"}, {"carrier": "canpar", "description": - null, "dimensions": [], "human_readable": "Overnight", "max_weight": null, - "name": "Overnight"}, {"carrier": "canpar", "description": null, "dimensions": - [], "human_readable": "USA Letter", "max_weight": null, "name": "USALetter"}, - {"carrier": "canpar", "description": null, "dimensions": [], "human_readable": - "USA Pak", "max_weight": null, "name": "USAPak"}, {"carrier": "canpar", "description": - null, "dimensions": [], "human_readable": "Select USA", "max_weight": null, - "name": "SelectUSA"}, {"carrier": "canpar", "description": null, "dimensions": - [], "human_readable": "International", "max_weight": null, "name": "International"}], - "shipment_options": [{"carrier": "canpar", "deprecated": false, "description": - null, "human_readable": "Additional Handling", "name": "additional_handling", - "type": "boolean"}, {"carrier": "canpar", "deprecated": false, "description": - null, "human_readable": "Carrier Insurance Amount", "name": "carrier_insurance_amount", - "type": "float"}, {"carrier": "canpar", "deprecated": false, "description": - null, "human_readable": "Handling Instructions", "name": "handling_instructions", - "type": "string"}, {"carrier": "canpar", "deprecated": false, "description": - null, "human_readable": "Label Format", "name": "label_format", "type": "string"}, - {"carrier": "canpar", "deprecated": false, "description": null, "human_readable": - "Label Size", "name": "label_size", "type": "string"}, {"carrier": "canpar", - "deprecated": false, "description": null, "human_readable": "Delivery Confirmation", - "name": "delivery_confirmation", "type": "string"}, {"carrier": "canpar", - "deprecated": false, "description": null, "human_readable": "Cod Amount", - "name": "cod_amount", "type": "string"}, {"carrier": "canpar", "deprecated": - false, "description": null, "human_readable": "Cod Method", "name": "cod_method", - "type": "string"}, {"carrier": "canpar", "deprecated": true, "description": - null, "human_readable": "Date Advance", "name": "date_advance", "type": "integer"}, - {"carrier": "canpar", "deprecated": false, "description": null, "human_readable": - "Billing Ref", "name": "billing_ref", "type": "string"}], "supported_features": - [{"carrier": "canpar", "description": null, "name": "bill_on_delivery", "supported": - null}, {"carrier": "canpar", "description": null, "name": "bill_on_label_purchase", - "supported": null}, {"carrier": "canpar", "description": null, "name": "bill_on_manifest", - "supported": null}, {"carrier": "canpar", "description": null, "name": "bill_on_scan", - "supported": null}, {"carrier": "canpar", "description": null, "name": "commercial_invoices", - "supported": false}, {"carrier": "canpar", "description": null, "name": "delivers_to_po_box", - "supported": false}, {"carrier": "canpar", "description": null, "name": "labels", - "supported": true}, {"carrier": "canpar", "description": null, "name": "orders", - "supported": false}, {"carrier": "canpar", "description": null, "name": "pickups", - "supported": true}, {"carrier": "canpar", "description": null, "name": "rating", - "supported": true}, {"carrier": "canpar", "description": null, "name": "refunds", - "supported": true}, {"carrier": "canpar", "description": "Subject to regular - pricing.", "name": "returns", "supported": false}, {"carrier": "canpar", "description": - null, "name": "scanforms", "supported": true}, {"carrier": "canpar", "description": - null, "name": "sort_codes", "supported": false}, {"carrier": "canpar", "description": - null, "name": "test_environment", "supported": true}]}, {"human_readable": - "CDL Last Mile Solutions", "name": "cdllastmilesolutions", "predefined_packages": - [], "service_levels": [{"carrier": "cdllastmilesolutions", "description": - null, "dimensions": [], "human_readable": "DISTRIBUTION", "max_weight": null, - "name": "DISTRIBUTION"}, {"carrier": "cdllastmilesolutions", "description": - null, "dimensions": [], "human_readable": "Same Day", "max_weight": null, - "name": "Same Day"}], "shipment_options": [{"carrier": "cdllastmilesolutions", - "deprecated": false, "description": null, "human_readable": "Delivery Max - Datetime", "name": "delivery_max_datetime", "type": "datetime"}, {"carrier": - "cdllastmilesolutions", "deprecated": false, "description": null, "human_readable": - "Delivery Min Datetime", "name": "delivery_min_datetime", "type": "datetime"}, - {"carrier": "cdllastmilesolutions", "deprecated": false, "description": null, - "human_readable": "Handling Instructions", "name": "handling_instructions", - "type": "string"}, {"carrier": "cdllastmilesolutions", "deprecated": false, - "description": null, "human_readable": "Invoice Number", "name": "invoice_number", - "type": "string"}, {"carrier": "cdllastmilesolutions", "deprecated": false, - "description": null, "human_readable": "Label Format", "name": "label_format", - "type": "string"}, {"carrier": "cdllastmilesolutions", "deprecated": false, - "description": null, "human_readable": "Pickup Max Datetime", "name": "pickup_max_datetime", - "type": "datetime"}, {"carrier": "cdllastmilesolutions", "deprecated": false, - "description": null, "human_readable": "Pickup Min Datetime", "name": "pickup_min_datetime", - "type": "datetime"}, {"carrier": "cdllastmilesolutions", "deprecated": true, - "description": null, "human_readable": "Print Custom 1", "name": "print_custom_1", - "type": "string"}, {"carrier": "cdllastmilesolutions", "deprecated": true, - "description": null, "human_readable": "Print Custom 1 Barcode", "name": "print_custom_1_barcode", - "type": "boolean"}, {"carrier": "cdllastmilesolutions", "deprecated": true, - "description": null, "human_readable": "Print Custom 2", "name": "print_custom_2", - "type": "string"}, {"carrier": "cdllastmilesolutions", "deprecated": true, - "description": null, "human_readable": "Print Custom 2 Barcode", "name": "print_custom_2_barcode", - "type": "boolean"}], "supported_features": [{"carrier": "cdllastmilesolutions", - "description": null, "name": "bill_on_delivery", "supported": null}, {"carrier": - "cdllastmilesolutions", "description": null, "name": "bill_on_label_purchase", - "supported": null}, {"carrier": "cdllastmilesolutions", "description": null, - "name": "bill_on_manifest", "supported": null}, {"carrier": "cdllastmilesolutions", - "description": null, "name": "bill_on_scan", "supported": null}, {"carrier": - "cdllastmilesolutions", "description": null, "name": "commercial_invoices", - "supported": false}, {"carrier": "cdllastmilesolutions", "description": null, - "name": "delivers_to_po_box", "supported": null}, {"carrier": "cdllastmilesolutions", - "description": null, "name": "labels", "supported": true}, {"carrier": "cdllastmilesolutions", - "description": null, "name": "orders", "supported": false}, {"carrier": "cdllastmilesolutions", - "description": null, "name": "pickups", "supported": true}, {"carrier": "cdllastmilesolutions", - "description": null, "name": "rating", "supported": true}, {"carrier": "cdllastmilesolutions", - "description": null, "name": "refunds", "supported": false}, {"carrier": "cdllastmilesolutions", - "description": null, "name": "returns", "supported": false}, {"carrier": "cdllastmilesolutions", - "description": null, "name": "scanforms", "supported": false}, {"carrier": - "cdllastmilesolutions", "description": null, "name": "sort_codes", "supported": - true}, {"carrier": "cdllastmilesolutions", "description": null, "name": "test_environment", - "supported": null}]}, {"human_readable": "Chronopost", "name": "chronopost", - "predefined_packages": [], "service_levels": [], "shipment_options": [], "supported_features": - []}, {"human_readable": "Cirro E-Commerce", "name": "cirroecommerce", "predefined_packages": - [], "service_levels": [{"carrier": "cirroecommerce", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "CADOECOEA - (Canada Domestic Economy East)"}, {"carrier": "cirroecommerce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "CADOECOWE (Canada Domestic Economy West)"}, {"carrier": "cirroecommerce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "CAECONE (USA to Canada Economy Northeast)"}, {"carrier": "cirroecommerce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "CAECOWE (USA to Canada Economy West)"}, {"carrier": "cirroecommerce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ECOCE (Economy Central)"}, {"carrier": "cirroecommerce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ECOEA (Economy East)"}, {"carrier": "cirroecommerce", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "ECONE - (Economy Northeast)"}, {"carrier": "cirroecommerce", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "ECOSO - (Economy South)"}, {"carrier": "cirroecommerce", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "ECOWE (Economy West)"}, - {"carrier": "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "EUECONE (USA to EU Economy Northeast)"}, - {"carrier": "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "EXPNE (Expedited Northeast)"}, {"carrier": - "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "EXPWE (Expedited West)"}, {"carrier": "cirroecommerce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "REGCE (Regional Central)"}, {"carrier": "cirroecommerce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "REGEA (Regional East)"}, {"carrier": "cirroecommerce", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "REGNE - (Regional Northeast)"}, {"carrier": "cirroecommerce", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "REGSO - (Regional South)"}, {"carrier": "cirroecommerce", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "REGWE (Regional West)"}, - {"carrier": "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "STDWE (Standard West LA)"}, {"carrier": - "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "STDSL (Standard SL Salt Lake City)"}, {"carrier": - "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "STDCE (Standard Central ORD/Chicago)"}, - {"carrier": "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "STDNJ (Standard NJ New Jersey)"}, {"carrier": - "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "STDNE (Standard Northeast New York/JFK)"}, - {"carrier": "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "STDEA (Standard East ATL)"}, {"carrier": - "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "STDSE (Standard Southeast Miami)"}, {"carrier": - "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "STDSO (Standard South DFW/Dallas)"}, {"carrier": - "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "USECOCA (Canada to USA Economy East)"}, - {"carrier": "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "GBECONE (USA to UK Economy Northeast)"}, - {"carrier": "cirroecommerce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "EXPNJ (Expedited New Jersey)"}], "shipment_options": - [], "supported_features": []}, {"human_readable": "Courier Express", "name": - "courierexpress", "predefined_packages": [], "service_levels": [{"carrier": - "courierexpress", "description": null, "dimensions": [], "human_readable": - "Basic Parcel", "max_weight": null, "name": "BASIC_PARCEL"}], "shipment_options": - [], "supported_features": []}, {"human_readable": "Couriers Please", "name": - "couriersplease", "predefined_packages": [], "service_levels": [{"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "Road Express", "max_weight": null, "name": "RoadExpress"}, {"carrier": "couriersplease", - "description": null, "dimensions": [], "human_readable": "Agg Exp Authority - To Leave P10", "max_weight": null, "name": "AggExpAtlP10"}, {"carrier": "couriersplease", - "description": null, "dimensions": [], "human_readable": "Agg Exp Authority - To Leave P25", "max_weight": null, "name": "AggExpAtlP25"}, {"carrier": "couriersplease", - "description": null, "dimensions": [], "human_readable": "Agg Exp Authority - To Leave Base & Kilo", "max_weight": null, "name": "AggExpAtlBaseandKilo"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Exp Authority To Leave 09", "max_weight": null, "name": "AggExpAtlP0"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Exp Authority To Leave P1", "max_weight": null, "name": "AggExpAtlP1"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Exp Authority To Leave P3", "max_weight": null, "name": "AggExpAtlP3"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Exp Authority To Leave P5", "max_weight": null, "name": "AggExpAtlP5"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Drop Off Hubbed Based & Kilo", "max_weight": null, "name": "AggDropOffHubbedBaseandKilo"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Drop Off Hubbed P0", "max_weight": null, "name": "AggDropOffHubbedP0"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Drop Off Hubbed P1", "max_weight": null, "name": "AggDropOffHubbedP1"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Drop Off Hubbed P3", "max_weight": null, "name": "AggDropOffHubbedP3"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Drop Off Hubbed P5", "max_weight": null, "name": "AggDropOffHubbedP5"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg STD Authority To Leave P10", "max_weight": null, "name": "AggStdAtlP10"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg STD Authority To Leave Base & Kilo", "max_weight": null, "name": "AggStdAtlBaseandKilo"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg STD Authority To Leave P0", "max_weight": null, "name": "AggStdAtlP0"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg STD Authority To Leave P1", "max_weight": null, "name": "AggStdAtlP1"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg STD Authority To Leave P3", "max_weight": null, "name": "AggStdAtlP3"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg STD Authority To Leave P5", "max_weight": null, "name": "AggStdAtlP5"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Ecommerce Base & Kilo", "max_weight": null, "name": "AggEcomBaseandKilo"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Ecommerce Base & Kilo", "max_weight": null, "name": "AggEcomP0"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Ecommerce P1", "max_weight": null, "name": "AggEcomP1"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Ecommerce P3", "max_weight": null, "name": "AggEcomP3"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Ecommerce P5", "max_weight": null, "name": "AggEcomP5"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Drop Off Hubbed P10", "max_weight": null, "name": "AggDropOffHubbedP10"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Drop Off Hubbed P25", "max_weight": null, "name": "AggDropOffHubbedP25"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg STD Authority To Leave P25", "max_weight": null, "name": "AggStdAtlP25"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Ecommerce P10", "max_weight": null, "name": "AggEcomP10"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "Agg Ecommerce P25", "max_weight": null, "name": "AggEcomP25"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "Australian City Express", "max_weight": null, "name": "AustralianCityExpress"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Drop Ship 500 Gram Parcel", "max_weight": null, "name": "DropShip500GramParcel"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Drop Ship 1 Kilogram Parcel", "max_weight": null, "name": "DropShip1KgParcel"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Drop Ship 3Kilogram Parcel", "max_weight": null, "name": "DropShip3KgParcel"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Drop Ship 5 Kilogram Parcel", "max_weight": null, "name": "DropShip5KgParcel"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Domestic Priority", "max_weight": null, "name": "DomesticPriority"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "Drop Ship 10 Kilogram Parcel", "max_weight": null, "name": "DropShip10KgParcel"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Drop Ship 20 Kilogram Parcel", "max_weight": null, "name": "DropShip20KgParcel"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Domestic Priority Signature", "max_weight": null, "name": "DomesticPrioritySignature"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Gold Domestic", "max_weight": null, "name": "GoldDomestic"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "Road Express No Delivery", "max_weight": null, "name": "RoadExpressNoDelivery"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "Road Express No Pick Up", "max_weight": null, "name": "RoadExpressNoPickUp"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "500 Gram Parcel", "max_weight": null, "name": "500GramParcel"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "500 Gram Parcel Authority To Leave", "max_weight": null, "name": "500GramParcelATL"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "10 Kilogram Parcel", "max_weight": null, "name": "10KgParcel"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "10 Kilogram Parcel Authority To Leave", "max_weight": null, "name": "10KgParcelATL"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "15 Kilogram Parcel", "max_weight": null, "name": "15KgParcel"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "15 Kilogram Authority To Leave", "max_weight": null, "name": "15KgParcelATL"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "1 Kilogram Parcel Authority To Leave", "max_weight": null, "name": "1KgParcelATL"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "2 Kilogram Parcel", "max_weight": null, "name": "2KgParcel"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "25 Kilogram Parcel", "max_weight": null, "name": "25KgParcel"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "25 Kilogram Parcel Authority To Leaave", "max_weight": null, "name": "25KgParcelATL"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "2 Kilogram Parcel Authority To Leave", "max_weight": null, "name": "2KgParcelATL"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "3 Kilogram Parcel Authority To Leave", "max_weight": null, "name": "3KgParcelATL"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "5 Kilogram Parcel Authority To Leave", "max_weight": null, "name": "5Kg Parcel - ATL"}, {"carrier": "couriersplease", "description": null, "dimensions": [], - "human_readable": "Australian City Express Signature", "max_weight": null, - "name": "AustralianCityExpressSignature"}, {"carrier": "couriersplease", "description": - null, "dimensions": [], "human_readable": "Domestic Saver Signature", "max_weight": - null, "name": "DomesticSaverSignature"}, {"carrier": "couriersplease", "description": - null, "dimensions": [], "human_readable": "Domestic Off Peak", "max_weight": - null, "name": "DomesticOffPeak"}, {"carrier": "couriersplease", "description": - null, "dimensions": [], "human_readable": "Domestic Saver", "max_weight": - null, "name": "DomesticSaver"}, {"carrier": "couriersplease", "description": - null, "dimensions": [], "human_readable": "Dometic Off Peak Signature", "max_weight": - null, "name": "DomesticOffPeakSignature"}, {"carrier": "couriersplease", "description": - null, "dimensions": [], "human_readable": "Gold Domestic Signature", "max_weight": - null, "name": "GoldDomesticSignature"}, {"carrier": "couriersplease", "description": - null, "dimensions": [], "human_readable": "1 Kilogram Satchel Authority To - Leave", "max_weight": null, "name": "1KgSatchelATL"}, {"carrier": "couriersplease", - "description": null, "dimensions": [], "human_readable": "1 Kilogram Satchel", - "max_weight": null, "name": "1KgSatchel"}, {"carrier": "couriersplease", "description": - null, "dimensions": [], "human_readable": "3 Kilogram Satchel", "max_weight": - null, "name": "3KgSatchel"}, {"carrier": "couriersplease", "description": - null, "dimensions": [], "human_readable": "5 Kilogram Satchel", "max_weight": - null, "name": "5KgSatchel"}, {"carrier": "couriersplease", "description": - null, "dimensions": [], "human_readable": "3 Kilogram Satchel Authority To - Leave", "max_weight": null, "name": "3KgSatchelATL"}, {"carrier": "couriersplease", - "description": null, "dimensions": [], "human_readable": "5 Kilogram Satchel - Authority To Leave", "max_weight": null, "name": "5KgSatchelATL"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "500 Gram Satchel Authority To Leave", "max_weight": null, "name": "500GramSatchelATL"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "500 Gram Satchel", "max_weight": null, "name": "500GramSatchel"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "5 Kilogram Satchel", "max_weight": null, "name": "5KSatchel"}, {"carrier": - "couriersplease", "description": null, "dimensions": [], "human_readable": - "Express International Priority", "max_weight": null, "name": "ExpressInternationalPriority"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "International Saver", "max_weight": null, "name": "InternationalSaver"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "International Express Import", "max_weight": null, "name": "InternationalExpressImport"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "International Express", "max_weight": null, "name": "InternationalExpress"}, - {"carrier": "couriersplease", "description": null, "dimensions": [], "human_readable": - "500gm Parcel", "max_weight": null, "name": "500gmParcel"}, {"carrier": "couriersplease", - "description": null, "dimensions": [], "human_readable": "1kg Parcel", "max_weight": - null, "name": "1KgParcel"}, {"carrier": "couriersplease", "description": null, - "dimensions": [], "human_readable": "3kg Parcel", "max_weight": null, "name": - "3KgParcel"}, {"carrier": "couriersplease", "description": null, "dimensions": - [], "human_readable": "5kg Parcel", "max_weight": null, "name": "5KgParcel"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "CSLogistics", - "name": "cslogistics", "predefined_packages": [], "service_levels": [{"carrier": - "cslogistics", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "Distribution"}, {"carrier": "cslogistics", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ASAP"}, {"carrier": "cslogistics", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "Freight Priority"}, {"carrier": - "cslogistics", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "Freight Regular"}, {"carrier": "cslogistics", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Priority"}, {"carrier": "cslogistics", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "Regular"}, - {"carrier": "cslogistics", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Scheduled"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "DAI Post", "name": "daipost", "predefined_packages": - [], "service_levels": [{"carrier": "daipost", "description": null, "dimensions": - [], "human_readable": "Parcel Epacket", "max_weight": null, "name": "ParcelMax"}, - {"carrier": "daipost", "description": null, "dimensions": [], "human_readable": - "International Economy", "max_weight": null, "name": "InternationalEconomy"}, - {"carrier": "daipost", "description": null, "dimensions": [], "human_readable": - "International Standard", "max_weight": null, "name": "InternationalStandard"}, - {"carrier": "daipost", "description": null, "dimensions": [], "human_readable": - "International Express", "max_weight": null, "name": "InternationalExpress"}, - {"carrier": "daipost", "description": null, "dimensions": [], "human_readable": - "Domestic Tracked", "max_weight": null, "name": "DomesticTracked"}, {"carrier": - "daipost", "description": null, "dimensions": [], "human_readable": "Parcel - Right", "max_weight": null, "name": "ParcelRight"}], "shipment_options": [], - "supported_features": []}, {"human_readable": "Deliver-It", "name": "deliverit", - "predefined_packages": [], "service_levels": [{"carrier": "deliverit", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Saturday"}, {"carrier": "deliverit", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "Economy"}, {"carrier": - "deliverit", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "Noon-It"}, {"carrier": "deliverit", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Early-It"}, {"carrier": "deliverit", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "Afternoon"}], "shipment_options": - [], "supported_features": [{"carrier": "deliverit", "description": null, "name": - "bill_on_delivery", "supported": true}, {"carrier": "deliverit", "description": - null, "name": "bill_on_label_purchase", "supported": false}, {"carrier": "deliverit", - "description": null, "name": "bill_on_manifest", "supported": false}, {"carrier": - "deliverit", "description": null, "name": "bill_on_scan", "supported": false}, - {"carrier": "deliverit", "description": null, "name": "commercial_invoices", - "supported": false}, {"carrier": "deliverit", "description": null, "name": - "labels", "supported": true}, {"carrier": "deliverit", "description": null, - "name": "orders", "supported": false}, {"carrier": "deliverit", "description": - null, "name": "pickups", "supported": false}, {"carrier": "deliverit", "description": - null, "name": "rating", "supported": true}, {"carrier": "deliverit", "description": - null, "name": "refunds", "supported": true}, {"carrier": "deliverit", "description": - null, "name": "returns", "supported": false}, {"carrier": "deliverit", "description": - null, "name": "scanforms", "supported": false}, {"carrier": "deliverit", "description": - null, "name": "sort_codes", "supported": false}, {"carrier": "deliverit", - "description": null, "name": "test_environment", "supported": false}]}, {"human_readable": - "Deutsche Post", "name": "deutschepost", "predefined_packages": [], "service_levels": - [{"carrier": "deutschepost", "description": null, "dimensions": [], "human_readable": - "Packet Plus", "max_weight": null, "name": "PacketPlus"}], "shipment_options": - [{"carrier": "deutschepost", "deprecated": false, "description": null, "human_readable": - "Additional Handling", "name": "additional_handling", "type": "boolean"}, - {"carrier": "deutschepost", "deprecated": true, "description": null, "human_readable": - "Bill Third Party Account", "name": "bill_third_party_account", "type": "string"}, - {"carrier": "deutschepost", "deprecated": false, "description": null, "human_readable": - "Carrier Insurance Amount", "name": "carrier_insurance_amount", "type": "float"}, - {"carrier": "deutschepost", "deprecated": false, "description": null, "human_readable": - "Cod Amount", "name": "cod_amount", "type": "string"}, {"carrier": "deutschepost", - "deprecated": false, "description": null, "human_readable": "Cod Method", - "name": "cod_method", "type": "string"}, {"carrier": "deutschepost", "deprecated": - false, "description": null, "human_readable": "Cost Center", "name": "cost_center", - "type": "string"}, {"carrier": "deutschepost", "deprecated": true, "description": - null, "human_readable": "Delivered Duty Paid", "name": "delivered_duty_paid", - "type": "boolean"}, {"carrier": "deutschepost", "deprecated": false, "description": - null, "human_readable": "Delivery Confirmation", "name": "delivery_confirmation", - "type": "string"}, {"carrier": "deutschepost", "deprecated": false, "description": - null, "human_readable": "Handling Instructions", "name": "handling_instructions", - "type": "string"}, {"carrier": "deutschepost", "deprecated": false, "description": - null, "human_readable": "Invoice Number", "name": "invoice_number", "type": - "string"}, {"carrier": "deutschepost", "deprecated": false, "description": - null, "human_readable": "Label Date", "name": "label_date", "type": "datetime"}, - {"carrier": "deutschepost", "deprecated": false, "description": null, "human_readable": - "Label Format", "name": "label_format", "type": "string"}, {"carrier": "deutschepost", - "deprecated": false, "description": null, "human_readable": "Label Size", - "name": "label_size", "type": "string"}, {"carrier": "deutschepost", "deprecated": - true, "description": null, "human_readable": "Print Custom 1", "name": "print_custom_1", - "type": "string"}, {"carrier": "deutschepost", "deprecated": true, "description": - null, "human_readable": "Print Custom 2", "name": "print_custom_2", "type": - "string"}, {"carrier": "deutschepost", "deprecated": false, "description": - null, "human_readable": "Return Service", "name": "return_service", "type": - "string"}], "supported_features": [{"carrier": "deutschepost", "description": - null, "name": "bill_on_delivery", "supported": null}, {"carrier": "deutschepost", - "description": null, "name": "bill_on_label_purchase", "supported": null}, - {"carrier": "deutschepost", "description": null, "name": "bill_on_manifest", - "supported": null}, {"carrier": "deutschepost", "description": null, "name": - "bill_on_scan", "supported": null}, {"carrier": "deutschepost", "description": - null, "name": "commercial_invoices", "supported": false}, {"carrier": "deutschepost", - "description": null, "name": "delivers_to_po_box", "supported": false}, {"carrier": - "deutschepost", "description": null, "name": "labels", "supported": true}, - {"carrier": "deutschepost", "description": null, "name": "orders", "supported": - false}, {"carrier": "deutschepost", "description": null, "name": "pickups", - "supported": false}, {"carrier": "deutschepost", "description": null, "name": - "rating", "supported": true}, {"carrier": "deutschepost", "description": null, - "name": "refunds", "supported": false}, {"carrier": "deutschepost", "description": - null, "name": "returns", "supported": true}, {"carrier": "deutschepost", "description": - null, "name": "scanforms", "supported": false}, {"carrier": "deutschepost", - "description": null, "name": "sort_codes", "supported": false}, {"carrier": - "deutschepost", "description": null, "name": "test_environment", "supported": - false}]}, {"human_readable": "Deutsche Post UK", "name": "deutschepostuk", - "predefined_packages": [], "service_levels": [{"carrier": "deutschepostuk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "PriorityPacketPlus"}, {"carrier": "deutschepostuk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "PriorityPacket"}, {"carrier": "deutschepostuk", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "PriorityPacketTracked"}, - {"carrier": "deutschepostuk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "BusinessMailRegistered"}, {"carrier": "deutschepostuk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "StandardPacket"}, {"carrier": "deutschepostuk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "BusinessMailStandard"}], "shipment_options": [], "supported_features": []}, - {"human_readable": "DHL eCommerce", "name": "dhlecommercesolutions", "predefined_packages": - [], "service_levels": [{"carrier": "dhlecommercesolutions", "description": - null, "dimensions": [], "human_readable": "DHL SM Parcel Expedited", "max_weight": - null, "name": "DHLParcelExpedited"}, {"carrier": "dhlecommercesolutions", - "description": null, "dimensions": [], "human_readable": "DHL SM Parcel Expedited - Max", "max_weight": null, "name": "DHLParcelExpeditedMax"}, {"carrier": "dhlecommercesolutions", - "description": null, "dimensions": [], "human_readable": "DHL SM Parcel Ground", - "max_weight": null, "name": "DHLParcelGround"}, {"carrier": "dhlecommercesolutions", - "description": null, "dimensions": [], "human_readable": "DHL Parcel International - Direct", "max_weight": null, "name": "DHLParcelInternationalDirect"}, {"carrier": - "dhlecommercesolutions", "description": null, "dimensions": [], "human_readable": - "DHL Parcel International Standard", "max_weight": null, "name": "DHLParcelInternationalStandard"}, - {"carrier": "dhlecommercesolutions", "description": null, "dimensions": [], - "human_readable": "DHL Packet International", "max_weight": null, "name": - "DHLPacketInternational"}, {"carrier": "dhlecommercesolutions", "description": - null, "dimensions": [], "human_readable": "DHL Parcel International Direct - Priority", "max_weight": null, "name": "DHLParcelInternationalDirectPriority"}, - {"carrier": "dhlecommercesolutions", "description": null, "dimensions": [], - "human_readable": "DHL Parcel International Direct Standard", "max_weight": - null, "name": "DHLParcelInternationalDirectStandard"}, {"carrier": "dhlecommercesolutions", - "description": null, "dimensions": [], "human_readable": "DHL Parcel International - Direct SMB", "max_weight": null, "name": "DHLParcelInternationalDirectSMB"}, - {"carrier": "dhlecommercesolutions", "description": null, "dimensions": [], - "human_readable": "DHL Parcel International Standard SMB", "max_weight": null, - "name": "DHLParcelInternationalStandardSMB"}, {"carrier": "dhlecommercesolutions", - "description": null, "dimensions": [], "human_readable": "DHL SM Bound Printed - Matter Expedited", "max_weight": null, "name": "DHLBPMExpedited"}, {"carrier": - "dhlecommercesolutions", "description": null, "dimensions": [], "human_readable": - "DHL SM Bound Printed Matter Ground", "max_weight": null, "name": "DHLBPMGround"}, - {"carrier": "dhlecommercesolutions", "description": null, "dimensions": [], - "human_readable": "DHL Packet IPA", "max_weight": null, "name": "DHLPacketIPA"}, - {"carrier": "dhlecommercesolutions", "description": null, "dimensions": [], - "human_readable": "DHL SM Parcel Return Ground", "max_weight": null, "name": - "DHLSmartMailParcelReturnGround"}, {"carrier": "dhlecommercesolutions", "description": - null, "dimensions": [], "human_readable": "DHL SM Parcel Return Plus", "max_weight": - null, "name": "DHLSmartMailParcelReturnPlus"}, {"carrier": "dhlecommercesolutions", - "description": null, "dimensions": [], "human_readable": "DHL SM Parcel Return - Light", "max_weight": null, "name": "DHLSmartMailParcelReturnLight"}], "shipment_options": - [], "supported_features": []}, {"human_readable": "DHL Express", "name": "dhlexpress", - "predefined_packages": [{"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "JumboDocument"}, - {"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "JumboParcel"}, {"carrier": "dhlexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Document"}, {"carrier": "dhlexpress", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "DHLFlyer"}, - {"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Domestic"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ExpressDocument"}, {"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "DHLExpressEnvelope"}, - {"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "JumboBox"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "JumboJuniorDocument"}, {"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "JuniorJumboBox"}, - {"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "JumboJuniorParcel"}, {"carrier": "dhlexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "OtherDHLPackaging"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Parcel"}, {"carrier": "dhlexpress", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "YourPackaging"}], "service_levels": - [{"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "BreakBulkEconomy"}, {"carrier": "dhlexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "BreakBulkExpress"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "DomesticEconomySelect"}, {"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "DomesticExpress"}, - {"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "DomesticExpress1030"}, {"carrier": "dhlexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "DomesticExpress1200"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "EconomySelect"}, {"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "EconomySelectNonDoc"}, - {"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "EuroPack"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "EuropackNonDoc"}, {"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Express1030"}, {"carrier": - "dhlexpress", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "Express1030NonDoc"}, {"carrier": "dhlexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Express1200NonDoc"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Express1200"}, {"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Express900"}, {"carrier": - "dhlexpress", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "Express900NonDoc"}, {"carrier": "dhlexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ExpressEasy"}, {"carrier": "dhlexpress", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "ExpressEasyNonDoc"}, - {"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ExpressEnvelope"}, {"carrier": "dhlexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ExpressWorldwide"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ExpressWorldwideB2C"}, {"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "ExpressWorldwideB2CNonDoc"}, - {"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ExpressWorldwideECX"}, {"carrier": "dhlexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ExpressWorldwideNonDoc"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "FreightWorldwide"}, {"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "GlobalmailBusiness"}, - {"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "JetLine"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "JumboBox"}, {"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "LogisticsServices"}, - {"carrier": "dhlexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "SameDay"}, {"carrier": "dhlexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "SecureLine"}, {"carrier": "dhlexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "SprintLine"}], "shipment_options": - [], "supported_features": []}, {"human_readable": "DHL Paket", "name": "dhlpaket", - "predefined_packages": [], "service_levels": [{"carrier": "dhlpaket", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "EuroPaket"}, {"carrier": "dhlpaket", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "Paket"}, {"carrier": - "dhlpaket", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "PaketConnect"}, {"carrier": "dhlpaket", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "PaketInternational"}, {"carrier": "dhlpaket", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Retoure"}], "shipment_options": - [], "supported_features": []}, {"human_readable": "DoorDash", "name": "doordash", - "predefined_packages": [], "service_levels": [{"carrier": "doordash", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Standard"}], "shipment_options": [], "supported_features": [{"carrier": "doordash", - "description": null, "name": "labels", "supported": null}, {"carrier": "doordash", - "description": null, "name": "rating", "supported": true}, {"carrier": "doordash", - "description": null, "name": "refunds", "supported": null}]}, {"human_readable": - "Douglas", "name": "douglas", "predefined_packages": [], "service_levels": - [{"carrier": "douglas", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Next Day"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "DPD", "name": "dpd", "predefined_packages": [], "service_levels": - [{"carrier": "dpd", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "DPDCLASSIC"}, {"carrier": "dpd", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "DPD8:30"}, {"carrier": "dpd", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "DPD10:00"}, {"carrier": "dpd", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "DPD12:00"}, {"carrier": "dpd", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "DPD18:00"}, {"carrier": "dpd", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "DPDEXPRESS"}, {"carrier": "dpd", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "DPDPARCELLETTER"}, {"carrier": "dpd", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "DPDPARCELLETTERPLUS"}, {"carrier": "dpd", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "DPDINTERNATIONALMAIL"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "DPD - NL", "name": "dpdnl", "predefined_packages": [], "service_levels": [{"carrier": - "dpdnl", "description": null, "dimensions": [], "human_readable": "DPDNL Classic", - "max_weight": null, "name": "DPDNL_CLASSIC"}, {"carrier": "dpdnl", "description": - null, "dimensions": [], "human_readable": "Express 10", "max_weight": null, - "name": "EXPRESS_10"}, {"carrier": "dpdnl", "description": null, "dimensions": - [], "human_readable": "Express 12", "max_weight": null, "name": "EXPRESS_12"}, - {"carrier": "dpdnl", "description": null, "dimensions": [], "human_readable": - "Express 18", "max_weight": null, "name": "EXPRESS_18"}, {"carrier": "dpdnl", - "description": null, "dimensions": [], "human_readable": "International Express", - "max_weight": null, "name": "INTERNATIONAL_EXPRESS"}, {"carrier": "dpdnl", - "description": null, "dimensions": [], "human_readable": "DPDNL B2C Home", - "max_weight": null, "name": "DPDNL_HOME"}, {"carrier": "dpdnl", "description": - null, "dimensions": [], "human_readable": "DPDNL B2C Shop", "max_weight": - null, "name": "DPDNL_TO_SHOP"}], "shipment_options": [], "supported_features": - [{"carrier": "dpdnl", "description": null, "name": "commercial_invoices", - "supported": false}, {"carrier": "dpdnl", "description": null, "name": "labels", - "supported": true}, {"carrier": "dpdnl", "description": null, "name": "orders", - "supported": false}, {"carrier": "dpdnl", "description": null, "name": "pickups", - "supported": false}, {"carrier": "dpdnl", "description": null, "name": "rating", - "supported": true}, {"carrier": "dpdnl", "description": null, "name": "refunds", - "supported": true}, {"carrier": "dpdnl", "description": null, "name": "returns", - "supported": false}, {"carrier": "dpdnl", "description": null, "name": "scanforms", - "supported": false}, {"carrier": "dpdnl", "description": null, "name": "sort_codes", - "supported": false}, {"carrier": "dpdnl", "description": null, "name": "test_environment", - "supported": true}]}, {"human_readable": "DPD UK", "name": "dpduk", "predefined_packages": - [{"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Parcel"}, {"carrier": "dpduk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Pallet"}, {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ExpressPak"}, {"carrier": "dpduk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "FreightParcel"}, {"carrier": "dpduk", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Freight"}], "service_levels": - [{"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "AirClassicInternationalAir"}, {"carrier": - "dpduk", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "AirExpressInternationalAir"}, {"carrier": "dpduk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ExpresspakDpd10:30"}, {"carrier": "dpduk", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "ExpresspakDpd12:00"}, - {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ExpresspakDpdClassic"}, {"carrier": "dpduk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ExpresspakDpdNextDay"}, {"carrier": "dpduk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ExpresspakSaturday"}, {"carrier": "dpduk", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "ExpresspakSaturday10:30"}, - {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ExpresspakSaturday12:00"}, {"carrier": - "dpduk", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ExpresspakSunday"}, {"carrier": "dpduk", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "ExpresspakSunday12:00"}, - {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "FreightParcelDpd10:30"}, {"carrier": "dpduk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "FreightParcelDpd12:00"}, {"carrier": "dpduk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "FreightParcelDpdClassic"}, {"carrier": "dpduk", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "FreightParcelDpdNextDay"}, - {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "FreightParcelDpdTwoDay"}, {"carrier": "dpduk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "FreightParcelSaturday"}, {"carrier": "dpduk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "FreightParcelSaturday10:30"}, {"carrier": "dpduk", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "FreightParcelSaturday12:00"}, - {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "FreightParcelSunday"}, {"carrier": "dpduk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "FreightParcelSunday12:00"}, {"carrier": "dpduk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "PalletDpd10:30"}, {"carrier": "dpduk", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "PalletDpd12:00"}, - {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "PalletDpdClassic"}, {"carrier": "dpduk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "PalletDpdNextDay"}, {"carrier": "dpduk", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "PalletDpdTwoDay"}, - {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "PalletSaturday"}, {"carrier": "dpduk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "PalletSaturday10:30"}, {"carrier": "dpduk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "PalletSaturday12:00"}, {"carrier": "dpduk", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "PalletSunday"}, {"carrier": - "dpduk", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "PalletSunday12:00"}, {"carrier": "dpduk", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "ParcelDpd10:30"}, - {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ParcelDpd12:00"}, {"carrier": "dpduk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ParcelDpdClassic"}, {"carrier": "dpduk", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "ParcelDpdNextDay"}, - {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ParcelDpdTwoDay"}, {"carrier": "dpduk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ParcelReturnToShop"}, {"carrier": "dpduk", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "ParcelSaturday"}, - {"carrier": "dpduk", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ParcelSaturday10:30"}, {"carrier": "dpduk", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ParcelSaturday12:00"}, {"carrier": "dpduk", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ParcelSunday"}, {"carrier": "dpduk", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "ParcelSunday12:00"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "ePostGlobal", - "name": "epostglobal", "predefined_packages": [], "service_levels": [{"carrier": - "epostglobal", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "CourierServiceDDP"}, {"carrier": "epostglobal", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "CourierServiceDDU"}, {"carrier": "epostglobal", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "DomesticEconomyParcel"}, {"carrier": "epostglobal", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "DomesticParcelBPM"}, - {"carrier": "epostglobal", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "DomesticPriorityParcel"}, {"carrier": "epostglobal", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "DomesticPriorityParcelBPM"}, {"carrier": "epostglobal", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "EMIService"}, {"carrier": "epostglobal", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "EconomyParcelService"}, - {"carrier": "epostglobal", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "IPAService"}, {"carrier": "epostglobal", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ISALService"}, {"carrier": "epostglobal", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "PMIService"}, - {"carrier": "epostglobal", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "PriorityParcelDDP"}, {"carrier": "epostglobal", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "PriorityParcelDDU"}, {"carrier": "epostglobal", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "PriorityParcelDeliveryConfirmationDDP"}, {"carrier": "epostglobal", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "PriorityParcelDeliveryConfirmationDDU"}, {"carrier": "epostglobal", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ePacketService"}], "shipment_options": [], "supported_features": []}, {"human_readable": - "EPostGlobalV2", "name": "epostglobalv2", "predefined_packages": [], "service_levels": - [{"carrier": "epostglobalv2", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "CourierService"}, {"carrier": "epostglobalv2", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "CourierServiceDutiesPaid"}, {"carrier": "epostglobalv2", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "DomesticPriorityParcel"}, {"carrier": "epostglobalv2", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "DomesticeDGE"}, - {"carrier": "epostglobalv2", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "EconomyParcel"}, {"carrier": "epostglobalv2", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ExpeditedParcelWithDeliveryConfirmationDutiesPaid"}, {"carrier": - "epostglobalv2", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ExpeditedWithDC"}, {"carrier": "epostglobalv2", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "FirstClassParcelsInternational"}, {"carrier": "epostglobalv2", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "IPA"}, {"carrier": "epostglobalv2", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "ISAL"}, {"carrier": - "epostglobalv2", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "PMEI"}, {"carrier": "epostglobalv2", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "PMEIDDP"}, {"carrier": "epostglobalv2", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "PMIPresortService"}, - {"carrier": "epostglobalv2", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "PMIServiceDutyPaid"}, {"carrier": "epostglobalv2", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "PriorityPacketDDU"}, {"carrier": "epostglobalv2", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "PriorityParcelNoDeliveryConfirmation"}, {"carrier": "epostglobalv2", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "PriorityParcelNoDeliveryConfirmationDutiesPaid"}, {"carrier": "epostglobalv2", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "PriorityParcelWithDeliveryConfirmation"}, {"carrier": "epostglobalv2", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "PriorityParcelWithDeliveryConfirmationDutiesPaid"}, {"carrier": - "epostglobalv2", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ePacket"}, {"carrier": "epostglobalv2", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ePacketDDP"}], "shipment_options": [], "supported_features": - [{"carrier": "epostglobalv2", "description": null, "name": "labels", "supported": - null}, {"carrier": "epostglobalv2", "description": null, "name": "rating", - "supported": true}, {"carrier": "epostglobalv2", "description": null, "name": - "refunds", "supported": null}]}, {"human_readable": "Estafeta", "name": "estafeta", - "predefined_packages": [{"carrier": "estafeta", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "ENVELOPE"}, {"carrier": - "estafeta", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "PARCEL"}], "service_levels": [{"carrier": "estafeta", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "11:30"}, {"carrier": "estafeta", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "12:30"}, {"carrier": - "estafeta", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "Dia Sig."}, {"carrier": "estafeta", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "2 Dias"}, {"carrier": "estafeta", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "Terrestre"}, {"carrier": - "estafeta", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "LTL"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "Evri", "name": "evri", "predefined_packages": [], - "service_levels": [{"carrier": "evri", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Courier2Home"}, {"carrier": - "evri", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Courier2HomeNextDay"}, {"carrier": "evri", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "Shop2Home"}, - {"carrier": "evri", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Shop2HomeNextDay"}, {"carrier": "evri", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Shop2Shop"}, {"carrier": "evri", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Shop2ShopNextDay"}, - {"carrier": "evri", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Courier2Shop"}, {"carrier": "evri", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Courier2ShopNextDay"}, {"carrier": "evri", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "International Delivery"}, - {"carrier": "evri", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Commercial"}, {"carrier": "evri", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "DDP Courier"}, {"carrier": "evri", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "DDU Courier"}, {"carrier": - "evri", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "DDU Shop"}, {"carrier": "evri", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Postal"}], "shipment_options": - [], "supported_features": []}, {"human_readable": "Fastway", "name": "fastway", - "predefined_packages": [{"carrier": "fastway", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Parcel"}, {"carrier": - "fastway", "description": "(Satchel)", "dimensions": [], "human_readable": - null, "max_weight": null, "name": "A2"}, {"carrier": "fastway", "description": - "(Satchel)", "dimensions": [], "human_readable": null, "max_weight": null, - "name": "A3"}, {"carrier": "fastway", "description": "(Satchel, not available - in Australia)", "dimensions": [], "human_readable": null, "max_weight": null, - "name": "A4"}, {"carrier": "fastway", "description": "(Satchel, not available - in South Africa)", "dimensions": [], "human_readable": null, "max_weight": - null, "name": "A5"}, {"carrier": "fastway", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "BOXSML"}, {"carrier": - "fastway", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "BOXMED"}, {"carrier": "fastway", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "BOXLRG"}], "service_levels": [{"carrier": "fastway", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "Parcel"}, - {"carrier": "fastway", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Satchel"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "FedEx", "name": "fedex", "predefined_packages": [{"carrier": - "fedex", "description": "Up to approximately 60 pages", "dimensions": ["9.5in - x 12.5in"], "human_readable": null, "max_weight": 160.0, "name": "FedExEnvelope"}, - {"carrier": "fedex", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "FedExBox"}, {"carrier": "fedex", "description": - null, "dimensions": ["12in x 15.5in"], "human_readable": null, "max_weight": - 800.0, "name": "FedExPak"}, {"carrier": "fedex", "description": "Triangular - box for plans, posters, fabric rolls, charts and blueprints", "dimensions": - ["38in x 6in x 6in x 6in"], "human_readable": null, "max_weight": 800.0, "name": - "FedExTube"}, {"carrier": "fedex", "description": "To qualify for the flat - rate, weight cannot exceed 10 kg", "dimensions": ["15.81in x 12.94in x 10.19in"], - "human_readable": null, "max_weight": 352.0, "name": "FedEx10kgBox"}, {"carrier": - "fedex", "description": "To qualify for the flat rate, weight cannot exceed - 25 kg.", "dimensions": ["21.56in x 16.56in x 13.19in"], "human_readable": - null, "max_weight": 880.0, "name": "FedEx25kgBox"}, {"carrier": "fedex", "description": - "Maximum weight allowed is based on pricing option: 50 lbs (800 oz) for domestic - Express One Rate shipments, 20 lbs (320 oz) for domestic weight-based Express - shipments, 40 lbs (640 oz) for international weight-based Express shipments.", - "dimensions": ["12.25in x 10.9in x 1.5in", "8.75in x 2.63in x 11.25in"], "human_readable": - null, "max_weight": 800.0, "name": "FedExSmallBox"}, {"carrier": "fedex", - "description": "Maximum weight allowed is based on pricing option: 50 lbs - (800 oz) for domestic Express One Rate shipments, 20 lbs (320 oz) for domestic - weight-based Express shipments, 40 lbs (640 oz) for international weight-based - Express shipments.", "dimensions": ["13.25in x 11.5in x 2.38in", "8.75in x - 4.38in x 11.25in"], "human_readable": null, "max_weight": 800.0, "name": "FedExMediumBox"}, - {"carrier": "fedex", "description": "Maximum weight allowed is based on pricing - option: 50 lbs (800 oz) for domestic Express One Rate shipments, 20 lbs (320 - oz) for domestic weight-based Express shipments, 40 lbs (640 oz) for international - weight-based Express shipments.", "dimensions": ["17.88in x 12.38in x 3in", - "8.75in x 7.75in x 11.25in"], "human_readable": null, "max_weight": 800.0, - "name": "FedExLargeBox"}, {"carrier": "fedex", "description": "Maximum weight - allowed is based on pricing option: 50 lbs (800 oz) for domestic Express One - Rate shipments, 20 lbs (320 oz) for domestic weight-based Express shipments, - 40 lbs (640 oz) for international weight-based Express shipments.", "dimensions": - ["11.88in x 10.75in x 11in", "15.25in x 14.13in x 6in"], "human_readable": - null, "max_weight": 800.0, "name": "FedExExtraLargeBox"}], "service_levels": - [{"carrier": "fedex", "description": "2 business days by 4:30pm, Saturday - delivery", "dimensions": null, "human_readable": "FedEx 2 Day", "max_weight": - null, "name": "FEDEX_2_DAY"}, {"carrier": "fedex", "description": "2 business - days by 10:30am", "dimensions": null, "human_readable": "FedEx 2 Day (AM)", - "max_weight": null, "name": "FEDEX_2_DAY_AM"}, {"carrier": "fedex", "description": - "3 business days by 4:30pm", "dimensions": null, "human_readable": "FedEx - Express Saver", "max_weight": null, "name": "FEDEX_EXPRESS_SAVER"}, {"carrier": - "fedex", "description": "1-6 days", "dimensions": null, "human_readable": - "FedEx Ground", "max_weight": null, "name": "FEDEX_GROUND"}, {"carrier": "fedex", - "description": "2-5 business days", "dimensions": null, "human_readable": - "FedEx International (Connect Plus)", "max_weight": null, "name": "FEDEX_INTERNATIONAL_CONNECT_PLUS"}, - {"carrier": "fedex", "description": "By 8am the next business day, Saturday - delivery", "dimensions": null, "human_readable": "FedEx First (Overnight)", - "max_weight": null, "name": "FIRST_OVERNIGHT"}, {"carrier": "fedex", "description": - "1-5 days", "dimensions": null, "human_readable": "FedEx Ground (Home Delivery)", - "max_weight": null, "name": "GROUND_HOME_DELIVERY"}, {"carrier": "fedex", - "description": "4-5 business days", "dimensions": null, "human_readable": - "FedEx International (Economy)", "max_weight": null, "name": "INTERNATIONAL_ECONOMY"}, - {"carrier": "fedex", "description": "1-3 business days, time definite to select - markets", "dimensions": null, "human_readable": "FedEx International First", - "max_weight": null, "name": "INTERNATIONAL_FIRST"}, {"carrier": "fedex", "description": - "1-3 business days, time definite to select markets", "dimensions": null, - "human_readable": "FedEx International (First)", "max_weight": null, "name": - "FEDEX_INTERNATIONAL_PRIORITY"}, {"carrier": "fedex", "description": "By 10:30am - the next business day, Saturday delivery", "dimensions": null, "human_readable": - "FedEx Priority Overnight", "max_weight": null, "name": "PRIORITY_OVERNIGHT"}, - {"carrier": "fedex", "description": "2-7 business days; Sunday Delivery to - select markets", "dimensions": null, "human_readable": "FedEx Ground Economy - (formerly FedEx SmartPost)", "max_weight": null, "name": "SMART_POST"}, {"carrier": - "fedex", "description": "By 4:30pm the next business day", "dimensions": null, - "human_readable": "FedEx Standard Overnight", "max_weight": null, "name": - "STANDARD_OVERNIGHT"}], "shipment_options": [], "supported_features": []}, - {"human_readable": "FedEx Cross Border", "name": "fedexcrossborder", "predefined_packages": - [], "service_levels": [{"carrier": "fedexcrossborder", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "CBEC"}, - {"carrier": "fedexcrossborder", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "CBECL"}, {"carrier": "fedexcrossborder", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "CBECP"}], "shipment_options": [], "supported_features": []}, - {"human_readable": "FedEx Ground Economy", "name": "fedexgroundeconomy", "predefined_packages": - [], "service_levels": [{"carrier": "fedexgroundeconomy", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "SMART_POST"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "FedEx - SmartPost", "name": "fedexsmartpost", "predefined_packages": [], "service_levels": - [{"carrier": "fedexsmartpost", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "SMART_POST"}], "shipment_options": [], - "supported_features": []}, {"human_readable": "First Choice", "name": "firstchoice", - "predefined_packages": [], "service_levels": [{"carrier": "firstchoice", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ST"}], "shipment_options": [], "supported_features": [{"carrier": "firstchoice", - "description": null, "name": "labels", "supported": null}]}, {"human_readable": - "First Mile", "name": "firstmile", "predefined_packages": [], "service_levels": - [{"carrier": "firstmile", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "XParcelPriority"}, {"carrier": "firstmile", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "XParcelExpedited"}, {"carrier": "firstmile", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "XParcelReturns"}, {"carrier": "firstmile", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "XParcelGround"}, - {"carrier": "firstmile", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "XParcelExpeditedPlus"}], "shipment_options": - [], "supported_features": [{"carrier": "firstmile", "description": null, "name": - "labels", "supported": true}, {"carrier": "firstmile", "description": null, - "name": "orders", "supported": false}, {"carrier": "firstmile", "description": - null, "name": "pickups", "supported": false}, {"carrier": "firstmile", "description": - null, "name": "rating", "supported": true}, {"carrier": "firstmile", "description": - null, "name": "refunds", "supported": true}, {"carrier": "firstmile", "description": - null, "name": "returns", "supported": true}, {"carrier": "firstmile", "description": - null, "name": "scanforms", "supported": false}, {"carrier": "firstmile", "description": - null, "name": "test_environment", "supported": true}]}, {"human_readable": - "Flexport", "name": "flexport", "predefined_packages": [], "service_levels": - [{"carrier": "flexport", "description": null, "dimensions": [], "human_readable": - "Standard", "max_weight": null, "name": "Standard"}, {"carrier": "flexport", - "description": null, "dimensions": [], "human_readable": "Expedited", "max_weight": - null, "name": "Expedited"}], "shipment_options": [], "supported_features": - [{"carrier": "flexport", "description": null, "name": "bill_on_delivery", - "supported": false}, {"carrier": "flexport", "description": null, "name": - "bill_on_label_purchase", "supported": false}, {"carrier": "flexport", "description": - null, "name": "bill_on_manifest", "supported": false}, {"carrier": "flexport", - "description": null, "name": "bill_on_scan", "supported": true}, {"carrier": - "flexport", "description": null, "name": "commercial_invoices", "supported": - false}, {"carrier": "flexport", "description": null, "name": "delivers_to_po_box", - "supported": false}, {"carrier": "flexport", "description": null, "name": - "labels", "supported": true}, {"carrier": "flexport", "description": null, - "name": "orders", "supported": false}, {"carrier": "flexport", "description": - null, "name": "pickups", "supported": false}, {"carrier": "flexport", "description": - null, "name": "rating", "supported": true}, {"carrier": "flexport", "description": - null, "name": "refunds", "supported": false}, {"carrier": "flexport", "description": - null, "name": "returns", "supported": false}, {"carrier": "flexport", "description": - null, "name": "scanforms", "supported": false}, {"carrier": "flexport", "description": - null, "name": "sort_codes", "supported": false}, {"carrier": "flexport", "description": - null, "name": "test_environment", "supported": false}]}, {"human_readable": - "Gio", "name": "gio", "predefined_packages": [], "service_levels": [{"carrier": - "gio", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "scheduled"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "GLS", "name": "gls", "predefined_packages": [], "service_levels": - [{"carrier": "gls", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "EarlyPriorityOvernight"}, {"carrier": "gls", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "PriorityOvernight"}, {"carrier": "gls", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "CaliforniaParcelService"}, - {"carrier": "gls", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "SaturdayDeliveryService"}, {"carrier": - "gls", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "EarlySaturdayService"}, {"carrier": "gls", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "NoonPriorityService"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "GSO", - "name": "gso", "predefined_packages": [], "service_levels": [{"carrier": "gso", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "EarlyPriorityOvernight"}, {"carrier": "gso", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "PriorityOvernight"}, {"carrier": "gso", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "CaliforniaParcelService"}, - {"carrier": "gso", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "SaturdayDeliveryService"}, {"carrier": - "gso", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "EarlySaturdayService"}, {"carrier": "gso", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "NoonPriorityService"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "Hailify", - "name": "hailify", "predefined_packages": [], "service_levels": [{"carrier": - "hailify", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "Xpress"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "Henry", "name": "henry", "predefined_packages": [], - "service_levels": [{"carrier": "henry", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Distribution"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "Interlink - Express", "name": "interlinkexpress", "predefined_packages": [{"carrier": - "interlinkexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Parcel"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Pallet"}, {"carrier": "interlinkexpress", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "ExpressPak"}, - {"carrier": "interlinkexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "FreightParcel"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Freight"}], "service_levels": [{"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkAirClassicInternationalAir"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkAirExpressInternationalAir"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak1By10:30"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak1By12"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak1NextDay"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak1Saturday"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak1SaturdayBy10:30"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak1SaturdayBy12"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak1Sunday"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak1SundayBy12"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak5By10"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak5By10:30"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak5By12"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak5NextDay"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak5Saturday"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak5SaturdayBy10"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak5SaturdayBy10:30"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak5SaturdayBy12"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak5Sunday"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkExpresspak5SundayBy12"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkFreightBy10"}, {"carrier": "interlinkexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InterlinkFreightBy12"}, {"carrier": "interlinkexpress", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "InterlinkFreightNextDay"}, - {"carrier": "interlinkexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "InterlinkFreightSaturday"}, {"carrier": - "interlinkexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "InterlinkFreightSaturdayBy10"}, {"carrier": - "interlinkexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "InterlinkFreightSaturdayBy12"}, {"carrier": - "interlinkexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "InterlinkFreightSunday"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkFreightSundayBy12"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkParcelBy10"}, {"carrier": "interlinkexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InterlinkParcelBy10:30"}, {"carrier": "interlinkexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InterlinkParcelBy12"}, {"carrier": "interlinkexpress", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "InterlinkParcelDpdEuropeByRoad"}, - {"carrier": "interlinkexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "InterlinkParcelNextDay"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkParcelReturn"}, {"carrier": "interlinkexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InterlinkParcelReturnToShop"}, {"carrier": "interlinkexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InterlinkParcelSaturday"}, {"carrier": "interlinkexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InterlinkParcelSaturdayBy10"}, {"carrier": "interlinkexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InterlinkParcelSaturdayBy10:30"}, {"carrier": "interlinkexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InterlinkParcelSaturdayBy12"}, {"carrier": "interlinkexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InterlinkParcelShipToShop"}, {"carrier": "interlinkexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InterlinkParcelSunday"}, {"carrier": "interlinkexpress", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "InterlinkParcelSundayBy12"}, - {"carrier": "interlinkexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "InterlinkParcelTwoDay"}, {"carrier": "interlinkexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InterlinkPickupParcelDpdEuropeByRoad"}], "shipment_options": - [], "supported_features": []}, {"human_readable": "Jet", "name": "jet", "predefined_packages": - [], "service_levels": [{"carrier": "jet", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Distribution"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "Jitsu", - "name": "jitsu", "predefined_packages": [], "service_levels": [{"carrier": - "jitsu", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "AxleHireDelivery"}], "shipment_options": [], "supported_features": - [{"carrier": "jitsu", "description": null, "name": "labels", "supported": - null}, {"carrier": "jitsu", "description": null, "name": "pickups", "supported": - null}, {"carrier": "jitsu", "description": null, "name": "rating", "supported": - true}, {"carrier": "jitsu", "description": null, "name": "scanforms", "supported": - null}]}, {"human_readable": "JP Post", "name": "jppost", "predefined_packages": - [], "service_levels": [], "shipment_options": [], "supported_features": []}, - {"human_readable": "Kuroneko Yamato", "name": "kuronekoyamato", "predefined_packages": - [], "service_levels": [], "shipment_options": [], "supported_features": []}, - {"human_readable": "La Poste", "name": "laposte", "predefined_packages": [], - "service_levels": [], "shipment_options": [], "supported_features": []}, {"human_readable": - "LaserShip", "name": "lasershipv2", "predefined_packages": [{"carrier": "lasershipv2", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Envelope"}, {"carrier": "lasershipv2", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "Custom"}], - "service_levels": [{"carrier": "lasershipv2", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "SameDay"}, {"carrier": - "lasershipv2", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "NextDay"}, {"carrier": "lasershipv2", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Weekend"}], "shipment_options": [], "supported_features": []}, {"human_readable": - "Loomis Express", "name": "loomisexpress", "predefined_packages": [], "service_levels": - [{"carrier": "loomisexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "LoomisGround"}, {"carrier": "loomisexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "LoomisExpress1800"}, {"carrier": "loomisexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "LoomisExpress1200"}, {"carrier": "loomisexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "LoomisExpress900"}], - "shipment_options": [], "supported_features": [{"carrier": "loomisexpress", - "description": null, "name": "labels", "supported": null}, {"carrier": "loomisexpress", - "description": null, "name": "pickups", "supported": null}, {"carrier": "loomisexpress", - "description": null, "name": "rating", "supported": true}, {"carrier": "loomisexpress", - "description": null, "name": "scanforms", "supported": null}, {"carrier": - "loomisexpress", "description": null, "name": "test_environment", "supported": - null}]}, {"human_readable": "LSO", "name": "lso", "predefined_packages": [], - "service_levels": [{"carrier": "lso", "description": null, "dimensions": null, - "human_readable": "Early Next Day by 8:30 a.m.", "max_weight": null, "name": - "PriorityEarly"}, {"carrier": "lso", "description": null, "dimensions": null, - "human_readable": "Priority Next Day by 10:30 a.m.", "max_weight": null, "name": - "PriorityBasic"}, {"carrier": "lso", "description": null, "dimensions": null, - "human_readable": "Priority 2nd Business Day", "max_weight": null, "name": - "Priority2ndDay"}, {"carrier": "lso", "description": null, "dimensions": null, - "human_readable": "Economy Next Day by 3 p.m.", "max_weight": null, "name": - "GroundEarly"}, {"carrier": "lso", "description": null, "dimensions": null, - "human_readable": "Ground Basic in 1-3 business days", "max_weight": null, - "name": "GroundBasic"}, {"carrier": "lso", "description": null, "dimensions": - null, "human_readable": "eCommerce", "max_weight": null, "name": "ECommerce"}], - "shipment_options": [{"carrier": "lso", "deprecated": false, "description": - null, "human_readable": "Delivery Confirmation", "name": "delivery_confirmation", - "type": "string"}, {"carrier": "lso", "deprecated": false, "description": - null, "human_readable": "Saturday Delivery", "name": "saturday_delivery", - "type": "boolean"}, {"carrier": "lso", "deprecated": true, "description": - null, "human_readable": "Date Advance", "name": "date_advance", "type": "integer"}, - {"carrier": "lso", "deprecated": true, "description": null, "human_readable": - "Declared Value", "name": "declared_value", "type": "float"}, {"carrier": - "lso", "deprecated": false, "description": null, "human_readable": "Label - Format", "name": "label_format", "type": "string"}, {"carrier": "lso", "deprecated": - false, "description": null, "human_readable": "Label Size", "name": "label_size", - "type": "string"}, {"carrier": "lso", "deprecated": true, "description": null, - "human_readable": "Print Custom 1", "name": "print_custom_1", "type": "string"}, - {"carrier": "lso", "deprecated": true, "description": null, "human_readable": - "Print Custom 2", "name": "print_custom_2", "type": "string"}, {"carrier": - "lso", "deprecated": true, "description": null, "human_readable": "Print Custom - 3", "name": "print_custom_3", "type": "string"}], "supported_features": [{"carrier": - "lso", "description": null, "name": "bill_on_delivery", "supported": false}, - {"carrier": "lso", "description": null, "name": "bill_on_label_purchase", - "supported": false}, {"carrier": "lso", "description": null, "name": "bill_on_manifest", - "supported": false}, {"carrier": "lso", "description": null, "name": "bill_on_scan", - "supported": true}, {"carrier": "lso", "description": null, "name": "commercial_invoices", - "supported": false}, {"carrier": "lso", "description": null, "name": "delivers_to_po_box", - "supported": false}, {"carrier": "lso", "description": null, "name": "labels", - "supported": true}, {"carrier": "lso", "description": null, "name": "orders", - "supported": false}, {"carrier": "lso", "description": null, "name": "pickups", - "supported": true}, {"carrier": "lso", "description": null, "name": "rating", - "supported": true}, {"carrier": "lso", "description": null, "name": "refunds", - "supported": false}, {"carrier": "lso", "description": null, "name": "returns", - "supported": false}, {"carrier": "lso", "description": null, "name": "scanforms", - "supported": false}, {"carrier": "lso", "description": null, "name": "sort_codes", - "supported": false}, {"carrier": "lso", "description": null, "name": "test_environment", - "supported": true}]}, {"human_readable": "Maersk", "name": "maersk", "predefined_packages": - [], "service_levels": [{"carrier": "maersk", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Maersk-3-Day"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "NextDayExpress", - "name": "nextdayexpress", "predefined_packages": [], "service_levels": [{"carrier": - "nextdayexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "N2D"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "OnTracV3", "name": "ontracv3", "predefined_packages": - [{"carrier": "ontracv3", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Letter"}], "service_levels": [{"carrier": - "ontracv3", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "GRND"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "Optima", "name": "optima", "predefined_packages": - [], "service_levels": [{"carrier": "optima", "description": null, "dimensions": - ["Maximum length: 48in", "Maximum width: 32in", "Maximum height: 32in"], "human_readable": - null, "max_weight": 800.0, "name": "NxtDay"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "OSM Worldwide", "name": "osmworldwide", "predefined_packages": - [{"carrier": "osmworldwide", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "parcel"}, {"carrier": "osmworldwide", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "irregularparcel"}, {"carrier": "osmworldwide", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "softpack"}], "service_levels": - [{"carrier": "osmworldwide", "description": null, "dimensions": [], "human_readable": - "Priority", "max_weight": null, "name": "Priority"}, {"carrier": "osmworldwide", - "description": null, "dimensions": [], "human_readable": "BPM", "max_weight": - null, "name": "BPM"}, {"carrier": "osmworldwide", "description": null, "dimensions": - [], "human_readable": "Parcel Select", "max_weight": null, "name": "ParcelSelect"}, - {"carrier": "osmworldwide", "description": null, "dimensions": [], "human_readable": - "Media Mail", "max_weight": null, "name": "MediaMail"}, {"carrier": "osmworldwide", - "description": null, "dimensions": [], "human_readable": "Marketing Parcel", - "max_weight": null, "name": "MarketingParcel"}, {"carrier": "osmworldwide", - "description": null, "dimensions": [], "human_readable": "Marketing Parcel - Tracked", "max_weight": null, "name": "MarketingParcelTracked"}, {"carrier": - "osmworldwide", "description": null, "dimensions": [], "human_readable": "Parcel - Select Hazardous Material", "max_weight": null, "name": "ParcelSelectHazardousMaterial"}, - {"carrier": "osmworldwide", "description": null, "dimensions": [], "human_readable": - "USPS Ground Advantage", "max_weight": null, "name": "USPSGroundAdvantage"}, - {"carrier": "osmworldwide", "description": null, "dimensions": [], "human_readable": - "USPS Ground Advantage Lightweight", "max_weight": null, "name": "USPSGroundAdvantageLightweight"}, - {"carrier": "osmworldwide", "description": null, "dimensions": [], "human_readable": - "USPS Ground Advantage Hazmat", "max_weight": null, "name": "USPSGroundAdvantageHazmat"}, - {"carrier": "osmworldwide", "description": null, "dimensions": [], "human_readable": - "USPS Ground Advantage Hazmat Signature", "max_weight": null, "name": "USPSGroundAdvantageHazmatSignature"}, - {"carrier": "osmworldwide", "description": null, "dimensions": [], "human_readable": - "USPS Ground Advantage Lightweight Hazmat", "max_weight": null, "name": "USPSGroundAdvantageLightweightHazmat"}, - {"carrier": "osmworldwide", "description": null, "dimensions": [], "human_readable": - "USPS Ground Advantage Lightweight Hazmat Signature", "max_weight": null, - "name": "USPSGroundAdvantageLightweightHazmatSignature"}, {"carrier": "osmworldwide", - "description": null, "dimensions": [], "human_readable": "Parcel Select Hazmat - Signature", "max_weight": null, "name": "ParcelSelectHazmatSignature"}], "shipment_options": - [], "supported_features": [{"carrier": "osmworldwide", "description": null, - "name": "labels", "supported": true}, {"carrier": "osmworldwide", "description": - null, "name": "orders", "supported": false}, {"carrier": "osmworldwide", "description": - null, "name": "pickups", "supported": false}, {"carrier": "osmworldwide", - "description": null, "name": "rating", "supported": true}, {"carrier": "osmworldwide", - "description": null, "name": "refunds", "supported": false}, {"carrier": "osmworldwide", - "description": null, "name": "returns", "supported": false}, {"carrier": "osmworldwide", - "description": "Manifesting", "name": "scanforms", "supported": true}, {"carrier": - "osmworldwide", "description": null, "name": "sort_codes", "supported": true}]}, - {"human_readable": "Pandion", "name": "pandion", "predefined_packages": [], - "service_levels": [{"carrier": "pandion", "description": null, "dimensions": - [], "human_readable": "Pandion Express", "max_weight": null, "name": "Pandion - Express"}], "shipment_options": [], "supported_features": [{"carrier": "pandion", - "description": null, "name": "bill_on_delivery", "supported": false}, {"carrier": - "pandion", "description": null, "name": "bill_on_label_purchase", "supported": - false}, {"carrier": "pandion", "description": null, "name": "bill_on_manifest", - "supported": true}, {"carrier": "pandion", "description": null, "name": "bill_on_scan", - "supported": true}, {"carrier": "pandion", "description": null, "name": "commercial_invoices", - "supported": false}, {"carrier": "pandion", "description": null, "name": "delivers_to_po_box", - "supported": false}, {"carrier": "pandion", "description": null, "name": "labels", - "supported": true}, {"carrier": "pandion", "description": null, "name": "orders", - "supported": false}, {"carrier": "pandion", "description": null, "name": "pickups", - "supported": false}, {"carrier": "pandion", "description": null, "name": "rating", - "supported": true}, {"carrier": "pandion", "description": null, "name": "refunds", - "supported": false}, {"carrier": "pandion", "description": null, "name": "returns", - "supported": true}, {"carrier": "pandion", "description": null, "name": "scanforms", - "supported": true}, {"carrier": "pandion", "description": null, "name": "sort_codes", - "supported": false}, {"carrier": "pandion", "description": null, "name": "test_environment", - "supported": true}]}, {"human_readable": "Parcelforce", "name": "parcelforce", - "predefined_packages": [], "service_levels": [{"carrier": "parcelforce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "europrioritybusiness"}, {"carrier": "parcelforce", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "europriorityhome"}, - {"carrier": "parcelforce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "express10"}, {"carrier": "parcelforce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "express10CourierPack"}, {"carrier": "parcelforce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "express10Exchange"}, {"carrier": "parcelforce", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "express10Secure"}, - {"carrier": "parcelforce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "express10SecureExchange"}, {"carrier": - "parcelforce", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "express24"}, {"carrier": "parcelforce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "express24CourierPack"}, {"carrier": "parcelforce", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "express24Exchange"}, - {"carrier": "parcelforce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "express24large"}, {"carrier": "parcelforce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "express24Secure"}, {"carrier": "parcelforce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "express24SecureExchange"}, {"carrier": "parcelforce", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "express48"}, - {"carrier": "parcelforce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "express48large"}, {"carrier": "parcelforce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "express9"}, {"carrier": "parcelforce", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "express9CourierPack"}, - {"carrier": "parcelforce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "express9Secure"}, {"carrier": "parcelforce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "expressAM"}, {"carrier": "parcelforce", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "expressAMCourierPack"}, - {"carrier": "parcelforce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "expressAMExchange"}, {"carrier": "parcelforce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "expressAMSecure"}, {"carrier": "parcelforce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "expressAMSecureExchange"}, {"carrier": "parcelforce", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "expressPM"}, - {"carrier": "parcelforce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "expressPMSecure"}, {"carrier": "parcelforce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "globalBulkDirect"}, {"carrier": "parcelforce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "globalexpress"}, {"carrier": "parcelforce", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "globalexpressEnvelopeDelivery"}, - {"carrier": "parcelforce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "globalexpressPackDelivery"}, {"carrier": - "parcelforce", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "globalpriority"}, {"carrier": "parcelforce", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "globalpriorityReturns"}, {"carrier": "parcelforce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "globalvalue"}, {"carrier": "parcelforce", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "irelandexpress"}, - {"carrier": "parcelforce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ParcelRiderPlus"}], "shipment_options": - [], "supported_features": []}, {"human_readable": "PARCLL", "name": "parcll", - "predefined_packages": [], "service_levels": [{"carrier": "parcll", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "CADOECOEA (Canada Domestic Economy East)"}, {"carrier": "parcll", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "CADOECOWE (Canada Domestic Economy West)"}, {"carrier": "parcll", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "CAECONE (USA to Canada Economy Northeast)"}, {"carrier": "parcll", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "CAECOWE (USA to Canada Economy West)"}, {"carrier": "parcll", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ECOCE (Economy Central)"}, {"carrier": "parcll", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "ECOEA (Economy East)"}, - {"carrier": "parcll", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "ECONE (Economy Northeast)"}, {"carrier": - "parcll", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ECOSO (Economy South)"}, {"carrier": "parcll", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ECOWE (Economy West)"}, {"carrier": "parcll", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "EUECONE (USA to EU - Economy Northeast)"}, {"carrier": "parcll", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "EXPNE (Expedited - Northeast)"}, {"carrier": "parcll", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "EXPWE (Expedited West)"}, - {"carrier": "parcll", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "REGCE (Regional Central)"}, {"carrier": - "parcll", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "REGEA (Regional East)"}, {"carrier": "parcll", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "REGNE (Regional Northeast)"}, {"carrier": "parcll", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "REGSO - (Regional South)"}, {"carrier": "parcll", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "REGWE (Regional West)"}, - {"carrier": "parcll", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "STDWE (Standard West LA)"}, {"carrier": - "parcll", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "STDSL (Standard SL Salt Lake City)"}, {"carrier": "parcll", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "STDCE (Standard Central ORD/Chicago)"}, {"carrier": "parcll", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "STDNJ (Standard NJ New Jersey)"}, {"carrier": "parcll", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "STDNE (Standard Northeast New York/JFK)"}, {"carrier": "parcll", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "STDEA (Standard East ATL)"}, {"carrier": "parcll", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "STDSE (Standard Southeast - Miami)"}, {"carrier": "parcll", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "STDSO (Standard South DFW/Dallas)"}, {"carrier": - "parcll", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "USECOCA (Canada to USA Economy East)"}, {"carrier": "parcll", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "GBECONE (USA to UK Economy Northeast)"}, {"carrier": "parcll", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "EXPNJ (Expedited New Jersey)"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "Passport Global", "name": "passportglobal", "predefined_packages": - [], "service_levels": [{"carrier": "passportglobal", "description": "PriorityDdpDelcon", - "dimensions": null, "human_readable": "Priority DDP Delcon", "max_weight": - null, "name": "PriorityDdpDelcon"}, {"carrier": "passportglobal", "description": - "Priority DDP", "dimensions": null, "human_readable": "Priority DDP", "max_weight": - null, "name": "PriorityDdp"}, {"carrier": "passportglobal", "description": - "ePacket DDP", "dimensions": null, "human_readable": "ePacket DDP", "max_weight": - null, "name": "epacketDdp"}, {"carrier": "passportglobal", "description": - "Express DDP", "dimensions": null, "human_readable": "Express DDP", "max_weight": - null, "name": "ExpressDdp"}, {"carrier": "passportglobal", "description": - "Priority DDU Delcon", "dimensions": null, "human_readable": "Priority DDU - Delcon", "max_weight": null, "name": "PriorityDduDelcon"}, {"carrier": "passportglobal", - "description": "Priority DDU", "dimensions": null, "human_readable": "Priority - DDU", "max_weight": null, "name": "PriorityDdu"}], "shipment_options": [], - "supported_features": []}, {"human_readable": "PostNL", "name": "postnl", - "predefined_packages": [], "service_levels": [], "shipment_options": [], "supported_features": - []}, {"human_readable": "Purolator", "name": "purolator", "predefined_packages": - [{"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "CustomerPackaging", "max_weight": null, "name": "CUSTOMERPACKAGING"}, {"carrier": - "purolator", "description": null, "dimensions": [], "human_readable": "ExpressPack", - "max_weight": null, "name": "EXPRESSPACK"}, {"carrier": "purolator", "description": - null, "dimensions": [], "human_readable": "ExpressBox", "max_weight": null, - "name": "EXPRESSBOX"}, {"carrier": "purolator", "description": null, "dimensions": - [], "human_readable": "ExpressEnvelope", "max_weight": null, "name": "EXPRESSENVELOPE"}], - "service_levels": [{"carrier": "purolator", "description": null, "dimensions": - [], "human_readable": "Purolator Express", "max_weight": null, "name": "PurolatorExpress"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express 12PM", "max_weight": null, "name": "PurolatorExpress12PM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack 12PM", "max_weight": null, "name": "PurolatorExpressPack12PM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box 12PM", "max_weight": null, "name": "PurolatorExpressBox12PM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope 12PM", "max_weight": null, "name": "PurolatorExpressEnvelope12PM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express 10:30AM", "max_weight": null, "name": "PurolatorExpress1030AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express 9AM", "max_weight": null, "name": "PurolatorExpress9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box", "max_weight": null, "name": "PurolatorExpressBox"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box 10:30AM", "max_weight": null, "name": "PurolatorExpressBox1030AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box 9AM", "max_weight": null, "name": "PurolatorExpressBox9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box Evening", "max_weight": null, "name": "PurolatorExpressBoxEvening"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box International", "max_weight": null, "name": "PurolatorExpressBoxInternational"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box US", "max_weight": null, "name": "PurolatorExpressBoxUS"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope", "max_weight": null, "name": "PurolatorExpressEnvelope"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope 10:30AM", "max_weight": null, "name": "PurolatorExpressEnvelope1030AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope 9AM", "max_weight": null, "name": "PurolatorExpressEnvelope9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope Evening", "max_weight": null, "name": "PurolatorExpressEnvelopeEvening"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope International", "max_weight": null, "name": "PurolatorExpressEnvelopeInternational"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope US", "max_weight": null, "name": "PurolatorExpressEnvelopeUS"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Evening", "max_weight": null, "name": "PurolatorExpressEvening"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express International", "max_weight": null, "name": "PurolatorExpressInternational"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express International 10:30AM", "max_weight": null, "name": "PurolatorExpressInternational1030AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express International 12:00", "max_weight": null, "name": "PurolatorExpressInternational1200"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express International 9AM", "max_weight": null, "name": "PurolatorExpressInternational9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box International 10:30AM", "max_weight": null, "name": - "PurolatorExpressBoxInternational1030AM"}, {"carrier": "purolator", "description": - null, "dimensions": [], "human_readable": "Purolator Express Box International - 12:00", "max_weight": null, "name": "PurolatorExpressBoxInternational1200"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box International 9AM", "max_weight": null, "name": "PurolatorExpressBoxInternational9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope International 10:30AM", "max_weight": null, "name": - "PurolatorExpressEnvelopeInternational1030AM"}, {"carrier": "purolator", "description": - null, "dimensions": [], "human_readable": "Purolator Express Envelope International - 12:00", "max_weight": null, "name": "PurolatorExpressEnvelopeInternational1200"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope International 9AM", "max_weight": null, "name": - "PurolatorExpressEnvelopeInternational9AM"}, {"carrier": "purolator", "description": - null, "dimensions": [], "human_readable": "Purolator Express Pack International - 10:30AM", "max_weight": null, "name": "PurolatorExpressPackInternational1030AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack International 12:00", "max_weight": null, "name": - "PurolatorExpressPackInternational1200"}, {"carrier": "purolator", "description": - null, "dimensions": [], "human_readable": "Purolator Express Pack International - 9AM", "max_weight": null, "name": "PurolatorExpressPackInternational9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack", "max_weight": null, "name": "PurolatorExpressPack"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack 10:30AM", "max_weight": null, "name": "PurolatorExpressPack1030AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack 9AM", "max_weight": null, "name": "PurolatorExpressPack9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack Evening", "max_weight": null, "name": "PurolatorExpressPackEvening"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack International", "max_weight": null, "name": "PurolatorExpressPackInternational"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack US", "max_weight": null, "name": "PurolatorExpressPackUS"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express US", "max_weight": null, "name": "PurolatorExpressUS"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express US 10:30AM", "max_weight": null, "name": "PurolatorExpressUS1030AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express US 12:00", "max_weight": null, "name": "PurolatorExpressUS1200"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express US 9AM", "max_weight": null, "name": "PurolatorExpressUS9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box US 10:30AM", "max_weight": null, "name": "PurolatorExpressBoxUS1030AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box US 12:00", "max_weight": null, "name": "PurolatorExpressBoxUS1200"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Box US 9AM", "max_weight": null, "name": "PurolatorExpressBoxUS9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope US 10:30AM", "max_weight": null, "name": "PurolatorExpressEnvelopeUS1030AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope US 12:00", "max_weight": null, "name": "PurolatorExpressEnvelopeUS1200"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Envelope US 9AM", "max_weight": null, "name": "PurolatorExpressEnvelopeUS9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack US 10:30AM", "max_weight": null, "name": "PurolatorExpressPackUS1030AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack US 12:00", "max_weight": null, "name": "PurolatorExpressPackUS1200"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Express Pack US 9AM", "max_weight": null, "name": "PurolatorExpressPackUS9AM"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Ground", "max_weight": null, "name": "PurolatorGround"}, {"carrier": - "purolator", "description": null, "dimensions": [], "human_readable": "Purolator - Ground 10:30AM", "max_weight": null, "name": "PurolatorGround1030AM"}, {"carrier": - "purolator", "description": null, "dimensions": [], "human_readable": "Purolator - Ground 9AM", "max_weight": null, "name": "PurolatorGround9AM"}, {"carrier": - "purolator", "description": null, "dimensions": [], "human_readable": "Purolator - Ground 12PM", "max_weight": null, "name": "PurolatorGround12PM"}, {"carrier": - "purolator", "description": null, "dimensions": [], "human_readable": "Purolator - Ground Distribution", "max_weight": null, "name": "PurolatorGroundDistribution"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Ground Evening", "max_weight": null, "name": "PurolatorGroundEvening"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Ground US", "max_weight": null, "name": "PurolatorGroundUS"}, {"carrier": - "purolator", "description": null, "dimensions": [], "human_readable": "Purolator - Quick Ship", "max_weight": null, "name": "PurolatorQuickShip"}, {"carrier": - "purolator", "description": null, "dimensions": [], "human_readable": "Purolator - Quick Ship Envelope", "max_weight": null, "name": "PurolatorQuickShipEnvelope"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Quick Ship Pack", "max_weight": null, "name": "PurolatorQuickShipPack"}, - {"carrier": "purolator", "description": null, "dimensions": [], "human_readable": - "Purolator Quick Ship Box", "max_weight": null, "name": "PurolatorQuickShipBox"}], - "shipment_options": [], "supported_features": [{"carrier": "purolator", "description": - null, "name": "bill_on_delivery", "supported": true}, {"carrier": "purolator", - "description": null, "name": "commercial_invoices", "supported": true}, {"carrier": - "purolator", "description": null, "name": "labels", "supported": true}, {"carrier": - "purolator", "description": null, "name": "orders", "supported": true}, {"carrier": - "purolator", "description": null, "name": "pickups", "supported": true}, {"carrier": - "purolator", "description": null, "name": "rating", "supported": true}, {"carrier": - "purolator", "description": "Purolator bills at the end of the day for all - labels created that day. You cannot refund a label after the end of the day - it was created.", "name": "refunds", "supported": true}, {"carrier": "purolator", - "description": null, "name": "returns", "supported": true}, {"carrier": "purolator", - "description": null, "name": "scanforms", "supported": true}, {"carrier": - "purolator", "description": null, "name": "sort_codes", "supported": false}, - {"carrier": "purolator", "description": null, "name": "test_environment", - "supported": true}]}, {"human_readable": "Quick", "name": "quick", "predefined_packages": - [], "service_levels": [{"carrier": "quick", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Routed"}], "shipment_options": - [], "supported_features": []}, {"human_readable": "Rover", "name": "rover", - "predefined_packages": [], "service_levels": [{"carrier": "rover", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "WeSh-Vape"}], "shipment_options": [], "supported_features": []}, {"human_readable": - "Royal Mail", "name": "royalmail", "predefined_packages": [{"carrier": "royalmail", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "LARGELETTER"}, {"carrier": "royalmail", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "SMALLPARCEL"}, - {"carrier": "royalmail", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "MEDIUMPARCEL"}, {"carrier": "royalmail", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "LETTER"}, {"carrier": "royalmail", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "PRINTEDPAPER"}], - "service_levels": [{"carrier": "royalmail", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "InternationalPriority"}, - {"carrier": "royalmail", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "InternationalEconomy"}, {"carrier": "royalmail", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "InternationalStandard"}, {"carrier": "royalmail", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InternationalTrackedAndSigned"}, {"carrier": "royalmail", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "InternationalTracked"}, {"carrier": "royalmail", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "InternationalSigned"}, - {"carrier": "royalmail", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "AccountMail"}, {"carrier": "royalmail", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "RoyalMailUnsigned"}, {"carrier": "royalmail", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "RoyalMail"}, {"carrier": "royalmail", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "SpecialDeliveryGuaranteed"}, - {"carrier": "royalmail", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "SpecialDeliveryGuaranteed1pm"}, {"carrier": - "royalmail", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "SpecialDeliveryGuaranteed9am"}, {"carrier": "royalmail", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "StandardLetter"}, {"carrier": "royalmail", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "Tracked24"}, - {"carrier": "royalmail", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Tracked24HighVolume"}, {"carrier": "royalmail", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Tracked24HighVolumeSignature"}, {"carrier": "royalmail", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Tracked24LBT"}, {"carrier": "royalmail", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Tracked24SignatureLBT"}, - {"carrier": "royalmail", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Tracked48LBT"}, {"carrier": "royalmail", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Tracked48SignatureLBT"}, {"carrier": "royalmail", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Tracked24Signature"}, {"carrier": "royalmail", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Tracked48"}, {"carrier": - "royalmail", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "Tracked48HighVolume"}, {"carrier": "royalmail", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Tracked48HighVolumeSignature"}, {"carrier": "royalmail", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Tracked48Signature"}, {"carrier": "royalmail", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "TrackedReturns24"}, - {"carrier": "royalmail", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "TrackedReturns48"}, {"carrier": "royalmail", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "CrossBorderImportTracked48HighVolume"}], "shipment_options": - [{"carrier": "royalmail", "deprecated": false, "description": null, "human_readable": - "Carrier Insurance Amount", "name": "carrier_insurance_amount", "type": "float"}, - {"carrier": "royalmail", "deprecated": false, "description": null, "human_readable": - "Carrier Notification Email", "name": "carrier_notification_email", "type": - "boolean"}, {"carrier": "royalmail", "deprecated": false, "description": null, - "human_readable": "Carrier Notification Sms", "name": "carrier_notification_sms", - "type": "boolean"}, {"carrier": "royalmail", "deprecated": true, "description": - null, "human_readable": "Date Advance", "name": "date_advance", "type": "integer"}, - {"carrier": "royalmail", "deprecated": true, "description": null, "human_readable": - "Delivered Duty Paid", "name": "delivered_duty_paid", "type": "boolean"}, - {"carrier": "royalmail", "deprecated": false, "description": null, "human_readable": - "Delivery Confirmation", "name": "delivery_confirmation", "type": "string"}, - {"carrier": "royalmail", "deprecated": false, "description": null, "human_readable": - "Handling Instructions", "name": "handling_instructions", "type": "string"}, - {"carrier": "royalmail", "deprecated": false, "description": null, "human_readable": - "Import Federal Tax Id", "name": "import_federal_tax_id", "type": "string"}, - {"carrier": "royalmail", "deprecated": false, "description": null, "human_readable": - "Incoterm", "name": "incoterm", "type": "enum"}, {"carrier": "royalmail", - "deprecated": false, "description": null, "human_readable": "Invoice Number", - "name": "invoice_number", "type": "string"}, {"carrier": "royalmail", "deprecated": - false, "description": null, "human_readable": "Label Date", "name": "label_date", - "type": "datetime"}, {"carrier": "royalmail", "deprecated": false, "description": - null, "human_readable": "Label Format", "name": "label_format", "type": "string"}, - {"carrier": "royalmail", "deprecated": false, "description": null, "human_readable": - "License Number", "name": "license_number", "type": "string"}, {"carrier": - "royalmail", "deprecated": true, "description": null, "human_readable": "Print - Custom 1", "name": "print_custom_1", "type": "string"}, {"carrier": "royalmail", - "deprecated": true, "description": null, "human_readable": "Print Custom 2", - "name": "print_custom_2", "type": "string"}, {"carrier": "royalmail", "deprecated": - false, "description": null, "human_readable": "Saturday Delivery", "name": - "saturday_delivery", "type": "boolean"}], "supported_features": [{"carrier": - "royalmail", "description": null, "name": "bill_on_delivery", "supported": - false}, {"carrier": "royalmail", "description": null, "name": "bill_on_label_purchase", - "supported": false}, {"carrier": "royalmail", "description": null, "name": - "bill_on_manifest", "supported": true}, {"carrier": "royalmail", "description": - null, "name": "bill_on_scan", "supported": false}, {"carrier": "royalmail", - "description": null, "name": "commercial_invoices", "supported": false}, {"carrier": - "royalmail", "description": null, "name": "delivers_to_po_box", "supported": - true}, {"carrier": "royalmail", "description": null, "name": "labels", "supported": - true}, {"carrier": "royalmail", "description": null, "name": "orders", "supported": - false}, {"carrier": "royalmail", "description": null, "name": "pickups", "supported": - false}, {"carrier": "royalmail", "description": null, "name": "rating", "supported": - true}, {"carrier": "royalmail", "description": null, "name": "refunds", "supported": - true}, {"carrier": "royalmail", "description": null, "name": "returns", "supported": - true}, {"carrier": "royalmail", "description": null, "name": "scanforms", - "supported": true}, {"carrier": "royalmail", "description": null, "name": - "sort_codes", "supported": true}, {"carrier": "royalmail", "description": - null, "name": "test_environment", "supported": true}]}, {"human_readable": - "RoyalMailV3", "name": "royalmailv3", "predefined_packages": [{"carrier": - "royalmailv3", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "LargeLetter"}, {"carrier": "royalmailv3", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Letter"}, {"carrier": "royalmailv3", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "Parcel"}, {"carrier": - "royalmailv3", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "PrintedPapers"}], "service_levels": [{"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, - Combined < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": - "DEImportRoyalMail24PlusParcelsWeekendService"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], "human_readable": - null, "max_weight": 26.46, "name": "DEImportStandard24LargeLetter"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], - "human_readable": null, "max_weight": 26.46, "name": "DEImportStandard24LargeLetterWeekendService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "DEImportStandard24Parcel"}, {"carrier": "royalmailv3", "description": - null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined < 40.94in"], "human_readable": - null, "max_weight": 1058.2, "name": "DEImportStandard24ParcelWeekendService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 26.46, "name": "DEImportStandard48LargeLetter"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 26.46, "name": "DEImportStandard48LargeLetterWeekendService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 35.27, "name": "DEImportTracked24ParcelBoxableHighVolumeWeekendService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 35.27, "name": "DEImportTracked24ParcelBoxableWeekendService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "DEImportTracked24ParcelHighVolumeWeekendService"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, - Combined < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": - "DEImportTracked24SignatureParcelHighVolumeWeekendServiceAGE"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], - "human_readable": null, "max_weight": 35.27, "name": "DEImportTracked48ParcelBoxableHighVolumeWeekendService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 35.27, "name": "DEImportTracked48ParcelBoxableWeekendService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "DEImportTracked48ParcelHighVolumeWeekendService"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, - Combined < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": - "DEImportTracked48SignatureParcelHighVolumeAGE"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": "DEImportTracked48SignatureParcelHighVolumeWeekendServiceAGE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "DEImporttoEUMaxSortLargeLetter"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "DEImporttoEUMaxSortParcel"}, {"carrier": "royalmailv3", "description": - null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined < 40.94in"], "human_readable": - null, "max_weight": 176.37, "name": "DEImporttoEUSignedParcel"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in x 0.98in"], - "human_readable": null, "max_weight": 17.64, "name": "DEImporttoEUTrackedHighVolLargeLetter"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "DEImporttoEUTrackedParcel"}, {"carrier": "royalmailv3", "description": - null, "dimensions": ["15.0in x 12.01in x 0.98in"], "human_readable": null, - "max_weight": 17.64, "name": "DEImporttoEUTrackedSignedLargeLetter"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, - Combined < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": - "DEImporttoEUTrackedSignedParcel"}, {"carrier": "royalmailv3", "description": - null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined < 40.94in"], "human_readable": - null, "max_weight": 70.55, "name": "HMForcesMail"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 70.55, "name": "HMForcesSignedFor"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "HMForcesSpecialDelivery1000"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 70.55, "name": "HMForcesSpecialDelivery2500"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "HMForcesSpecialDelivery500"}, {"carrier": "royalmailv3", "description": - null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined < 40.94in"], "human_readable": - null, "max_weight": 1058.2, "name": "ImportDETracked24"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": "ImportDETracked24HighVolume"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 35.27, "name": "ImportDETracked24Letterboxable"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 35.27, "name": "ImportDETracked24LetterboxableHighVolume"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "ImportDETracked24SignatureHighVolumeAGE"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": "ImportDETracked24SignatureStandardAGE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "ImportDETracked48"}, {"carrier": "royalmailv3", "description": - null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined < 40.94in"], "human_readable": - null, "max_weight": 1058.2, "name": "ImportDETracked48HighVolume"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], - "human_readable": null, "max_weight": 35.27, "name": "ImportDETracked48Letterboxable"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 35.27, "name": "ImportDETracked48LetterboxableHighVolume"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "ImportDETrackedReturns24"}, {"carrier": "royalmailv3", "description": - null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined < 40.94in"], "human_readable": - null, "max_weight": 705.47, "name": "ImportDETrackedReturns48"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in x 0.98in"], - "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterCountryPricedPriority"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterCountryPricedPriorityETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterCountrySortPriority"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterMaxSortPriorityService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterMaxSortResidueStandard"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterMaxSortStandardService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterSemiTracked"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterZeroSortPriority"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterZeroSortPriorityMachine"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterZoneSortPriority"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailLargeLetterZoneSortPriorityMachine"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessMailLetterMaxSortResidueStandard"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessMailLettersMaxSortStandard"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessMailLettersZeroSortPriority"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessMailLettersZoneSortPriority"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailSignedCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailSignedExtraCompensationCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessMailSignedHighVolCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailSignedZoneSort"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailTrackedCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessMailTrackedHighVolCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailTrackedHighVolExtraCompCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailTrackedLargeLetterCountryPricedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailTrackedSignedCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessMailTrackedSignedHighVolCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailTrackedSignedHighVolExtraCompCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailTrackedSignedLargeLetterCountryPricedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailTrackedSignedZoneSort"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessMailTrackedZoneSort"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessPCTrackedSignedLargeLetterHVExtraCompCountryPricedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 1.18in"], "human_readable": null, "max_weight": 70.55, "name": "InternationalBusinessParcelPriorityCountryPricedBoxable"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 1.18in"], "human_readable": null, "max_weight": 70.55, "name": "InternationalBusinessParcelPriorityCountryPricedBoxableDDP"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessParcelTrackedCountryPriced"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in x 1.18in"], - "human_readable": null, "max_weight": 70.55, "name": "InternationalBusinessParcelTrackedCountryPricedBoxable"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 1.18in"], "human_readable": null, "max_weight": 70.55, "name": "InternationalBusinessParcelTrackedCountryPricedBoxableDDP"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 1.18in"], "human_readable": null, "max_weight": 70.55, "name": "InternationalBusinessParcelTrackedCountryPricedBoxableExtraComp"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessParcels"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 388.01, "name": "InternationalBusinessParcelsPrintDirectPriority"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 388.01, "name": "InternationalBusinessParcelsPrintDirectStandard"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, - Combined < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": - "InternationalBusinessParcelsSignedCountryPriced"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": "InternationalBusinessParcelsSignedExtraCompensationCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessParcelsSignedExtraCompensationZoneSort"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessParcelsSignedZoneSort"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, - Combined < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": - "InternationalBusinessParcelsTrackedCountryPriced"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": "InternationalBusinessParcelsTrackedCountryPricedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessParcelsTrackedDirectIrelandCountry"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessParcelsTrackedExtraCompCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessParcelsTrackedExtraCompZoneSort"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, - Combined < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": - "InternationalBusinessParcelsTrackedSignedCountryPriced"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": "InternationalBusinessParcelsTrackedSignedCountryPricedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessParcelsTrackedSignedDDP"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, - Combined < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": - "InternationalBusinessParcelsTrackedSignedExtraCompensationCountryPriced"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessParcelsTrackedSignedExtraCompensationZoneSort"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessParcelsTrackedSignedZoneSort"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, - Combined < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": - "InternationalBusinessParcelsTrackedZoneSort"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 70.55, "name": "InternationalBusinessParcelsZeroSortPriority"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "InternationalBusinessParcelsZeroSortPriorityETOE"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, - Combined < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": - "InternationalBusinessParcelsZoneSortPriorityService"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["15.0in x 12.01in x 0.98in"], "human_readable": - null, "max_weight": 17.64, "name": "InternationalBusinessPersonalCorrespondenceLargeLetterCountrySortPriorityETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessPersonalCorrespondenceLetterPriorityUntracked"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessPersonalCorrespondenceLetterPriorityUntrackedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessPersonalCorrespondenceLetterTrackedHighVolCountryPricedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessPersonalCorrespondenceLetterTrackedSignedHighVolCountryPricedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessPersonalCorrespondenceMaxSortLetter"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessPersonalCorrespondenceMaxSortResidueLargeLetter"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessPersonalCorrespondenceMaxSortResidueLetter"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessPersonalCorrespondenceSignedLargeLetterExtraCompensationCountryPricedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["9.65in x 6.5in - x 0.2in"], "human_readable": null, "max_weight": 3.53, "name": "InternationalBusinessPersonalCorrespondenceSignedLetterHighVolCountryPricedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["15.0in x 12.01in - x 0.98in"], "human_readable": null, "max_weight": 17.64, "name": "InternationalBusinessPersonalCorrespondenceTrackedLargeLetterHighVolExtraCompCountryPricedETOE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["23.62in x - 23.62in x 23.62in, Combined < 35.43in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalBusinessPrintedMatterPacket"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": "InternationalBusinessTrackedExpressNPC"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalEconomyOnAccount"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": "InternationalSignedOnAccount"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalSignedOnAccountExtraComp"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": "InternationalStandardOnAccount"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalTrackedOnAccount"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 176.37, "name": "InternationalTrackedOnAccountExtraComp"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "InternationalTrackedParcels30kg"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": "InternationalTrackedParcels30kgCPrio"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "InternationalTrackedParcels30kgETOEC"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": "InternationalTrackedParcels30kgETOEE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "InternationalTrackedParcels30kgExtraComp"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined - < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": "InternationalTrackedParcels30kgExtraCompETOEC"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "InternationalTrackedParcels30kgExtraCompETOEE"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 23.62in x 23.62in, - Combined < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": - "InternationalTrackedParcels30kgXCompCPrio"}, {"carrier": "royalmailv3", "description": - null, "dimensions": ["35.43in x 23.62in x 23.62in, Combined < 40.94in"], "human_readable": - null, "max_weight": 176.37, "name": "InternationalTrackedSignedOnAccount"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 23.62in x 23.62in, Combined < 40.94in"], "human_readable": null, "max_weight": - 176.37, "name": "InternationalTrackedSignedOnAccountExtraComp"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, - Combined < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": - "ParcelpostFlatRateAnnual"}, {"carrier": "royalmailv3", "description": null, - "dimensions": ["13.9in x 9.84in x 0.98in"], "human_readable": null, "max_weight": - 26.46, "name": "RM24LargeLetterAnnualFlatRate"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], "human_readable": - null, "max_weight": 26.46, "name": "RM24PresortedLargeLetterAnnualFlatRate"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "RM24PresortedParcelsAnnualFlatRate"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], "human_readable": - null, "max_weight": 26.46, "name": "RM48LargeLetterAnnualFlatRate"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], - "human_readable": null, "max_weight": 26.46, "name": "RM48PresortedLargeLetterAnnualFlatRate"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "RM48PresortedParcelsAnnualFlatRate"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["24.02in x 18.11in x 18.11in"], "human_readable": - null, "max_weight": 705.47, "name": "RoyalMail1stClass"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "RoyalMail1stClassLettersDailyRateservice"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["24.02in x - 18.11in x 18.11in"], "human_readable": null, "max_weight": 705.47, "name": - "RoyalMail1stClassSignedFor"}, {"carrier": "royalmailv3", "description": null, - "dimensions": ["13.9in x 9.84in x 0.98in"], "human_readable": null, "max_weight": - 26.46, "name": "RoyalMail24LargeLetterDailyRate"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], "human_readable": - null, "max_weight": 26.46, "name": "RoyalMail24LargeLetterFlatRate"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], - "human_readable": null, "max_weight": 26.46, "name": "RoyalMail24LargeLetterFlatRateService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "RoyalMail24PacketpostFlatRateService"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "RoyalMail24ParcelDailyRateService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "RoyalMail24ParcelSort8DailyRateService"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "RoyalMail24ParcelSort8FlatRateService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "RoyalMail24ParcelsDailyRate"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "RoyalMail24ParcelsFlatRate"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 26.46, "name": "RoyalMail24PresortedLargeLetter"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "RoyalMail24PresortedParcels"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], "human_readable": - null, "max_weight": 26.46, "name": "RoyalMail24SORT8LargeLetterAnnualFlatRate"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "RoyalMail24SORT8ParcelsAnnualFlatRate"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["24.02in x 18.11in x 18.11in"], "human_readable": - null, "max_weight": 705.47, "name": "RoyalMail2ndClass"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 35.27, "name": "RoyalMail2ndClassLettersDailyRateservice"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["24.02in x - 18.11in x 18.11in"], "human_readable": null, "max_weight": 705.47, "name": - "RoyalMail2ndClassSignedFor"}, {"carrier": "royalmailv3", "description": null, - "dimensions": ["13.9in x 9.84in x 0.98in"], "human_readable": null, "max_weight": - 26.46, "name": "RoyalMail48LargeLetterDailyRate"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], "human_readable": - null, "max_weight": 26.46, "name": "RoyalMail48LargeLetterFlatRate"}, {"carrier": - "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], - "human_readable": null, "max_weight": 26.46, "name": "RoyalMail48LargeLetterFlatRateService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "RoyalMail48PacketpostFlatRateService"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 70.55, "name": "RoyalMail48ParcelDailyRateService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "RoyalMail48ParcelSort8DailyRateService"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 70.55, "name": "RoyalMail48ParcelSort8FlatRateService"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "RoyalMail48ParcelsDailyRate"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 70.55, "name": "RoyalMail48ParcelsFlatRate"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 26.46, "name": "RoyalMail48PresortedLargeLetter"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "RoyalMail48PresortedParcels"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["13.9in x 9.84in x 0.98in"], "human_readable": - null, "max_weight": 26.46, "name": "RoyalMail48SORT8LargeLetterAnnualFlatRate"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "RoyalMail48Sort8ParcelsAnnualFlatRate"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "SpecialDeliveryGuaranteed1000"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "SpecialDeliveryGuaranteed2500"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "SpecialDeliveryGuaranteed750"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "SpecialDeliveryGuaranteedAGE1000"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "SpecialDeliveryGuaranteedAGE2500"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "SpecialDeliveryGuaranteedAGE750"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "SpecialDeliveryGuaranteedBy1PM1000"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "SpecialDeliveryGuaranteedBy1PM2500"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "SpecialDeliveryGuaranteedBy1PM750"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "SpecialDeliveryGuaranteedBy1PMAGE1000"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "SpecialDeliveryGuaranteedBy1PMAGE2500"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "SpecialDeliveryGuaranteedBy1PMAGE750"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "SpecialDeliveryGuaranteedBy1PMID1000"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "SpecialDeliveryGuaranteedBy1PMID2500"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "SpecialDeliveryGuaranteedBy1PMID750"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "SpecialDeliveryGuaranteedBy9AM1000"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 70.55, "name": "SpecialDeliveryGuaranteedBy9AM2500"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "SpecialDeliveryGuaranteedBy9AM750"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 70.55, "name": "SpecialDeliveryGuaranteedBy9AMAGE1000"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "SpecialDeliveryGuaranteedBy9AMAGE2500"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 70.55, "name": "SpecialDeliveryGuaranteedBy9AMAGE750"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "SpecialDeliveryGuaranteedBy9AMID1000"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 70.55, "name": "SpecialDeliveryGuaranteedBy9AMID2500"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 70.55, "name": "SpecialDeliveryGuaranteedBy9AMID750"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "SpecialDeliveryGuaranteedID1000"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "SpecialDeliveryGuaranteedID2500"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 705.47, "name": "SpecialDeliveryGuaranteedID750"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "Tracked24"}, {"carrier": "royalmailv3", "description": null, - "dimensions": ["35.43in x 18.11in x 18.11in, Combined < 40.94in"], "human_readable": - null, "max_weight": 1058.2, "name": "Tracked24HighVolume"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": "Tracked24HighVolumeSignatureAGE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "Tracked24SignatureAGE"}, {"carrier": "royalmailv3", "description": - null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined < 40.94in"], "human_readable": - null, "max_weight": 1058.2, "name": "Tracked48"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": "Tracked48HighVolume"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 1058.2, "name": "Tracked48HighVolumeSignatureAGE"}, {"carrier": "royalmailv3", - "description": null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined - < 40.94in"], "human_readable": null, "max_weight": 1058.2, "name": "Tracked48SignatureAGE"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 35.27, "name": "TrackedLetterBoxable24"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 35.27, "name": "TrackedLetterBoxable24HighVolume"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 35.27, "name": "TrackedLetterBoxable48"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["13.9in x 9.84in - x 0.98in"], "human_readable": null, "max_weight": 35.27, "name": "TrackedLetterBoxable48HighVolume"}, - {"carrier": "royalmailv3", "description": null, "dimensions": ["35.43in x - 18.11in x 18.11in, Combined < 40.94in"], "human_readable": null, "max_weight": - 705.47, "name": "TrackedReturns24"}, {"carrier": "royalmailv3", "description": - null, "dimensions": ["35.43in x 18.11in x 18.11in, Combined < 40.94in"], "human_readable": - null, "max_weight": 705.47, "name": "TrackedReturns48"}], "shipment_options": - [], "supported_features": [{"carrier": "royalmailv3", "description": null, - "name": "commercial_invoices", "supported": null}, {"carrier": "royalmailv3", - "description": null, "name": "labels", "supported": null}, {"carrier": "royalmailv3", - "description": null, "name": "rating", "supported": true}, {"carrier": "royalmailv3", - "description": null, "name": "refunds", "supported": null}, {"carrier": "royalmailv3", - "description": null, "name": "returns", "supported": null}, {"carrier": "royalmailv3", - "description": null, "name": "scanforms", "supported": null}, {"carrier": - "royalmailv3", "description": null, "name": "test_environment", "supported": - null}]}, {"human_readable": "SEKO OmniParcel", "name": "sekoomniparcel", "predefined_packages": - [{"carrier": "sekoomniparcel", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Bag"}, {"carrier": "sekoomniparcel", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Box"}, {"carrier": "sekoomniparcel", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "Carton"}, {"carrier": - "sekoomniparcel", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Container"}, {"carrier": "sekoomniparcel", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Crate"}, {"carrier": "sekoomniparcel", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "Envelope"}, - {"carrier": "sekoomniparcel", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Pail"}, {"carrier": "sekoomniparcel", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Pallet"}, {"carrier": "sekoomniparcel", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Satchel"}, {"carrier": - "sekoomniparcel", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Tub"}], "service_levels": [{"carrier": - "sekoomniparcel", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Ecommerce Standard Tracked"}, {"carrier": - "sekoomniparcel", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Ecommerce Express Tracked"}, {"carrier": - "sekoomniparcel", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "Domestic Express"}, {"carrier": "sekoomniparcel", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "Domestic Standard"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "Sendle", "name": "sendle", "predefined_packages": - [], "service_levels": [{"carrier": "sendle", "description": null, "dimensions": - [], "human_readable": "Standard", "max_weight": null, "name": "Standard"}, - {"carrier": "sendle", "description": null, "dimensions": [], "human_readable": - "Express", "max_weight": null, "name": "Express"}, {"carrier": "sendle", "description": - null, "dimensions": [], "human_readable": "Saver", "max_weight": null, "name": - "Saver"}, {"carrier": "sendle", "description": null, "dimensions": [], "human_readable": - "Two-Day", "max_weight": null, "name": "Two-Day"}, {"carrier": "sendle", "description": - null, "dimensions": [], "human_readable": "Three-Day", "max_weight": null, - "name": "Three-Day"}], "shipment_options": [], "supported_features": []}, - {"human_readable": "SF Express", "name": "sfexpress", "predefined_packages": - [], "service_levels": [{"carrier": "sfexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "InternationalStandardExpressDoc"}, - {"carrier": "sfexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "InternationalStandardExpressParcel"}, {"carrier": - "sfexpress", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "InternationalEconomyExpressPilot"}, {"carrier": - "sfexpress", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "InternationalEconomyExpressDoc"}, {"carrier": - "sfexpress", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "InternationalEconomyExpressParcel"}, {"carrier": - "sfexpress", "description": null, "dimensions": [], "human_readable": null, - "max_weight": null, "name": "DomesticExpress"}, {"carrier": "sfexpress", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "DomesticStandard"}, {"carrier": "sfexpress", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "DomesticIntraCity"}, - {"carrier": "sfexpress", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "StandardExpress"}, {"carrier": "sfexpress", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "EconomyExpress"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "SmartKargo", "name": "smartkargo", "predefined_packages": - [], "service_levels": [{"carrier": "smartkargo", "description": "Expedited - Product, 2 business days", "dimensions": null, "human_readable": "Expedited - Product, 2 business days", "max_weight": null, "name": "EPR"}, {"carrier": - "smartkargo", "description": "eCommerce Express", "dimensions": null, "human_readable": - "eCommerce Express", "max_weight": null, "name": "EXP"}, {"carrier": "smartkargo", - "description": "eCommerce Standard", "dimensions": null, "human_readable": - "eCommerce Standard", "max_weight": null, "name": "EST"}, {"carrier": "smartkargo", - "description": "eCommerce Postal Standard", "dimensions": null, "human_readable": - "eCommerce Postal Standard", "max_weight": null, "name": "EPS"}], "shipment_options": - [], "supported_features": [{"carrier": "smartkargo", "description": null, - "name": "labels", "supported": null}, {"carrier": "smartkargo", "description": - null, "name": "rating", "supported": true}, {"carrier": "smartkargo", "description": - null, "name": "refunds", "supported": null}, {"carrier": "smartkargo", "description": - null, "name": "test_environment", "supported": null}]}, {"human_readable": - "Sonic", "name": "sonic", "predefined_packages": [], "service_levels": [{"carrier": - "sonic", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "SAMEDAY"}], "shipment_options": [], "supported_features": [{"carrier": - "sonic", "description": null, "name": "bill_on_delivery", "supported": true}, - {"carrier": "sonic", "description": null, "name": "bill_on_label_purchase", - "supported": false}, {"carrier": "sonic", "description": null, "name": "bill_on_manifest", - "supported": false}, {"carrier": "sonic", "description": null, "name": "bill_on_scan", - "supported": false}, {"carrier": "sonic", "description": null, "name": "commercial_invoices", - "supported": false}, {"carrier": "sonic", "description": null, "name": "labels", - "supported": true}, {"carrier": "sonic", "description": null, "name": "orders", - "supported": false}, {"carrier": "sonic", "description": null, "name": "pickups", - "supported": false}, {"carrier": "sonic", "description": null, "name": "rating", - "supported": true}, {"carrier": "sonic", "description": null, "name": "refunds", - "supported": true}, {"carrier": "sonic", "description": null, "name": "returns", - "supported": false}, {"carrier": "sonic", "description": null, "name": "scanforms", - "supported": false}, {"carrier": "sonic", "description": null, "name": "sort_codes", - "supported": false}, {"carrier": "sonic", "description": null, "name": "test_environment", - "supported": false}]}, {"human_readable": "Spee-Dee", "name": "speedee", "predefined_packages": - [], "service_levels": [{"carrier": "speedee", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "SpeeDeeDelivery"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "SpeedX", - "name": "speedx", "predefined_packages": [], "service_levels": [{"carrier": - "speedx", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "DGD"}, {"carrier": "speedx", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "D2A"}, {"carrier": - "speedx", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "DZS"}], "shipment_options": [], "supported_features": [{"carrier": - "speedx", "description": null, "name": "labels", "supported": null}, {"carrier": - "speedx", "description": null, "name": "rating", "supported": true}, {"carrier": - "speedx", "description": null, "name": "refunds", "supported": null}]}, {"human_readable": - "Sway", "name": "sway", "predefined_packages": [], "service_levels": [{"carrier": - "sway", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "SAMEDAY"}, {"carrier": "sway", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "EXPEDITED"}], "shipment_options": - [], "supported_features": [{"carrier": "sway", "description": null, "name": - "labels", "supported": null}, {"carrier": "sway", "description": null, "name": - "rating", "supported": true}, {"carrier": "sway", "description": null, "name": - "refunds", "supported": null}, {"carrier": "sway", "description": null, "name": - "test_environment", "supported": null}]}, {"human_readable": "Swyft", "name": - "swyft", "predefined_packages": [], "service_levels": [{"carrier": "swyft", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "NEXTDAY"}, {"carrier": "swyft", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "SAMEDAY"}], "shipment_options": - [], "supported_features": [{"carrier": "swyft", "description": null, "name": - "bill_on_delivery", "supported": true}, {"carrier": "swyft", "description": - null, "name": "bill_on_label_purchase", "supported": false}, {"carrier": "swyft", - "description": null, "name": "bill_on_manifest", "supported": false}, {"carrier": - "swyft", "description": null, "name": "bill_on_scan", "supported": false}, - {"carrier": "swyft", "description": null, "name": "commercial_invoices", "supported": - false}, {"carrier": "swyft", "description": null, "name": "labels", "supported": - false}, {"carrier": "swyft", "description": null, "name": "orders", "supported": - false}, {"carrier": "swyft", "description": null, "name": "pickups", "supported": - false}, {"carrier": "swyft", "description": null, "name": "rating", "supported": - true}, {"carrier": "swyft", "description": null, "name": "refunds", "supported": - true}, {"carrier": "swyft", "description": null, "name": "returns", "supported": - false}, {"carrier": "swyft", "description": null, "name": "scanforms", "supported": - false}, {"carrier": "swyft", "description": null, "name": "sort_codes", "supported": - false}, {"carrier": "swyft", "description": null, "name": "test_environment", - "supported": false}]}, {"human_readable": "TCC", "name": "tcc", "predefined_packages": - [], "service_levels": [{"carrier": "tcc", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "Smith Drug Same Day"}], - "shipment_options": [], "supported_features": []}, {"human_readable": "TForce - Logistics", "name": "tforce", "predefined_packages": [], "service_levels": - [{"carrier": "tforce", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "NextDay"}, {"carrier": "tforce", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Return"}], "shipment_options": [], "supported_features": []}, {"human_readable": - "UDS", "name": "uds", "predefined_packages": [], "service_levels": [{"carrier": - "uds", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "DeliveryService"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "UPS", "name": "ups", "predefined_packages": [{"carrier": - "ups", "description": null, "dimensions": ["12.5in - 15in x 9.5in"], "human_readable": - null, "max_weight": 16.0, "name": "UPSLetter"}, {"carrier": "ups", "description": - null, "dimensions": ["12.5in x 3.75in x 18in"], "human_readable": null, "max_weight": - 480.0, "name": "UPSExpressBox"}, {"carrier": "ups", "description": null, "dimensions": - ["19.75in x 17.75in x 13.25in"], "human_readable": null, "max_weight": 880.0, - "name": "UPS25kgBox"}, {"carrier": "ups", "description": null, "dimensions": - ["16.5in x 13.25in x 10.75in"], "human_readable": null, "max_weight": 352.0, - "name": "UPS10kgBox"}, {"carrier": "ups", "description": "Triangular tube - for rolled papers", "dimensions": ["38in x 6in x 6in"], "human_readable": - null, "max_weight": null, "name": "Tube"}, {"carrier": "ups", "description": - null, "dimensions": ["16in x 12.75in"], "human_readable": null, "max_weight": - null, "name": "Pak"}, {"carrier": "ups", "description": null, "dimensions": - ["13in x 11in x 2in"], "human_readable": null, "max_weight": 480.0, "name": - "SmallExpressBox"}, {"carrier": "ups", "description": null, "dimensions": - ["16in x 11in x 3in"], "human_readable": null, "max_weight": 480.0, "name": - "MediumExpressBox"}, {"carrier": "ups", "description": null, "dimensions": - ["18in x 13in x 3in"], "human_readable": null, "max_weight": 480.0, "name": - "LargeExpressBox"}], "service_levels": [{"carrier": "ups", "description": - "1-5 Business Days", "dimensions": null, "human_readable": "UPS Ground", "max_weight": - null, "name": "Ground"}, {"carrier": "ups", "description": "1-5 Business Days", - "dimensions": null, "human_readable": "UPS Standard", "max_weight": null, - "name": "UPSStandard"}, {"carrier": "ups", "description": "Next Day to 4 Business - Days", "dimensions": null, "human_readable": "UPS Worldwide Saver", "max_weight": - null, "name": "UPSSaver"}, {"carrier": "ups", "description": "Next Day to - 3 Business Days", "dimensions": null, "human_readable": "UPS Worldwide Express", - "max_weight": null, "name": "Express"}, {"carrier": "ups", "description": - "Next Day to 2 Business Days", "dimensions": null, "human_readable": "UPS - Worldwide Express Plus", "max_weight": null, "name": "ExpressPlus"}, {"carrier": - "ups", "description": "3 to 5 Business Days", "dimensions": null, "human_readable": - "UPS Worldwide Expedited", "max_weight": null, "name": "Expedited"}, {"carrier": - "ups", "description": "Next Business Day by 10:30am", "dimensions": null, - "human_readable": "UPS Next Day Air", "max_weight": null, "name": "NextDayAir"}, - {"carrier": "ups", "description": "Next Business Day by 3:00pm", "dimensions": - null, "human_readable": "UPS Next Day Air Saver", "max_weight": null, "name": - "NextDayAirSaver"}, {"carrier": "ups", "description": "Next Business Days - by 8:00am", "dimensions": null, "human_readable": "UPS Next Day Air A.M.", - "max_weight": null, "name": "NextDayAirEarlyAM"}, {"carrier": "ups", "description": - "2 Business Days by end of day", "dimensions": null, "human_readable": "UPS - 2nd Day Air", "max_weight": null, "name": "2ndDayAir"}, {"carrier": "ups", - "description": null, "dimensions": null, "human_readable": null, "max_weight": - null, "name": "2ndDayAirAM"}, {"carrier": "ups", "description": "3 Business - Days by end of day", "dimensions": null, "human_readable": "UPS 3-Day Select", - "max_weight": null, "name": "3DaySelect"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "UPS iParcel", "name": "upsiparcel", "predefined_packages": - [], "service_levels": [], "shipment_options": [], "supported_features": []}, - {"human_readable": "UPS Mail Innovations", "name": "upsmailinnovations", "predefined_packages": - [], "service_levels": [{"carrier": "upsmailinnovations", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "BPMFlats"}, - {"carrier": "upsmailinnovations", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "BPMParcels"}, {"carrier": "upsmailinnovations", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "EconomyMailInnovations"}, {"carrier": "upsmailinnovations", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ExpeditedMailInnovations"}, {"carrier": "upsmailinnovations", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "First"}, {"carrier": "upsmailinnovations", "description": null, - "dimensions": [], "human_readable": null, "max_weight": null, "name": "MarketingParcels"}, - {"carrier": "upsmailinnovations", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "MediaMail"}, {"carrier": "upsmailinnovations", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "ParcelSelect"}, {"carrier": "upsmailinnovations", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "ParcelSelectLightweight-Irreg"}, {"carrier": "upsmailinnovations", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "Priority"}, {"carrier": "upsmailinnovations", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "PriorityMailInnovations"}, - {"carrier": "upsmailinnovations", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "SingleReturns"}, {"carrier": "upsmailinnovations", - "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "StandardFlats"}], "shipment_options": [], "supported_features": - []}, {"human_readable": "USPS", "name": "usps", "predefined_packages": [{"carrier": - "usps", "description": null, "dimensions": ["6in x 4.5in x 0.016in"], "human_readable": - null, "max_weight": null, "name": "Card"}, {"carrier": "usps", "description": - null, "dimensions": ["11.5in x 6.125in x 0.25in"], "human_readable": null, - "max_weight": null, "name": "Letter"}, {"carrier": "usps", "description": - null, "dimensions": ["11.5in x 6.125in x 0.75in"], "human_readable": null, - "max_weight": null, "name": "Flat"}, {"carrier": "usps", "description": null, - "dimensions": ["12.5in x 9.5in"], "human_readable": null, "max_weight": null, - "name": "FlatRateEnvelope"}, {"carrier": "usps", "description": null, "dimensions": - ["15in x 9.5in"], "human_readable": null, "max_weight": null, "name": "FlatRateLegalEnvelope"}, - {"carrier": "usps", "description": null, "dimensions": ["12.5in x 9.5in"], - "human_readable": null, "max_weight": null, "name": "FlatRatePaddedEnvelope"}, - {"carrier": "usps", "description": null, "dimensions": ["10in x 5in", "12.5in - x 9.5in"], "human_readable": null, "max_weight": null, "name": "FlatRateWindowEnvelope"}, - {"carrier": "usps", "description": null, "dimensions": ["12.5in x 9.5in"], - "human_readable": null, "max_weight": null, "name": "FlatRateCardboardEnvelope"}, - {"carrier": "usps", "description": null, "dimensions": ["10in x 6in"], "human_readable": - null, "max_weight": null, "name": "SmallFlatRateEnvelope"}, {"carrier": "usps", - "description": null, "dimensions": ["Varies based on service level"], "human_readable": - null, "max_weight": null, "name": "Parcel"}, {"carrier": "usps", "description": - null, "dimensions": ["Varies based on service level"], "human_readable": null, - "max_weight": 320.0, "name": "SoftPack"}, {"carrier": "usps", "description": - null, "dimensions": ["8.6875in x 5.4375in x 1.75in"], "human_readable": null, - "max_weight": null, "name": "SmallFlatRateBox"}, {"carrier": "usps", "description": - null, "dimensions": ["11.25in x 8.75in x 6in", "14.125in x 12in x 3.5in"], - "human_readable": null, "max_weight": null, "name": "MediumFlatRateBox"}, - {"carrier": "usps", "description": null, "dimensions": ["12.25in x 12in x - 6in"], "human_readable": null, "max_weight": null, "name": "LargeFlatRateBox"}, - {"carrier": "usps", "description": null, "dimensions": ["12.25in x 12.25in - x 6in"], "human_readable": null, "max_weight": null, "name": "LargeFlatRateBoxAPOFPO"}, - {"carrier": "usps", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "FlatTubTrayBox"}, {"carrier": "usps", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "EMMTrayBox"}, {"carrier": "usps", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "FullTrayBox"}, {"carrier": - "usps", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "HalfTrayBox"}, {"carrier": "usps", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "PMODSack"}], "service_levels": - [{"carrier": "usps", "description": "1-5 business days", "dimensions": ["Cards, - Letters and Flats only (no Parcels)", "See Predefined Packages (Card, Letter, - Flat) for details"], "human_readable": "First-Class Mail\u00ae", "max_weight": - 13.0, "name": "First"}, {"carrier": "usps", "description": "1-3 business days", - "dimensions": ["Combined Length and Girth < 108in"], "human_readable": "Priority - Mail\u00ae", "max_weight": 1120.0, "name": "Priority"}, {"carrier": "usps", - "description": "1-2 days", "dimensions": ["Combined Length and Girth < 108in"], - "human_readable": "Priority Mail Express\u00ae", "max_weight": 1120.0, "name": - "Express"}, {"carrier": "usps", "description": "2-5 days", "dimensions": ["Combined - Length and Girth < 130in"], "human_readable": "USPS Ground Advantage\u00ae", - "max_weight": 70.0, "name": "GroundAdvantage"}, {"carrier": "usps", "description": - "2-8 business days", "dimensions": ["Combined Length and Girth < 108in"], - "human_readable": "Library Mail\u00ae", "max_weight": 1120.0, "name": "LibraryMail"}, - {"carrier": "usps", "description": "2-8 business days", "dimensions": ["Combined - Length and Girth < 108in"], "human_readable": "Media Mail\u00ae", "max_weight": - 1120.0, "name": "MediaMail"}, {"carrier": "usps", "description": null, "dimensions": - ["Must be rectangular, otherwise an additional charge may apply."], "human_readable": - "First-Class Mail International\u00ae", "max_weight": 15.994, "name": "FirstClassMailInternational"}, - {"carrier": "usps", "description": "7-21 days", "dimensions": ["Packages (Other - Than Rolls): Combined Length and Girth < 108in", "Rolls (Tubes): Length: min - 4in; max 36 in. Length plus twice the diameter (combined): min 6.75 in; max - 42in.", "Some countries have specific prohibitions and restrictions"], "human_readable": - "First-Class Package International Service\u00ae", "max_weight": 64.0, "name": - "FirstClassPackageInternationalService"}, {"carrier": "usps", "description": - "6-10 business days", "dimensions": ["Combined Length and Girth < 108in"], - "human_readable": "Priority Mail International\u00ae", "max_weight": 1120.0, - "name": "PriorityMailInternational"}, {"carrier": "usps", "description": "3-5 - business days", "dimensions": ["Combined Length and Girth < 108in"], "human_readable": - "Priority Mail Express International\u00ae", "max_weight": 1120.0, "name": - "ExpressMailInternational"}], "shipment_options": [], "supported_features": - [{"carrier": "usps", "description": null, "name": "bill_on_delivery", "supported": - null}, {"carrier": "usps", "description": null, "name": "bill_on_label_purchase", - "supported": null}, {"carrier": "usps", "description": null, "name": "commercial_invoices", - "supported": null}, {"carrier": "usps", "description": null, "name": "delivers_to_po_box", - "supported": null}, {"carrier": "usps", "description": null, "name": "labels", - "supported": null}, {"carrier": "usps", "description": null, "name": "pickups", - "supported": null}, {"carrier": "usps", "description": null, "name": "rating", - "supported": true}, {"carrier": "usps", "description": null, "name": "refunds", - "supported": null}, {"carrier": "usps", "description": null, "name": "returns", - "supported": null}, {"carrier": "usps", "description": null, "name": "scanforms", - "supported": null}, {"carrier": "usps", "description": null, "name": "test_environment", - "supported": null}]}, {"human_readable": "Veho", "name": "veho", "predefined_packages": - [], "service_levels": [{"carrier": "veho", "description": null, "dimensions": - null, "human_readable": "Next Day", "max_weight": 800.0, "name": "nextDay"}, - {"carrier": "veho", "description": null, "dimensions": null, "human_readable": - "Same Day", "max_weight": 800.0, "name": "sameDay"}], "shipment_options": - [], "supported_features": [{"carrier": "veho", "description": null, "name": - "labels", "supported": null}, {"carrier": "veho", "description": null, "name": - "pickups", "supported": null}, {"carrier": "veho", "description": null, "name": - "rating", "supported": true}, {"carrier": "veho", "description": null, "name": - "test_environment", "supported": null}]}, {"human_readable": "Yanwen", "name": - "yanwen", "predefined_packages": [], "service_levels": [], "shipment_options": - [], "supported_features": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '211245' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fbece2b97a9100187312 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.073021' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_retrieve_carrier_metadata_with_filters.yaml b/tests/cassettes/test_retrieve_carrier_metadata_with_filters.yaml deleted file mode 100644 index c6568ebb..00000000 --- a/tests/cassettes/test_retrieve_carrier_metadata_with_filters.yaml +++ /dev/null @@ -1,130 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/metadata/carriers?carriers=usps&types=service_levels%2Cpredefined_packages - response: - body: - string: '{"carriers": [{"human_readable": "USPS", "name": "usps", "predefined_packages": - [{"carrier": "usps", "description": null, "dimensions": ["6in x 4.5in x 0.016in"], - "human_readable": null, "max_weight": null, "name": "Card"}, {"carrier": "usps", - "description": null, "dimensions": ["11.5in x 6.125in x 0.25in"], "human_readable": - null, "max_weight": null, "name": "Letter"}, {"carrier": "usps", "description": - null, "dimensions": ["11.5in x 6.125in x 0.75in"], "human_readable": null, - "max_weight": null, "name": "Flat"}, {"carrier": "usps", "description": null, - "dimensions": ["12.5in x 9.5in"], "human_readable": null, "max_weight": null, - "name": "FlatRateEnvelope"}, {"carrier": "usps", "description": null, "dimensions": - ["15in x 9.5in"], "human_readable": null, "max_weight": null, "name": "FlatRateLegalEnvelope"}, - {"carrier": "usps", "description": null, "dimensions": ["12.5in x 9.5in"], - "human_readable": null, "max_weight": null, "name": "FlatRatePaddedEnvelope"}, - {"carrier": "usps", "description": null, "dimensions": ["10in x 5in", "12.5in - x 9.5in"], "human_readable": null, "max_weight": null, "name": "FlatRateWindowEnvelope"}, - {"carrier": "usps", "description": null, "dimensions": ["12.5in x 9.5in"], - "human_readable": null, "max_weight": null, "name": "FlatRateCardboardEnvelope"}, - {"carrier": "usps", "description": null, "dimensions": ["10in x 6in"], "human_readable": - null, "max_weight": null, "name": "SmallFlatRateEnvelope"}, {"carrier": "usps", - "description": null, "dimensions": ["Varies based on service level"], "human_readable": - null, "max_weight": null, "name": "Parcel"}, {"carrier": "usps", "description": - null, "dimensions": ["Varies based on service level"], "human_readable": null, - "max_weight": 320.0, "name": "SoftPack"}, {"carrier": "usps", "description": - null, "dimensions": ["8.6875in x 5.4375in x 1.75in"], "human_readable": null, - "max_weight": null, "name": "SmallFlatRateBox"}, {"carrier": "usps", "description": - null, "dimensions": ["11.25in x 8.75in x 6in", "14.125in x 12in x 3.5in"], - "human_readable": null, "max_weight": null, "name": "MediumFlatRateBox"}, - {"carrier": "usps", "description": null, "dimensions": ["12.25in x 12in x - 6in"], "human_readable": null, "max_weight": null, "name": "LargeFlatRateBox"}, - {"carrier": "usps", "description": null, "dimensions": ["12.25in x 12.25in - x 6in"], "human_readable": null, "max_weight": null, "name": "LargeFlatRateBoxAPOFPO"}, - {"carrier": "usps", "description": null, "dimensions": [], "human_readable": - null, "max_weight": null, "name": "FlatTubTrayBox"}, {"carrier": "usps", "description": - null, "dimensions": [], "human_readable": null, "max_weight": null, "name": - "EMMTrayBox"}, {"carrier": "usps", "description": null, "dimensions": [], - "human_readable": null, "max_weight": null, "name": "FullTrayBox"}, {"carrier": - "usps", "description": null, "dimensions": [], "human_readable": null, "max_weight": - null, "name": "HalfTrayBox"}, {"carrier": "usps", "description": null, "dimensions": - [], "human_readable": null, "max_weight": null, "name": "PMODSack"}], "service_levels": - [{"carrier": "usps", "description": "1-5 business days", "dimensions": ["Cards, - Letters and Flats only (no Parcels)", "See Predefined Packages (Card, Letter, - Flat) for details"], "human_readable": "First-Class Mail\u00ae", "max_weight": - 13.0, "name": "First"}, {"carrier": "usps", "description": "1-3 business days", - "dimensions": ["Combined Length and Girth < 108in"], "human_readable": "Priority - Mail\u00ae", "max_weight": 1120.0, "name": "Priority"}, {"carrier": "usps", - "description": "1-2 days", "dimensions": ["Combined Length and Girth < 108in"], - "human_readable": "Priority Mail Express\u00ae", "max_weight": 1120.0, "name": - "Express"}, {"carrier": "usps", "description": "2-5 days", "dimensions": ["Combined - Length and Girth < 130in"], "human_readable": "USPS Ground Advantage\u00ae", - "max_weight": 70.0, "name": "GroundAdvantage"}, {"carrier": "usps", "description": - "2-8 business days", "dimensions": ["Combined Length and Girth < 108in"], - "human_readable": "Library Mail\u00ae", "max_weight": 1120.0, "name": "LibraryMail"}, - {"carrier": "usps", "description": "2-8 business days", "dimensions": ["Combined - Length and Girth < 108in"], "human_readable": "Media Mail\u00ae", "max_weight": - 1120.0, "name": "MediaMail"}, {"carrier": "usps", "description": null, "dimensions": - ["Must be rectangular, otherwise an additional charge may apply."], "human_readable": - "First-Class Mail International\u00ae", "max_weight": 15.994, "name": "FirstClassMailInternational"}, - {"carrier": "usps", "description": "7-21 days", "dimensions": ["Packages (Other - Than Rolls): Combined Length and Girth < 108in", "Rolls (Tubes): Length: min - 4in; max 36 in. Length plus twice the diameter (combined): min 6.75 in; max - 42in.", "Some countries have specific prohibitions and restrictions"], "human_readable": - "First-Class Package International Service\u00ae", "max_weight": 64.0, "name": - "FirstClassPackageInternationalService"}, {"carrier": "usps", "description": - "6-10 business days", "dimensions": ["Combined Length and Girth < 108in"], - "human_readable": "Priority Mail International\u00ae", "max_weight": 1120.0, - "name": "PriorityMailInternational"}, {"carrier": "usps", "description": "3-5 - business days", "dimensions": ["Combined Length and Girth < 108in"], "human_readable": - "Priority Mail Express International\u00ae", "max_weight": 1120.0, "name": - "ExpressMailInternational"}]}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5074' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fbece2b97a9200187353 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.038075' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_scanform_all.yaml b/tests/cassettes/test_scanform_all.yaml deleted file mode 100644 index 64775b76..00000000 --- a/tests/cassettes/test_scanform_all.yaml +++ /dev/null @@ -1,82 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/scan_forms?page_size=5 - response: - body: - string: '{"scan_forms": [{"id": "sf_a1082a2498034042a96617a8d79ff0c4", "object": - "ScanForm", "created_at": "2025-03-06T19:47:39Z", "updated_at": "2025-03-06T19:47:39Z", - "tracking_codes": ["9400100208303109500638"], "address": {"id": "adr_d671882efac311ef846fac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:47:29+00:00", "updated_at": - "2025-03-06T19:47:29+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "status": "created", "message": - null, "form_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/scan_form/20250306/e86b4473047e82445cb481f8060f4f2eec.pdf", - "form_file_type": null, "batch_id": "batch_79b95699e2644f198db68d1824c11497", - "confirmation": null}, {"id": "sf_83a81b98465f454489ad1591a897f1de", "object": - "ScanForm", "created_at": "2025-03-06T19:48:46Z", "updated_at": "2025-03-06T19:48:46Z", - "tracking_codes": [], "address": null, "status": "failed", "message": "Unable - to create manifest. USPS received too many requests in test mode, please slow - down and try again later", "form_url": null, "form_file_type": null, "batch_id": - "batch_05022d9288d947048a4f6196e6f2bf1e", "confirmation": null}], "has_more": - false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1361' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fc1fe2b97b9c0018ada9 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.124947' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_scanform_create.yaml b/tests/cassettes/test_scanform_create.yaml deleted file mode 100644 index 3fa87be1..00000000 --- a/tests/cassettes/test_scanform_create.yaml +++ /dev/null @@ -1,236 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_c1dd0ad87cfc4a038e632cb27d1d88a6", "created_at": "2025-03-07T16:49:20Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505725", "updated_at": - "2025-03-07T16:49:21Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_1df63e5cfb7411efbe97ac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:49:20+00:00", "updated_at": - "2025-03-07T16:49:20+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_79c077a915e6448abd825b27b924a269", "object": - "Parcel", "created_at": "2025-03-07T16:49:20Z", "updated_at": "2025-03-07T16:49:20Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_d3cae58e4e9044e18094981fbcd152c0", - "created_at": "2025-03-07T16:49:21Z", "updated_at": "2025-03-07T16:49:21Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:49:21Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8d405b9ed98dd42cea2c346f6be53e66f.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_6954d36c78384edf888caaf4336289f1", "object": - "Rate", "created_at": "2025-03-07T16:49:21Z", "updated_at": "2025-03-07T16:49:21Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_c1dd0ad87cfc4a038e632cb27d1d88a6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_4ab9d13850ec497786498a69dad35da0", - "object": "Rate", "created_at": "2025-03-07T16:49:21Z", "updated_at": "2025-03-07T16:49:21Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_c1dd0ad87cfc4a038e632cb27d1d88a6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_9879ecc5f3014572883ec50011ff2989", - "object": "Rate", "created_at": "2025-03-07T16:49:21Z", "updated_at": "2025-03-07T16:49:21Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_c1dd0ad87cfc4a038e632cb27d1d88a6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_9879ecc5f3014572883ec50011ff2989", "object": - "Rate", "created_at": "2025-03-07T16:49:21Z", "updated_at": "2025-03-07T16:49:21Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_c1dd0ad87cfc4a038e632cb27d1d88a6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_ad86ecf48b7d46b0855302218c38e280", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505725", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:49:21Z", - "updated_at": "2025-03-07T16:49:21Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_c1dd0ad87cfc4a038e632cb27d1d88a6", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrX2FkODZlY2Y0OGI3ZDQ2YjA4NTUzMDIyMThjMzhlMjgw"}, - "to_address": {"id": "adr_1df212a6fb7411efa452ac1f6bc539aa", "object": "Address", - "created_at": "2025-03-07T16:49:20+00:00", "updated_at": "2025-03-07T16:49:21+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_1df63e5cfb7411efbe97ac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:49:20+00:00", "updated_at": - "2025-03-07T16:49:20+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_1df212a6fb7411efa452ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:49:20+00:00", "updated_at": "2025-03-07T16:49:21+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_c1dd0ad87cfc4a038e632cb27d1d88a6 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fb67cb2390e2aac198000bbb99 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.865529' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"scan_form": {"shipment": [{"id": "shp_c1dd0ad87cfc4a038e632cb27d1d88a6"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '77' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/scan_forms - response: - body: - string: '{"id": "sf_8eeeea1e23b44a8388cbb85b12595f46", "object": "ScanForm", - "created_at": "2025-03-07T16:49:21Z", "updated_at": "2025-03-07T16:49:22Z", - "tracking_codes": ["9400100208303109505725"], "address": {"id": "adr_1df63e5cfb7411efbe97ac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:49:20+00:00", "updated_at": - "2025-03-07T16:49:20+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "status": "created", "message": - null, "form_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/scan_form/20250307/e8f8c453570fc64e979358710bfb60dbd7.pdf", - "form_file_type": null, "batch_id": "batch_7e1ab0edb3f5426097fd37bfeb3718cb", - "confirmation": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '905' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fb67cb2391e2aac198000bbcce - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.303094' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_scanform_get_next_page.yaml b/tests/cassettes/test_scanform_get_next_page.yaml deleted file mode 100644 index 88b2be85..00000000 --- a/tests/cassettes/test_scanform_get_next_page.yaml +++ /dev/null @@ -1,82 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/scan_forms?page_size=5 - response: - body: - string: '{"scan_forms": [{"id": "sf_a1082a2498034042a96617a8d79ff0c4", "object": - "ScanForm", "created_at": "2025-03-06T19:47:39Z", "updated_at": "2025-03-06T19:47:39Z", - "tracking_codes": ["9400100208303109500638"], "address": {"id": "adr_d671882efac311ef846fac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:47:29+00:00", "updated_at": - "2025-03-06T19:47:29+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "status": "created", "message": - null, "form_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/scan_form/20250306/e86b4473047e82445cb481f8060f4f2eec.pdf", - "form_file_type": null, "batch_id": "batch_79b95699e2644f198db68d1824c11497", - "confirmation": null}, {"id": "sf_83a81b98465f454489ad1591a897f1de", "object": - "ScanForm", "created_at": "2025-03-06T19:48:46Z", "updated_at": "2025-03-06T19:48:46Z", - "tracking_codes": [], "address": null, "status": "failed", "message": "Unable - to create manifest. USPS received too many requests in test mode, please slow - down and try again later", "form_url": null, "form_file_type": null, "batch_id": - "batch_05022d9288d947048a4f6196e6f2bf1e", "confirmation": null}], "has_more": - false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1361' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc1fe2b97bb40018ade5 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.101271' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_scanform_retrieve.yaml b/tests/cassettes/test_scanform_retrieve.yaml deleted file mode 100644 index c6b69e85..00000000 --- a/tests/cassettes/test_scanform_retrieve.yaml +++ /dev/null @@ -1,308 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_b866ef7a6e0240adace767c6d42193ae", "created_at": "2025-03-07T16:51:00Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505749", "updated_at": - "2025-03-07T16:51:01Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_5944eb1bfb7411ef83983cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:51:00+00:00", "updated_at": - "2025-03-07T16:51:00+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_e9a596b81faa4b76ab8fe5f4898146c8", "object": - "Parcel", "created_at": "2025-03-07T16:51:00Z", "updated_at": "2025-03-07T16:51:00Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_1c5bc270bffc47489a282fb21d603785", - "created_at": "2025-03-07T16:51:00Z", "updated_at": "2025-03-07T16:51:01Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:51:00Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e831c879812b814ab68df3738df5be0181.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_a542bd5cd2134b3b895e237b4b66d01e", "object": - "Rate", "created_at": "2025-03-07T16:51:00Z", "updated_at": "2025-03-07T16:51:00Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b866ef7a6e0240adace767c6d42193ae", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_a5b15374fe6843bb8f56e18fe7ca4bee", - "object": "Rate", "created_at": "2025-03-07T16:51:00Z", "updated_at": "2025-03-07T16:51:00Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b866ef7a6e0240adace767c6d42193ae", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_780846ba37d147c3b8faeea03c501979", - "object": "Rate", "created_at": "2025-03-07T16:51:00Z", "updated_at": "2025-03-07T16:51:00Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_b866ef7a6e0240adace767c6d42193ae", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_a5b15374fe6843bb8f56e18fe7ca4bee", "object": - "Rate", "created_at": "2025-03-07T16:51:00Z", "updated_at": "2025-03-07T16:51:00Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b866ef7a6e0240adace767c6d42193ae", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_14cd89c9bb384ae4bdedd142afa79742", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505749", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:51:01Z", - "updated_at": "2025-03-07T16:51:01Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_b866ef7a6e0240adace767c6d42193ae", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzE0Y2Q4OWM5YmIzODRhZTRiZGVkZDE0MmFmYTc5NzQy"}, - "to_address": {"id": "adr_5941c90cfb7411ef8a55ac1f6bc539aa", "object": "Address", - "created_at": "2025-03-07T16:51:00+00:00", "updated_at": "2025-03-07T16:51:00+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_5944eb1bfb7411ef83983cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:51:00+00:00", "updated_at": - "2025-03-07T16:51:00+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_5941c90cfb7411ef8a55ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:51:00+00:00", "updated_at": "2025-03-07T16:51:00+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_b866ef7a6e0240adace767c6d42193ae - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90067cb23f4e2aac23c000c2e22 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.865535' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"scan_form": {"shipment": [{"id": "shp_b866ef7a6e0240adace767c6d42193ae"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '77' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/scan_forms - response: - body: - string: '{"id": "sf_a10db9bc049841658c7998cc5f3efd9b", "object": "ScanForm", - "created_at": "2025-03-07T16:51:01Z", "updated_at": "2025-03-07T16:51:01Z", - "tracking_codes": ["9400100208303109505749"], "address": {"id": "adr_5944eb1bfb7411ef83983cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:51:00+00:00", "updated_at": - "2025-03-07T16:51:00+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "status": "created", "message": - null, "form_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/scan_form/20250307/e8370b68d8a8a54eb48188bd0e974ca472.pdf", - "form_file_type": null, "batch_id": "batch_0cfb67c1bf034a87a19e7d604cb7ef95", - "confirmation": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '905' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90067cb23f5e2aac23c000c2f19 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.281051' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/scan_forms/sf_a10db9bc049841658c7998cc5f3efd9b - response: - body: - string: '{"id": "sf_a10db9bc049841658c7998cc5f3efd9b", "object": "ScanForm", - "created_at": "2025-03-07T16:51:01Z", "updated_at": "2025-03-07T16:51:01Z", - "tracking_codes": ["9400100208303109505749"], "address": {"id": "adr_5944eb1bfb7411ef83983cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:51:00+00:00", "updated_at": - "2025-03-07T16:51:00+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "status": "created", "message": - null, "form_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/scan_form/20250307/e8370b68d8a8a54eb48188bd0e974ca472.pdf", - "form_file_type": null, "batch_id": "batch_0cfb67c1bf034a87a19e7d604cb7ef95", - "confirmation": null}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '905' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90067cb23f5e2aac23c000c2f7a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.030569' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_all.yaml b/tests/cassettes/test_shipment_all.yaml deleted file mode 100644 index 5bf0dc89..00000000 --- a/tests/cassettes/test_shipment_all.yaml +++ /dev/null @@ -1,557 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments?page_size=5 - response: - body: - string: '{"shipments": [{"id": "shp_6348a453cbd04b4189dc85524719e6b2", "created_at": - "2025-03-07T16:46:14Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "unknown", "tracking_code": "9400100208303109505640", - "updated_at": "2025-03-07T16:46:15Z", "batch_id": "batch_0fc0517f6fb1426197560732520f8edd", - "batch_status": "postage_purchased", "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_af10e4b4fb7311ef9acaac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:14+00:00", "updated_at": "2025-03-07T16:46:14+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_a9373fdd04bd4d83874c7e397ecddcb6", - "object": "Parcel", "created_at": "2025-03-07T16:46:14Z", "updated_at": "2025-03-07T16:46:14Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_f54afe8913fb4046b55523838df4f97b", - "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:15Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8b170594430f64d768ceb157887c5c28e.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_f9da1c97861743bba5eaf3db89b10898", "object": - "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_f320606ea0bd45ef92a34f109234fc44", - "object": "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_b501d85dcc0743fdb0d8ab673107bf5d", - "object": "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_b501d85dcc0743fdb0d8ab673107bf5d", "object": - "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_4c1b66c0dad34060a7b4704100bdd88e", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505640", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:15Z", - "updated_at": "2025-03-07T16:46:15Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:15Z", "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:15Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:15Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzRjMWI2NmMwZGFkMzQwNjBhN2I0NzA0MTAwYmRkODhl"}, - "to_address": {"id": "adr_af0b9199fb7311ef9ac8ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-07T16:46:14+00:00", "updated_at": "2025-03-07T16:46:15+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_af10e4b4fb7311ef9acaac1f6bc539ae", - "object": "Address", "created_at": "2025-03-07T16:46:14+00:00", "updated_at": - "2025-03-07T16:46:14+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_af0b9199fb7311ef9ac8ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:14+00:00", "updated_at": "2025-03-07T16:46:15+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_b674aad341c24fe18611019a72ff6e84", - "created_at": "2025-03-07T16:46:11Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - "9400100208303109505633", "updated_at": "2025-03-07T16:46:11Z", "batch_id": - "batch_6b38965e1d0a44578a404fede07d9825", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_acc761b6fb7311ef98773cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:11+00:00", "updated_at": - "2025-03-07T16:46:11+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_48819d3d4ffc44b898146405288b1b4e", "object": - "Parcel", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_7c4b7267da3f4b13a8834e79a7b0af3a", - "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:11Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8728792ec6b434a14a1f45d8e27c3db93.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_f74107b724334c1695f76a362d6d1354", "object": - "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_c50e7434c2b8494cbc89405e54ee777e", - "object": "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_345992a3bb14453ca8c41069addcbbad", - "object": "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_345992a3bb14453ca8c41069addcbbad", "object": - "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_7ab5213aaf264b53ab2f296d2efc7e73", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505633", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:12Z", - "updated_at": "2025-03-07T16:46:12Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:12Z", "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:12Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:12Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzdhYjUyMTNhYWYyNjRiNTNhYjJmMjk2ZDJlZmM3ZTcz"}, - "to_address": {"id": "adr_acc16571fb7311ef9f45ac1f6bc539aa", "object": "Address", - "created_at": "2025-03-07T16:46:10+00:00", "updated_at": "2025-03-07T16:46:11+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_acc761b6fb7311ef98773cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:11+00:00", "updated_at": - "2025-03-07T16:46:11+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_acc16571fb7311ef9f45ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:46:10+00:00", "updated_at": "2025-03-07T16:46:11+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", - "created_at": "2025-03-07T16:46:07Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - "9400100208303109505626", "updated_at": "2025-03-07T16:46:07Z", "batch_id": - "batch_1da4ef8e3efa4581b366b81ccf81b4f2", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_aa69c593fb7311ef971b3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:07+00:00", "updated_at": - "2025-03-07T16:46:07+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_d65c73ef0b0741b683c85ae149b4c615", "object": - "Parcel", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_f91a9e01da6c4e378d2dce661c4c6911", - "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:07Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8534b38912c20459a8afb5b43a2a38f93.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_59faed8017f04a3a929537ddda74d7fb", "object": - "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_feb24755f1794a458896fecb8a014f3e", - "object": "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_9f7170c31a6a4cd4b07a7ee5c114aadc", - "object": "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_9f7170c31a6a4cd4b07a7ee5c114aadc", "object": - "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_5b5388ca5edc4c2188e41862ace7cbee", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505626", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:07Z", - "updated_at": "2025-03-07T16:46:07Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:07Z", "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:07Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:07Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzViNTM4OGNhNWVkYzRjMjE4OGU0MTg2MmFjZTdjYmVl"}, - "to_address": {"id": "adr_aa670212fb7311ef9ddfac1f6bc539aa", "object": "Address", - "created_at": "2025-03-07T16:46:07+00:00", "updated_at": "2025-03-07T16:46:07+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_aa69c593fb7311ef971b3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:07+00:00", "updated_at": - "2025-03-07T16:46:07+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_aa670212fb7311ef9ddfac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:46:07+00:00", "updated_at": "2025-03-07T16:46:07+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_622803c6479446e895b6ec9ffc580f58", - "created_at": "2025-03-07T16:46:03Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - "9400100208303109505619", "updated_at": "2025-03-07T16:46:04Z", "batch_id": - "batch_b5e1cf8eeb0e45adb7feb089b3d12a46", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_a84fa087fb7311ef9cb3ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:03+00:00", "updated_at": - "2025-03-07T16:46:03+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_5c264ed4432848aaad2545e0dfb8eeb4", "object": - "Parcel", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_2dd5e193a0874563acda1913359fbef3", - "created_at": "2025-03-07T16:46:04Z", "updated_at": "2025-03-07T16:46:04Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:04Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e82ca3296f28234c8c963d9042eefecad2.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_5ad2d3f3665b4343b75e85a5a0fe02de", "object": - "Rate", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_646a6333c5af49168d64b3df5382e557", - "object": "Rate", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5179687711ef43e2a5188ee7aa89da97", - "object": "Rate", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_646a6333c5af49168d64b3df5382e557", "object": - "Rate", "created_at": "2025-03-07T16:46:04Z", "updated_at": "2025-03-07T16:46:04Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_11c660ecffdf4b938a1212ec4709662c", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505619", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:04Z", - "updated_at": "2025-03-07T16:46:04Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:04Z", "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:04Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:04Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzExYzY2MGVjZmZkZjRiOTM4YTEyMTJlYzQ3MDk2NjJj"}, - "to_address": {"id": "adr_a84d64eafb7311ef95cf3cecef1b359e", "object": "Address", - "created_at": "2025-03-07T16:46:03+00:00", "updated_at": "2025-03-07T16:46:03+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_a84fa087fb7311ef9cb3ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:03+00:00", "updated_at": - "2025-03-07T16:46:03+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_a84d64eafb7311ef95cf3cecef1b359e", "object": "Address", "created_at": - "2025-03-07T16:46:03+00:00", "updated_at": "2025-03-07T16:46:03+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", - "created_at": "2025-03-07T16:45:59Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - "9400100208303109505602", "updated_at": "2025-03-07T16:46:00Z", "batch_id": - "batch_63f493b2b5484ad8a220c9567867732c", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_a6167a17fb7311ef94473cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:45:59+00:00", "updated_at": - "2025-03-07T16:45:59+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_c2911b5c7bda49a9803dfba239fad665", "object": - "Parcel", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_d08201d458744a4ebf36695bb79f7dee", - "created_at": "2025-03-07T16:46:00Z", "updated_at": "2025-03-07T16:46:00Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:00Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8d6cfe7a133ab49f19fdbb00699c16dd0.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_e62e203a40874c9f9733fbd55e5fe9a8", "object": - "Rate", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_aee96176a0764400a3bc4a6a200b4d17", - "object": "Rate", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_ac50b2827b524b9f9ab7a19507dfb541", - "object": "Rate", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_aee96176a0764400a3bc4a6a200b4d17", "object": - "Rate", "created_at": "2025-03-07T16:46:00Z", "updated_at": "2025-03-07T16:46:00Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_49bbcbf123ae4414984b6ee5182fc53b", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505602", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:00Z", - "updated_at": "2025-03-07T16:46:00Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:00Z", "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:00Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:00Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzQ5YmJjYmYxMjNhZTQ0MTQ5ODRiNmVlNTE4MmZjNTNi"}, - "to_address": {"id": "adr_a613c9f6fb7311ef9555ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-07T16:45:59+00:00", "updated_at": "2025-03-07T16:46:00+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_a6167a17fb7311ef94473cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:45:59+00:00", "updated_at": - "2025-03-07T16:45:59+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_a613c9f6fb7311ef9555ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:45:59+00:00", "updated_at": "2025-03-07T16:46:00+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '38221' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22dae2aaba20000add77 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.502565' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_buy.yaml b/tests/cassettes/test_shipment_buy.yaml deleted file mode 100644 index 20351a69..00000000 --- a/tests/cassettes/test_shipment_buy.yaml +++ /dev/null @@ -1,305 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}, "options": {"label_format": - "PNG", "invoice_number": "123"}, "reference": "123"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '954' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_16578f588f9546ec914afd2474e24ff5", "created_at": "2025-03-07T16:46:20Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-07T16:46:20Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": {"id": "cstinfo_f7b53f1e1fc34b5c8d19c1e5632d86fa", - "object": "CustomsInfo", "created_at": "2025-03-07T16:46:19Z", "updated_at": - "2025-03-07T16:46:19Z", "contents_explanation": "", "contents_type": "merchandise", - "customs_certify": true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI - 30.37(a)", "non_delivery_option": "return", "restriction_comments": null, - "restriction_type": "none", "mode": "test", "declaration": null, "customs_items": - [{"id": "cstitem_28ebda7160d14ab692e6f511b48c5e0c", "object": "CustomsItem", - "created_at": "2025-03-07T16:46:20Z", "updated_at": "2025-03-07T16:46:20Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}]}, "from_address": {"id": "adr_b21acf8efb7311ef9c71ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:19+00:00", "updated_at": "2025-03-07T16:46:19+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_f20a001b1b1b4a40a2c02bdb83dafb9c", - "object": "Parcel", "created_at": "2025-03-07T16:46:19Z", "updated_at": "2025-03-07T16:46:19Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_c4f7e5ff2f4c4c1394fc750a3260755f", - "object": "Rate", "created_at": "2025-03-07T16:46:20Z", "updated_at": "2025-03-07T16:46:20Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_16578f588f9546ec914afd2474e24ff5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5b67424f63314af1b997aa72d45e41be", - "object": "Rate", "created_at": "2025-03-07T16:46:20Z", "updated_at": "2025-03-07T16:46:20Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_16578f588f9546ec914afd2474e24ff5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_4d1f36fa716c4b1292cacbdf19227c2d", - "object": "Rate", "created_at": "2025-03-07T16:46:20Z", "updated_at": "2025-03-07T16:46:20Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_16578f588f9546ec914afd2474e24ff5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b215ae4ffb7311efbccbac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:46:19+00:00", "updated_at": - "2025-03-07T16:46:19+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b21acf8efb7311ef9c71ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:19+00:00", "updated_at": "2025-03-07T16:46:19+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b215ae4ffb7311efbccbac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:19+00:00", "updated_at": "2025-03-07T16:46:19+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5160' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_16578f588f9546ec914afd2474e24ff5 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90167cb22dbe2aaba22000adfe1 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.250258' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"rate": {"id": "rate_4d1f36fa716c4b1292cacbdf19227c2d"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '57' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_16578f588f9546ec914afd2474e24ff5/buy - response: - body: - string: '{"id": "shp_16578f588f9546ec914afd2474e24ff5", "created_at": "2025-03-07T16:46:20Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - "9400100208303109505657", "updated_at": "2025-03-07T16:46:20Z", "batch_id": - null, "batch_status": null, "batch_message": null, "customs_info": {"id": - "cstinfo_f7b53f1e1fc34b5c8d19c1e5632d86fa", "object": "CustomsInfo", "created_at": - "2025-03-07T16:46:19Z", "updated_at": "2025-03-07T16:46:19Z", "contents_explanation": - "", "contents_type": "merchandise", "customs_certify": true, "customs_signer": - "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": "return", - "restriction_comments": null, "restriction_type": "none", "mode": "test", - "declaration": null, "customs_items": [{"id": "cstitem_28ebda7160d14ab692e6f511b48c5e0c", - "object": "CustomsItem", "created_at": "2025-03-07T16:46:20Z", "updated_at": - "2025-03-07T16:46:20Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}, "from_address": {"id": - "adr_b21acf8efb7311ef9c71ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:19+00:00", "updated_at": "2025-03-07T16:46:19+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_f20a001b1b1b4a40a2c02bdb83dafb9c", - "object": "Parcel", "created_at": "2025-03-07T16:46:19Z", "updated_at": "2025-03-07T16:46:19Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_6b404afa1ac543c3a447abdcb6e5ccbb", - "created_at": "2025-03-07T16:46:20Z", "updated_at": "2025-03-07T16:46:20Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:20Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e813a2cf6d079c4ea49714758be7711be0.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_c4f7e5ff2f4c4c1394fc750a3260755f", "object": - "Rate", "created_at": "2025-03-07T16:46:20Z", "updated_at": "2025-03-07T16:46:20Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_16578f588f9546ec914afd2474e24ff5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5b67424f63314af1b997aa72d45e41be", - "object": "Rate", "created_at": "2025-03-07T16:46:20Z", "updated_at": "2025-03-07T16:46:20Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_16578f588f9546ec914afd2474e24ff5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_4d1f36fa716c4b1292cacbdf19227c2d", - "object": "Rate", "created_at": "2025-03-07T16:46:20Z", "updated_at": "2025-03-07T16:46:20Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_16578f588f9546ec914afd2474e24ff5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_4d1f36fa716c4b1292cacbdf19227c2d", "object": - "Rate", "created_at": "2025-03-07T16:46:20Z", "updated_at": "2025-03-07T16:46:20Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_16578f588f9546ec914afd2474e24ff5", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_279431562ef84af89555e5c8a2029b2f", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505657", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:20Z", - "updated_at": "2025-03-07T16:46:20Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_16578f588f9546ec914afd2474e24ff5", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzI3OTQzMTU2MmVmODRhZjg5NTU1ZTVjOGEyMDI5YjJm"}, - "to_address": {"id": "adr_b215ae4ffb7311efbccbac1f6bc53342", "object": "Address", - "created_at": "2025-03-07T16:46:19+00:00", "updated_at": "2025-03-07T16:46:20+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_b21acf8efb7311ef9c71ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:19+00:00", "updated_at": "2025-03-07T16:46:19+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b215ae4ffb7311efbccbac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:19+00:00", "updated_at": "2025-03-07T16:46:20+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '7285' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90167cb22dce2aaba22000ae079 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.666737' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_buy_luma.yaml b/tests/cassettes/test_shipment_buy_luma.yaml deleted file mode 100644 index 73d6e3dd..00000000 --- a/tests/cassettes/test_shipment_buy_luma.yaml +++ /dev/null @@ -1,289 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '496' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_bd34417cf07142e1a5dac80fc08b5a90", "created_at": "2025-06-12T20:30:56Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-06-12T20:30:56Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_249ad7f147cc11f0aae43cecef1b359e", "object": - "Address", "created_at": "2025-06-12T20:30:56+00:00", "updated_at": "2025-06-12T20:30:56+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_69d1bada91d041bdb6955a209eccbbdd", - "object": "Parcel", "created_at": "2025-06-12T20:30:56Z", "updated_at": "2025-06-12T20:30:56Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_45ee86fffe994f5398ef78b1500270bb", - "object": "Rate", "created_at": "2025-06-12T20:30:56Z", "updated_at": "2025-06-12T20:30:56Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_bd34417cf07142e1a5dac80fc08b5a90", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_87538ac8330d4d909b5bdd9bb96219ed", - "object": "Rate", "created_at": "2025-06-12T20:30:56Z", "updated_at": "2025-06-12T20:30:56Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_bd34417cf07142e1a5dac80fc08b5a90", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_aca6cf2c8fa64031a3b863e8f1a6f1bc", - "object": "Rate", "created_at": "2025-06-12T20:30:56Z", "updated_at": "2025-06-12T20:30:56Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_bd34417cf07142e1a5dac80fc08b5a90", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_2497405647cc11f0aae13cecef1b359e", - "object": "Address", "created_at": "2025-06-12T20:30:56+00:00", "updated_at": - "2025-06-12T20:30:56+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_249ad7f147cc11f0aae43cecef1b359e", "object": "Address", "created_at": - "2025-06-12T20:30:56+00:00", "updated_at": "2025-06-12T20:30:56+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_2497405647cc11f0aae13cecef1b359e", "object": - "Address", "created_at": "2025-06-12T20:30:56+00:00", "updated_at": "2025-06-12T20:30:56+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4325' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_bd34417cf07142e1a5dac80fc08b5a90 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 5339474e684b3900e2bb293a008da7d7 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq e8fe6f4ec2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.223175' - x-version-label: - - easypost-202506122002-4fcd94d6be-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"ruleset_name": "cheapest_delivery", "planned_ship_date": "2025-06-12"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '72' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_bd34417cf07142e1a5dac80fc08b5a90/luma - response: - body: - string: '{"id": "shp_bd34417cf07142e1a5dac80fc08b5a90", "object": "Shipment", - "mode": "test", "reference": null, "to_address": {"id": "adr_2497405647cc11f0aae13cecef1b359e", - "object": "Address", "created_at": "2025-06-12T20:30:56+00:00", "updated_at": - "2025-06-12T20:30:56+00:00", "name": "ELIZABETH SWAN", "company": null, "street1": - "179 N HARBOR DR", "street2": "", "city": "REDONDO BEACH", "state": "CA", - "zip": "90277-2506", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": false, "federal_tax_id": - null, "state_tax_id": null, "verifications": {"zip4": {"success": true, "errors": - [], "details": null}, "delivery": {"success": true, "errors": [], "details": - {"latitude": 33.8436, "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, - "from_address": {"id": "adr_249ad7f147cc11f0aae43cecef1b359e", "object": "Address", - "created_at": "2025-06-12T20:30:56+00:00", "updated_at": "2025-06-12T20:30:56+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "return_address": {"id": "adr_249ad7f147cc11f0aae43cecef1b359e", "object": - "Address", "created_at": "2025-06-12T20:30:56+00:00", "updated_at": "2025-06-12T20:30:56+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_2497405647cc11f0aae13cecef1b359e", "object": - "Address", "created_at": "2025-06-12T20:30:56+00:00", "updated_at": "2025-06-12T20:30:56+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "parcel": - {"id": "prcl_69d1bada91d041bdb6955a209eccbbdd", "object": "Parcel", "created_at": - "2025-06-12T20:30:56Z", "updated_at": "2025-06-12T20:30:56Z", "length": 10.0, - "width": 8.0, "height": 4.0, "predefined_package": null, "weight": 15.4, "mode": - "test"}, "customs_info": null, "scan_form": null, "forms": [], "insurance": - null, "rates": [{"id": "rate_45ee86fffe994f5398ef78b1500270bb", "object": - "Rate", "created_at": "2025-06-12T20:30:56Z", "updated_at": "2025-06-12T20:30:56Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_bd34417cf07142e1a5dac80fc08b5a90", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_87538ac8330d4d909b5bdd9bb96219ed", - "object": "Rate", "created_at": "2025-06-12T20:30:56Z", "updated_at": "2025-06-12T20:30:56Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_bd34417cf07142e1a5dac80fc08b5a90", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_aca6cf2c8fa64031a3b863e8f1a6f1bc", - "object": "Rate", "created_at": "2025-06-12T20:30:56Z", "updated_at": "2025-06-12T20:30:56Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_bd34417cf07142e1a5dac80fc08b5a90", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "selected_rate": {"id": "rate_aca6cf2c8fa64031a3b863e8f1a6f1bc", - "object": "Rate", "created_at": "2025-06-12T20:30:56Z", "updated_at": "2025-06-12T20:30:56Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_bd34417cf07142e1a5dac80fc08b5a90", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "luma_info": {"ai_results": [{"carrier": - "USPS", "meets_ruleset_requirements": true, "predicted_deliver_by_date": "2025-06-13", - "predicted_deliver_days": 1, "rate_id": "rate_45ee86fffe994f5398ef78b1500270bb", - "rate_usd": "34.15", "service": "Express"}, {"carrier": "USPS", "meets_ruleset_requirements": - true, "predicted_deliver_by_date": "2025-06-14", "predicted_deliver_days": - 2, "rate_id": "rate_87538ac8330d4d909b5bdd9bb96219ed", "rate_usd": "7.42", - "service": "Priority"}, {"carrier": "USPS", "meets_ruleset_requirements": - true, "predicted_deliver_by_date": "2025-06-15", "predicted_deliver_days": - 3, "rate_id": "rate_aca6cf2c8fa64031a3b863e8f1a6f1bc", "rate_usd": "6.07", - "service": "GroundAdvantage"}], "matching_rule_idx": 0, "ruleset_description": - "Buy the cheapest rate that satisfies all of the following:\nRule 0\n \nOtherwise - buy the cheapest rate"}, "postage_label": {"object": "PostageLabel", "id": - "pl_ceda993a17404090b9d046986f23a8a1", "created_at": "2025-06-12T20:30:56Z", - "updated_at": "2025-06-12T20:30:57Z", "date_advance": 0, "integrated_form": - "none", "label_date": "2025-06-12T20:30:56Z", "label_resolution": 300, "label_size": - "4x6", "label_type": "default", "label_file_type": "image/png", "label_url": - "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250612/e80efb8c8c84ed404fbd77a43e1bd75d5a.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "messages": [], "options": {"currency": "USD", "payment": {"type": - "SENDER"}, "date_advance": 0}, "is_return": null, "tracking_code": "9400100208303109973562", - "usps_zone": 4, "status": "unknown", "tracker": {"id": "trk_3814971546244ad6b45a65dbd60f550c", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109973562", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-06-12T20:30:57Z", - "updated_at": "2025-06-12T20:30:57Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_bd34417cf07142e1a5dac80fc08b5a90", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzM4MTQ5NzE1NDYyNDRhZDZiNDVhNjVkYmQ2MGY1NTBj"}, - "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}], "refund_status": null, "batch_id": - null, "batch_status": null, "batch_message": null, "tax_identifiers": null, - "created_at": "2025-06-12T20:30:56Z", "updated_at": "2025-06-12T20:30:57Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '7274' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 5339474e684b3900e2bb293a008da825 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq e8fe6f4ec2 - - extlb2nuq 99aac35317 - x-runtime: - - '0.807856' - x-version-label: - - easypost-202506122002-4fcd94d6be-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_buy_with_end_shipper_id.yaml b/tests/cassettes/test_shipment_buy_with_end_shipper_id.yaml deleted file mode 100644 index adaca89c..00000000 --- a/tests/cassettes/test_shipment_buy_with_end_shipper_id.yaml +++ /dev/null @@ -1,350 +0,0 @@ -interactions: -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '213' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/end_shippers - response: - body: - string: '{"id": "es_184c211535024ac78c9e8e67e0cbbb74", "object": "EndShipper", - "mode": "test", "created_at": "2025-03-07T16:46:31+00:00", "updated_at": "2025-03-07T16:46:31+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": ""}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '365' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fd67cb22e7e2aabd7d000af196 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.053726' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '496' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_d720efccb2864509b7c0d9ca5236fda8", "created_at": "2025-03-07T16:46:31Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-03-07T16:46:31Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_b913a77dfb7311ef80faac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:31+00:00", "updated_at": "2025-03-07T16:46:31+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_edcaa2741fd849179d75040cdd668e56", - "object": "Parcel", "created_at": "2025-03-07T16:46:31Z", "updated_at": "2025-03-07T16:46:31Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_5a302bf1871b469c985e226c0d2bb372", - "object": "Rate", "created_at": "2025-03-07T16:46:31Z", "updated_at": "2025-03-07T16:46:31Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_d720efccb2864509b7c0d9ca5236fda8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_ce06a84e13274a21abdb92d00840045c", - "object": "Rate", "created_at": "2025-03-07T16:46:31Z", "updated_at": "2025-03-07T16:46:31Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_d720efccb2864509b7c0d9ca5236fda8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_66b3776de08c469386e8629da89eca72", - "object": "Rate", "created_at": "2025-03-07T16:46:31Z", "updated_at": "2025-03-07T16:46:31Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_d720efccb2864509b7c0d9ca5236fda8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b910ea0efb7311efa662ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:31+00:00", "updated_at": - "2025-03-07T16:46:31+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b913a77dfb7311ef80faac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:46:31+00:00", "updated_at": "2025-03-07T16:46:31+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b910ea0efb7311efa662ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-07T16:46:31+00:00", "updated_at": "2025-03-07T16:46:31+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4325' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_d720efccb2864509b7c0d9ca5236fda8 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fd67cb22e7e2aabd7d000af1af - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.205852' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"rate": {"id": "rate_ce06a84e13274a21abdb92d00840045c"}, "end_shipper_id": - "es_184c211535024ac78c9e8e67e0cbbb74"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '114' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_d720efccb2864509b7c0d9ca5236fda8/buy - response: - body: - string: '{"id": "shp_d720efccb2864509b7c0d9ca5236fda8", "created_at": "2025-03-07T16:46:31Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505701", "updated_at": - "2025-03-07T16:46:32Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_b913a77dfb7311ef80faac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:46:31+00:00", "updated_at": - "2025-03-07T16:46:31+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_edcaa2741fd849179d75040cdd668e56", "object": - "Parcel", "created_at": "2025-03-07T16:46:31Z", "updated_at": "2025-03-07T16:46:31Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_03eff81acc7b413ca6af27837b8617b5", - "created_at": "2025-03-07T16:46:32Z", "updated_at": "2025-03-07T16:46:32Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:32Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e813374500ea4847e0ad1c4777437d0b7c.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_5a302bf1871b469c985e226c0d2bb372", "object": - "Rate", "created_at": "2025-03-07T16:46:31Z", "updated_at": "2025-03-07T16:46:31Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_d720efccb2864509b7c0d9ca5236fda8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_ce06a84e13274a21abdb92d00840045c", - "object": "Rate", "created_at": "2025-03-07T16:46:31Z", "updated_at": "2025-03-07T16:46:31Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_d720efccb2864509b7c0d9ca5236fda8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_66b3776de08c469386e8629da89eca72", - "object": "Rate", "created_at": "2025-03-07T16:46:31Z", "updated_at": "2025-03-07T16:46:31Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_d720efccb2864509b7c0d9ca5236fda8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_ce06a84e13274a21abdb92d00840045c", "object": - "Rate", "created_at": "2025-03-07T16:46:32Z", "updated_at": "2025-03-07T16:46:32Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_d720efccb2864509b7c0d9ca5236fda8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_cddf9c5b0be0443f87eefb446145d3f0", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505701", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:32Z", - "updated_at": "2025-03-07T16:46:32Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_d720efccb2864509b7c0d9ca5236fda8", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrX2NkZGY5YzViMGJlMDQ0M2Y4N2VlZmI0NDYxNDVkM2Yw"}, - "to_address": {"id": "adr_b910ea0efb7311efa662ac1f6bc539aa", "object": "Address", - "created_at": "2025-03-07T16:46:31+00:00", "updated_at": "2025-03-07T16:46:31+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_b913a77dfb7311ef80faac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:31+00:00", "updated_at": "2025-03-07T16:46:31+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b910ea0efb7311efa662ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-07T16:46:31+00:00", "updated_at": "2025-03-07T16:46:31+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6450' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fd67cb22e7e2aabd7d000af1f8 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.752164' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_convert_label.yaml b/tests/cassettes/test_shipment_convert_label.yaml deleted file mode 100644 index afd5698d..00000000 --- a/tests/cassettes/test_shipment_convert_label.yaml +++ /dev/null @@ -1,474 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}, "options": {"label_format": - "PNG", "invoice_number": "123"}, "reference": "123"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '954' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_5f25253b03cd4bd18d27f49763f2433b", "created_at": "2025-03-07T16:46:21Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-07T16:46:21Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": {"id": "cstinfo_84b9a1cb9e5e423aa767a26375f57055", - "object": "CustomsInfo", "created_at": "2025-03-07T16:46:21Z", "updated_at": - "2025-03-07T16:46:21Z", "contents_explanation": "", "contents_type": "merchandise", - "customs_certify": true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI - 30.37(a)", "non_delivery_option": "return", "restriction_comments": null, - "restriction_type": "none", "mode": "test", "declaration": null, "customs_items": - [{"id": "cstitem_2034f78e08094af69a5553b9b216f5ed", "object": "CustomsItem", - "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}]}, "from_address": {"id": "adr_b31a5f20fb7311ef9cfbac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:21+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_42d5d9cb37b446629ad9c14e0a65defd", - "object": "Parcel", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_174dbc718dd144c3a44fd4fc093513a4", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_b4fbf86b5af745aeaf44804a88d58eb7", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_2aab040e952b46db809c2b24380c674b", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b317fa6afb7311efbd57ac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:46:21+00:00", "updated_at": - "2025-03-07T16:46:21+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b31a5f20fb7311ef9cfbac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:21+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b317fa6afb7311efbd57ac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:21+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5160' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_5f25253b03cd4bd18d27f49763f2433b - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb22dde2aaba24000ae306 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.242081' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"rate": {"id": "rate_2aab040e952b46db809c2b24380c674b"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '57' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_5f25253b03cd4bd18d27f49763f2433b/buy - response: - body: - string: '{"id": "shp_5f25253b03cd4bd18d27f49763f2433b", "created_at": "2025-03-07T16:46:21Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - "9400100208303109505664", "updated_at": "2025-03-07T16:46:22Z", "batch_id": - null, "batch_status": null, "batch_message": null, "customs_info": {"id": - "cstinfo_84b9a1cb9e5e423aa767a26375f57055", "object": "CustomsInfo", "created_at": - "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", "contents_explanation": - "", "contents_type": "merchandise", "customs_certify": true, "customs_signer": - "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": "return", - "restriction_comments": null, "restriction_type": "none", "mode": "test", - "declaration": null, "customs_items": [{"id": "cstitem_2034f78e08094af69a5553b9b216f5ed", - "object": "CustomsItem", "created_at": "2025-03-07T16:46:21Z", "updated_at": - "2025-03-07T16:46:21Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}, "from_address": {"id": - "adr_b31a5f20fb7311ef9cfbac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:21+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_42d5d9cb37b446629ad9c14e0a65defd", - "object": "Parcel", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_422bd54a5bbd49469dab6d449581c9b1", - "created_at": "2025-03-07T16:46:22Z", "updated_at": "2025-03-07T16:46:22Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:22Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8dd8fe8e5de7549e9b1766fe7097bd045.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_174dbc718dd144c3a44fd4fc093513a4", "object": - "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_b4fbf86b5af745aeaf44804a88d58eb7", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_2aab040e952b46db809c2b24380c674b", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_2aab040e952b46db809c2b24380c674b", "object": - "Rate", "created_at": "2025-03-07T16:46:22Z", "updated_at": "2025-03-07T16:46:22Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_3f4c7b1064ad443e9f24161e3ec72ebf", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505664", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:22Z", - "updated_at": "2025-03-07T16:46:22Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzNmNGM3YjEwNjRhZDQ0M2U5ZjI0MTYxZTNlYzcyZWJm"}, - "to_address": {"id": "adr_b317fa6afb7311efbd57ac1f6bc53342", "object": "Address", - "created_at": "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:22+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_b31a5f20fb7311ef9cfbac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:21+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b317fa6afb7311efbd57ac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:22+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - "", "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '7285' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb22dde2aaba24000ae378 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.747921' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments/shp_5f25253b03cd4bd18d27f49763f2433b/label?file_format=ZPL - response: - body: - string: '{"id": "shp_5f25253b03cd4bd18d27f49763f2433b", "created_at": "2025-03-07T16:46:21Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - "9400100208303109505664", "updated_at": "2025-03-07T16:46:22Z", "batch_id": - null, "batch_status": null, "batch_message": null, "customs_info": {"id": - "cstinfo_84b9a1cb9e5e423aa767a26375f57055", "object": "CustomsInfo", "created_at": - "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", "contents_explanation": - "", "contents_type": "merchandise", "customs_certify": true, "customs_signer": - "Steve Brule", "eel_pfc": "NOEEI 30.37(a)", "non_delivery_option": "return", - "restriction_comments": null, "restriction_type": "none", "mode": "test", - "declaration": null, "customs_items": [{"id": "cstitem_2034f78e08094af69a5553b9b216f5ed", - "object": "CustomsItem", "created_at": "2025-03-07T16:46:21Z", "updated_at": - "2025-03-07T16:46:21Z", "description": "Sweet shirts", "hs_tariff_number": - "654321", "origin_country": "US", "quantity": 2, "value": "23.25", "weight": - 11.0, "code": null, "mode": "test", "manufacturer": null, "currency": null, - "eccn": null, "printed_commodity_identifier": null}]}, "from_address": {"id": - "adr_b31a5f20fb7311ef9cfbac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:21+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_42d5d9cb37b446629ad9c14e0a65defd", - "object": "Parcel", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_422bd54a5bbd49469dab6d449581c9b1", - "created_at": "2025-03-07T16:46:22Z", "updated_at": "2025-03-07T16:46:23Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:22Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8dd8fe8e5de7549e9b1766fe7097bd045.png", - "label_pdf_url": null, "label_zpl_url": "https://easypost-files.s3-us-west-2.amazonaws.com/files/postage_label/20250307/e23ee2095e0f48a1a5deefdf4dca9ea7.zpl", - "label_epl2_url": null, "label_file": null}, "rates": [{"id": "rate_174dbc718dd144c3a44fd4fc093513a4", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_b4fbf86b5af745aeaf44804a88d58eb7", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_2aab040e952b46db809c2b24380c674b", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_2aab040e952b46db809c2b24380c674b", "object": - "Rate", "created_at": "2025-03-07T16:46:22Z", "updated_at": "2025-03-07T16:46:22Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_3f4c7b1064ad443e9f24161e3ec72ebf", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505664", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:22Z", - "updated_at": "2025-03-07T16:46:22Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:22Z", "shipment_id": "shp_5f25253b03cd4bd18d27f49763f2433b", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:22Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:22Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzNmNGM3YjEwNjRhZDQ0M2U5ZjI0MTYxZTNlYzcyZWJm"}, - "to_address": {"id": "adr_b317fa6afb7311efbd57ac1f6bc53342", "object": "Address", - "created_at": "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:22+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "usps_zone": - 4, "return_address": {"id": "adr_b31a5f20fb7311ef9cfbac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:21+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b317fa6afb7311efbd57ac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:22+00:00", - "name": "ELIZABETH SWAN", "company": null, "street1": "179 N HARBOR DR", "street2": - null, "city": "REDONDO BEACH", "state": "CA", "zip": "90277-2506", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": false, "federal_tax_id": null, "state_tax_id": null, - "verifications": {"zip4": {"success": true, "errors": [], "details": null}, - "delivery": {"success": true, "errors": [], "details": {"latitude": 33.8436, - "longitude": -118.39177, "time_zone": "America/Los_Angeles"}}}}, "forms": - [], "fees": [{"object": "Fee", "type": "LabelFee", "amount": "0.00000", "charged": - true, "refunded": false}, {"object": "Fee", "type": "PostageFee", "amount": - "6.07000", "charged": true, "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '8528' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb22dee2aaba24000ae486 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '1.356256' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_create.yaml b/tests/cassettes/test_shipment_create.yaml deleted file mode 100644 index 4ea68e19..00000000 --- a/tests/cassettes/test_shipment_create.yaml +++ /dev/null @@ -1,146 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}, "options": {"label_format": - "PNG", "invoice_number": "123"}, "reference": "123"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '954' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_4f5381cd729d48c2adc4d2d801d655e2", "created_at": "2025-03-07T16:46:17Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-07T16:46:17Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": {"id": "cstinfo_97b059fb952a4d8b87e3f5f1cb89878f", - "object": "CustomsInfo", "created_at": "2025-03-07T16:46:17Z", "updated_at": - "2025-03-07T16:46:17Z", "contents_explanation": "", "contents_type": "merchandise", - "customs_certify": true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI - 30.37(a)", "non_delivery_option": "return", "restriction_comments": null, - "restriction_type": "none", "mode": "test", "declaration": null, "customs_items": - [{"id": "cstitem_08483c42308243d8b47c9b2fd67e2405", "object": "CustomsItem", - "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}]}, "from_address": {"id": "adr_b07ddf8cfb7311ef9ba7ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:17+00:00", "updated_at": "2025-03-07T16:46:17+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_32603eb873f14a7ca8dd2c9593c756d2", - "object": "Parcel", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_c8501931eb2b4c1fb25e1af7f3286bf4", - "object": "Rate", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_4f5381cd729d48c2adc4d2d801d655e2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_e10ea4fea5ba4d98a1a4135fe54737d7", - "object": "Rate", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_4f5381cd729d48c2adc4d2d801d655e2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_96763f5dc32548538c44e7c479243e38", - "object": "Rate", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_4f5381cd729d48c2adc4d2d801d655e2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b0798197fb7311efa15bac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:17+00:00", "updated_at": - "2025-03-07T16:46:17+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b07ddf8cfb7311ef9ba7ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:17+00:00", "updated_at": "2025-03-07T16:46:17+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b0798197fb7311efa15bac1f6bc539aa", "object": - "Address", "created_at": "2025-03-07T16:46:17+00:00", "updated_at": "2025-03-07T16:46:17+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5160' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_4f5381cd729d48c2adc4d2d801d655e2 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22d9e2aaba1e000adc25 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.266061' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_shipment_create_and_buy_luma.yaml b/tests/cassettes/test_shipment_create_and_buy_luma.yaml deleted file mode 100644 index 68b7e074..00000000 --- a/tests/cassettes/test_shipment_create_and_buy_luma.yaml +++ /dev/null @@ -1,125 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], "carrier": - "USPS", "ruleset_name": "cheapest_delivery", "planned_ship_date": "2025-06-12"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '648' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/luma - response: - body: - string: '{"id": "shp_5d4198306993451896ff04c456ccd4ff", "object": "Shipment", - "mode": "test", "reference": null, "to_address": {"id": "adr_240c833d47cc11f0aa843cecef1b359e", - "object": "Address", "created_at": "2025-06-12T20:30:55+00:00", "updated_at": - "2025-06-12T20:30:55+00:00", "name": "JACK SPARROW", "company": null, "street1": - "388 TOWNSEND ST APT 20", "street2": "", "city": "SAN FRANCISCO", "state": - "CA", "zip": "94107-1670", "country": "US", "phone": "", "email": - "", "mode": "test", "carrier_facility": null, "residential": true, - "federal_tax_id": null, "state_tax_id": null, "verifications": {"zip4": {"success": - true, "errors": [], "details": null}, "delivery": {"success": true, "errors": - [], "details": {"latitude": 37.77551, "longitude": -122.39697, "time_zone": - "America/Los_Angeles"}}}}, "from_address": {"id": "adr_240f71b247cc11f0aa873cecef1b359e", - "object": "Address", "created_at": "2025-06-12T20:30:55+00:00", "updated_at": - "2025-06-12T20:30:55+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "parcel": {"id": "prcl_d3cf84f93a9a4f4098ba288f420f23d2", - "object": "Parcel", "created_at": "2025-06-12T20:30:55Z", "updated_at": "2025-06-12T20:30:55Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "customs_info": null, "forms": [], "insurance": null, - "selected_rate": {"id": "rate_c96972f3a89b426d9cf1589da0090adb", "object": - "Rate", "created_at": "2025-06-12T20:30:55Z", "updated_at": "2025-06-12T20:30:55Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_5d4198306993451896ff04c456ccd4ff", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "luma_info": {"ai_results": [{"carrier": - "USPS", "meets_ruleset_requirements": true, "predicted_deliver_by_date": "2025-06-15", - "predicted_deliver_days": 3, "rate_id": "rate_2380bfac8dc641e592153c3ddedea48a", - "rate_usd": "7.42", "service": "Priority"}, {"carrier": "USPS", "meets_ruleset_requirements": - true, "predicted_deliver_by_date": "2025-06-15", "predicted_deliver_days": - 3, "rate_id": "rate_d2a22657e8db4958886c3c8184b73fd5", "rate_usd": "6.07", - "service": "GroundAdvantage"}, {"carrier": "USPS", "meets_ruleset_requirements": - true, "predicted_deliver_by_date": "2025-06-13", "predicted_deliver_days": - 1, "rate_id": "rate_bc38780a225c425f9a9ed58fdec2029a", "rate_usd": "34.15", - "service": "Express"}], "matching_rule_idx": 0, "ruleset_description": "Buy - the cheapest rate that satisfies all of the following:\nRule 0\n \nOtherwise - buy the cheapest rate"}, "postage_label": {"object": "PostageLabel", "id": - "pl_4ae25651ce484b389318a542db94e242", "created_at": "2025-06-12T20:30:55Z", - "updated_at": "2025-06-12T20:30:55Z", "date_advance": 0, "integrated_form": - "none", "label_date": "2025-06-12T20:30:55Z", "label_resolution": 300, "label_size": - "4x6", "label_type": "default", "label_file_type": null, "label_url": null, - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - "iVBORw0KGgoAAAANSUhEUgAABLAAAAcICAAAAAAJO2eWAAAI+GlDQ1BkZWZhdWx0X2dyYXkuaWNjAABIiZ2VeTTU/R7Hv7/fb/bFMjPGzljHkjXLIMsY21iyr6lo7FuMXUpJKpSSZCuRCEWbJW2SUhFRaH9GHqE8pUUqlUfde869597Tuefc1zmf83798f2c8znvf74A4CvBMrAIALFxSXx7D7a/n38AA/wbwbzEeLabmzP4LZ9GAfQz72v9/s1vQYeEJvKWs2t5NvPi+UkAQFbLrpaaFP/TI5adtiH6l2f+9GgvD86y7wMAR/rn7k+U2PykyLDQNIbnxrCk1GB+KCPRnh+czuByOAw3/sawyJjQ/+O6/0FSaFrSz+RsjE/nR4ZHJDH+6wp9XT0W+FenH7x+dQXRB/+z55/wkvkp/zDUr24AAQgDGpAEckAJqAEtoA+MgRmwArbAEbgCL+AP1gEeiACxgA9SQSbYBnJBPtgHDoJyUAVqQQNoBmdBO7gEroGboA/cAyPgCRCASfAazIFPYBGCICxEhqiQJCQPqUCakD7EgiwgW8gZ8oD8oSAoHIqDkqFMaDuUDxVB5VA11ACdgS5A16Db0BD0CBqHZqD30FcYgUkwDZaFVWEdmAWzYSfYC14Lh8MJcAacA++FS+Ea+CTcBl+D++ARWAC/hucRgBAROqKAaCEshIO4IgFIGMJHtiB5SAlSgzQjnUgvch8RILPIFxQGRUUxUFooM5QDyhvFQyWgtqAKUOWoE6g2VA/qPmocNYf6gSajZdCaaFM0F+2HDkenonPRJeg6dCv6BnoEPYn+hMFg6BgmxhjjgPHHRGE2YQowhzEtmC7MEGYCM4/FYiWxmlhzrCs2GJuEzcWWYU9ir2KHsZPYzzgiTh6nj7PDBeDicNm4Elwj7gpuGDeFW8SL4FXwpnhXfAg+HV+Ir8V34gfxk/hFgiiBSTAneBGiCNsIpYRmwg3CU8IHIpGoSDQhuhMjiVuJpcTTxFvEceIXEoWkQeKQAknJpL2kelIX6RHpA5lMViVbkQPISeS95AbydfJz8mchqpC2EFcoRChLqEKoTWhY6I0wXlhFmC28TjhDuET4nPCg8KwIXkRVhCMSLLJFpELkgsiYyLwoVVRP1FU0VrRAtFH0tug0BUtRpdhSQig5lGOU65QJKkJVonKoPOp2ai31BnWShqExaVxaFC2fdoo2QJsTo4gZiPmIpYlViF0WE9ARuiqdS4+hF9LP0kfpX8VlxdnioeK7xZvFh8UXJKQlrCRCJfIkWiRGJL5KMiRtJaMl90u2Sz6TQklpSLlLpUodkbohNStNkzaT5knnSZ+VfiwDy2jIeMhskjkm0y8zLysnay8bL1sme112Vo4uZyUXJVcsd0VuRp4qbyEfKV8sf1X+FUOMwWbEMEoZPYw5BRkFB4VkhWqFAYVFRaait2K2YoviMyWCEkspTKlYqVtpTlle2UU5U7lJ+bEKXoWlEqFySKVXZUGVqeqrulO1XXWaKcHkMjOYTcynamQ1S7UEtRq1B+oYdZZ6tPph9XsasIahRoRGhcagJqxppBmpeVhzaAV6hcmKuBU1K8a0SFpsrRStJq1xbbq2s3a2drv2Gx1lnQCd/Tq9Oj90DXVjdGt1n+hR9Bz1svU69d7ra+jz9Cv0H6wkr7RbmbWyY+U7A02DUIMjBg8NqYYuhjsNuw2/Gxkb8Y2ajWaMlY2DjCuNx1g0lhurgHXLBG1ibZJlcsnki6mRaZLpWdO3Zlpm0WaNZtOrmKtCV9WumjBXNA82rzYXWDAsgiyOWggsFSyDLWssX1gpWYVY1VlNsdXZUeyT7DfWutZ861brBY4pZzOnywaxsbfJsxmwpdh625bbPrdTtAu3a7Kbsze032Tf5YB2cHLY7zDGleXyuA3cOUdjx82OPU4kJ0+ncqcXzhrOfOdOF9jF0eWAy9PVKqvjVre7Aleu6wHXZ25MtwS3i+4Ydzf3CveXHnoemR69nlTP9Z6Nnp+8rL0KvZ54q3kne3f7CPsE+jT4LPja+Bb5Cvx0/Db79flL+Uf6dwRgA3wC6gLm19iuObhmMtAwMDdwdC1zbdra2+uk1sWsu7xeeH3w+nNB6CDfoMagb8GuwTXB8xu4Gyo3zPE4vEO81yFWIcUhM6HmoUWhU2HmYUVh0+Hm4QfCZyIsI0oiZiM5keWR76IcoqqiFqJdo+ujl2J8Y1picbFBsRfiKHHRcT0b5TambRyK14zPjRckmCYcTJjjO/HrEqHEtYkdSbTlD6o/WS15R/J4ikVKRcrnVJ/Uc2miaXFp/eka6bvTpzLsMo5vQm3iberOVMjcljm+mb25egu0ZcOW7iylrJysya32W09sI2yL3nY3Wze7KPvjdt/tnTmyOVtzJnbY72jKFcrl547tNNtZtQu1K3LXwO6Vu8t2/8gLybuTr5tfkv+tgFdwZ4/entI9S3vD9g4UGhUe2YfZF7dvdL/l/hNFokUZRRMHXA60FTOK84o/Hlx/8HaJQUnVIcKh5EOCUufSjjLlsn1l38ojykcqrCtaKmUqd1cuHA45PHzE6khzlWxVftXXo5FHH1bbV7fVqNaUHMMcSzn2stantvc463hDnVRdft33+rh6wQmPEz0Nxg0NjTKNhU1wU3LTzMnAk/dO2ZzqaNZqrm6ht+SfBqeTT786E3Rm9KzT2e5zrHPN51XOV7ZSW/PaoLb0trn2iHZBh3/H0AXHC92dZp2tF7Uv1l9SuFRxWexy4RXClZwrS1czrs53xXfNXgu/NtG9vvvJdb/rD3rcewZuON24ddPu5vVedu/VW+a3Lt02vX3hDutOe59RX1u/YX/rXcO7rQNGA22DxoMd90zudQ6tGroybDl87b7N/ZsPuA/6RlaPDI16jz4cCxwTPAx5OP0o5tG7xymPF59sfYp+mvdM5FnJc5nnNX+o/9EiMBJcHrcZ73/h+eLJBG/i9Z+Jf36bzHlJflkyJT/VMK0/fWnGbubeqzWvJl/Hv16czf1L9K/KN2pvzr+1ets/5zc3+Y7/bul9wQfJD/UfDT52z7vNP/8U+2lxIe+z5OcTX1hfer/6fp1aTP2G/Vb6Xf175w+nH0+XYpeW/gYv3m/g6otvwAAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAB10RVh0U29mdHdhcmUAR1BMIEdob3N0c2NyaXB0IDkuMjcvl14hAAAgAElEQVR4nOy9vXLjOrr3+/epfQHmXIGHfQGnd7Hz46mi4ncldDqehA6nJ6Ky9sqkaNaEUtK9UzGYvWOxyv3mZq11LkB0nxsw+70CnAD8wBdJkCIl0X5+QbdFAA9AiPwLHw8AgCAIgiAIghiXK4Cduwwz4QpUVwRxTq7wf527CARBELaQYBEEMRtIsAiCmA0kWARBzAYSLIIgZgMJFkEQs4EEiyCI2UCCRRDEbCDBIghiNpBgEQQxG0iwCIKYDSRYBEHMBhIsgiBmAwkWQRCzgQSLIIjZQIJFEMRsIMEiCGI2kGARBDEbSLAIgpgNJFgEQcwGEiyCuGy+/8W5+sv3c5fiQqBTc6yhU3OIM/Djb98BAPdfbs5ajovgigTLHhIs4uT8/NdvP8u/SbJIsPpAgkWcmn89/hQ+3Xz++9lKchmQYPWABIs4Ld//9kO5cvP413MU5GIgweoBCRZxSr7/+t1w9eO/b05cjkuCTn4miIvk59/ME4N//Flrdr0rLqiFlSBPAaTiNdcB4AP+eYokQS0s4lSIY+06j3+9OVlJLouL6BKmeYI0Tztiua7ruO45hYsEizgR3/7RIld4x0NZ5xasJM3SLqWScTzP9byJitMOCRZxEsyDVzLvVLLOKFhZkiX9tErA9zzPHbM0NpBgESegdBTt4pd/3kxajovkTIKVJ0mSHWvE9b3AGaM0tpBgEZPz89ffrOO+Q0fScwhWFifJWLY8Pzhd95AEi5iY9rF2jevPXyYrymVycsHKtsP7gWacwA/GtdgECRYxLf/9jx89U7y3oazTCla+jUdWK44ThKdoZ5FgEVPyxz++D0h183QzcjnOy7f/DQDX/zSHnlKw4jiezrgbBpMPwh8hWHkKwKlVNcsAuG4dnADwPWFILgG491lWDfY53arcEdmQj06aA6ijVAVpspHpo5FS5mkOQLjb4rMYh5sQMqkyzVMxaSOnqt8p+fGffXqDNddPH0cuyVn52zcAuHkxh14BADsBr9HkehLuJ76HY+rKAeDUH30AeC4+7Ks3NahvAWVukXiP/urQmk1rZGM+Oj4A+HpBmmxIeRY5a/aEa44ehyuFUNoq0z0ARK33XBk9Qf1OyX3Tg93F7dmKPAW8Gm4aQuWncTIO4Umm87zNpHdxTF2FALArP70CgFv8LfnCBq9CZvoLBTirtmxaIjfko8PjVa92VZAmG5aCVdo46HGKS4IuVQlsBetE9Tsl13o9WnKuEk/CPYA2wTrBWsLk4cM2nz4bIH340/IkGfXHB4RFRzEA8KmCfCFNmcaLjhvIl0v7XIXIffN5MJnraUOmuHvDDPG2sNfHmsJ56ndUhnUI3x2TC1ayWGynzqMiX3+4TMkKHAhvZAoUL1S+4G+Z6/u8z5wuukyt+ziFlJF755Pp7+2AsooUJTH43xX1kh0xI3Ou+iXOwJQNvMPpF/85Fj2IQRxVVyFQj6o4ADzGWNkhCZ4Zq8ZaoiqzusvCrz3z2G5zLo2RG/PRKb4xp+g8VQXpsLEHlL6gbA8B/1iObNdRn8tvrrZWZWrbJTxR/U5Jz8dcwGTt6fGXm5ubm9v7by+G0Pzr/cebm5vbz0+MMfb09PT09FTGy3+7v7m5ubn9/G9WBz7J6V/4xbzK7TPP7ZffTLmx/Ovnj4XNXAn6/fH25ubm4y+//V5cuAcAXD8Z8516DOsQDv8WjsCdZizrqLraAUAxPvJc/c1Hb8IyUgiUSoEyN+GFKt/t5ttritycj04pMEXsqiAdNjoFy63sOXLUCMW1WimqTK0F6zT1OyWDHvXqNmS+ihOH9y9K6Mt9PV52840VE3LfeOBvQtj9Szm0di0LTWGeG84fxeG3229qYV4+C+HXUmnyX+qQG57wXro1dSyr4X7H4TU66coZEW+KGcPj6spB9ZJGQDEnFgLSW+4CxduDMjfpheKfgsZMmiI356NTtYl5HVYF6bDRLlheecd7FJ21OqoDwJNaSAME6zT1OyVDn/XrL6olzTPrUQr+TR7ef5QE6162/Y098r9+Ey0UKe7Nud28SNk9qrMJdWle5KQ3uVaAUwrW7uSrk0XC5mmwoRxXVyEA8EJ5KHssDiBMyBXtBLfMzPBCvaK1FE2Rm/PR8QHARfmi29poF6wIxSReBGAlReVto51U8ipTe8E6Sf1OycAHXWs/McNixM91aH6vBhaC8o0xVspTxVMpTpLvxOcy0Jzb9b+F7G718F+K5lp+I1+/Yex8gnWGwSsZZ9ddyH4cV1c7oOhsvAJFj2UPlK9WgQPwxgHK3OQXir/+je3Hhsgt+ej4ALBxytKWBemy0S5Yu7JcAQA5asjNSJ5U1d3bC9ZJ6ndKBj3lt0+anUdTvPsq+BdTMMAFS3XXvGWM3fI/X4QsbgAUYmJeql11C3OjU+vH3FjSr4x1C9ZEs4TrT+eea8nv7i5qvjBwUExf1ZPuqhe5Oj1vwOuKYIrcPx83BCBNuA4oq4DjFhYSbffYGIDnIgCQH+HZcI76PTc3T0+36rVvj1Xo7W3VG/v2r+KPX/+7zWAZ6+aWC80XAMVBPf9Vx/r+AwDwC4Afn412Pv9R/PGPP0zBf/zKC8U/XX/k5by5bytaySSClS0uwbkg/jDhWqD+BCjepRSAsJuXNNDnlhFa6VW5ZeR++UQukK/VqwPKWuDzqFleaELFNgcQFFJyzK/cuer3bFx/ebnVLv74tQp8eXrKX+6L648/AAB/PBafb7/mjOVP91JifAcA3Dy9PP3+8vUGt7cACtUTmlKFdv0dwN/qsjDGfv96wz/+LK5/+1Zm95Qzlv+7zO6376h0768vvz/lv9/fQNp54vPj4+Pj46Ouh1MI1vbszStOfvdwQY9etTQuRunVmALq+zsJA/JxIgBrwWnqyLJ6ABKuSLKRBAAC1ZNqAGes37Pw95dHw9VffwAAbn5/vAGAm6/FwPZPLmT/4LGuvz7dXwPXt1/lcW+e+P4WwM39y9d/AsD1PTfwvYrF/7q9Ab4XF//68ngD4OP974XC/MFFrVDPm6en22vg+pev5Qj93wD8H/7n4zWAj1+f/nkvFOTmn1++fPny5Yt+DuP4gnVJMrFdXE7rvnwjk6JJcRR5UjJCyYyEPsz+7sMoBCuD0kfLix4h+vcJlToYtX4vntuXarJPdJH/8Q2AtIVD+ee3n6gFpm5ZyZs9/JQM3vN+4f/in/6njFS2jFC3tb6VZbn+Z6FYvwHANx7zuu643j7xmD++q+3YG3PnUmN0wUo/XVJHLP10Ojf7LgJUjYxiawkPMLp+d5MuCrRem4lB+awACHo4vKw8uQNkQCJuBAGIA069+4RqHYxZvxfO7VOtM7/+WQgoBqFEFbr5yv//L1QC8+WjHsw/AAC+yQNPt7f8aqlj3Mj1L8DPbzzVoxC72AX1j+91duJezjdFx+/Xqq/e89SysQVr/enCHpCHc60N0/ABpBkSyI0Mvb46/UF6OYyUkfvm44XQmlgDylriAwmQakNYQCFYvIV0ROP8TPU7Dbc3zWHXX+smy/c/S4fZfzckLgTnexVcdPLkYAAAF7Kf/ymLCJ9Y/Fk2sbiRX66BQti+iJ5W10VL6X+qXqQ8mF54kf7xE/9PYe4v/4UejCtY+eXIQ8W63xrd6QgcAEmWouqx6HNWCdA+6pIA9i9UGXlAPgBWjrikcJiNGrfclkpKwdcPfri6urq6yjHCPOFJ63dCbl+azpi4/lKNpOP7X/7yQwz7ySXkVknB4wI/eeRfZMuCo0M5ZPRNOq31r9zAN/7pf3jIXwH8b81AHfuPSs8URwpe+J8/cF0U88f9n3tI1qiClZ9wnbM9yeJCGn0Bik5WeXiGBwDicRypshGdRpYCcCx93KrI/fMBinH36gsdZqPGB6ALlqZPx84TnrJ+p+WzOoXHuf+9ch3/+Q/1cOhCIh6vJLgnw8+fZbDiG/W/6j/r1ta3P9fbNRctsu+8Kcet3dyiHKO/FRtYwDU3/6MMFu0DlZr+v6inBftI1piClX64nCFukfTTZZTLBxCLPRYnAABhGGoJtA8Ylz0ob19g2I1KizwgHwCFa0P5YaCNiqLDpsiF9gPXo0+o1cGI9XsJ3Hytm1Ilt0+l5wB+/vpnzWvz/7TZ+1kqyP+t5CP8/bX+8FvdVSsk519ANW71GSgVSV16w038AP4/3X6d+w/gtt4H+cf9f/5oLLjK8U66nM3Zlg524jx3F78T4Ni6KiuoWja0ByAstl0BKJzHUeYmeWJvALQ5YjdFbs5HR/D13pf1Z2Gj3dN9z5jPx9sDMWq1UUON5F7fw9OdsRPU75TI1VAsuBMEBMDNUx1dCBEu6vVZ81IGPzEZfpV7p0tuDuUamsLb/aOQxUt9+V4x97ks1SP/Q9mg4UW4QWnndr5c8Z7faWMljdfC2l6ON4NGfhnuDcXmFfVxir4PVPMCxd5xps2k+Qx+/PBQJ2rGENk2HwXpPKKBNio8vp27lCIGqj0WitU1hj5h7b+QJK3P2Gnq95Tcv9TCJDqKfv9LPcg06lFfNy+Cuf8ut5nnw1DCzF/bnIC6E2HLzoSfRX38/KtlGRs1vxdtfZMLYIQ2FnBsXRUNCmH7kgN/t5wwiorXzH2tMjNt4QthTwOdxsiN+eiIq+nK/YwtbHS2sHbc1F6M6gJiK80BePOoyrRq45W0tn4mr98pkQshbGlQKMjf65bKizCOffsi2Ghdd5OXrSNhbTJjjBW/AdX6P7EjWqx5znm373PVPvrKGCtbWL8oN1IUrlpn+Lsc/MSvlts/iG3If7PT7el+np2venC8YgFH15ULKBtRPTvmYqLMTXuh2nZrao7clI+OtPy3MGhho1OwXitTVVR1cXJYFrnKtJ9gTV6/U6IU4/NLFfJyL+mSuP+Usvj5d3713y8mqmB5t5lSQYR9rATJKuxzEboue4TX/Oqt+KHiBgDwseo9KhtkaapZS9YNO5lgXbxejaBYwNF1FQHCfnKMMfWN8spCosxNeaHc1je2JXJDPjqSYL06VUE6bHQKFlcTT4waAkKPsGiEeWy4YE1dv1Oi3umN8KLnwjiQuMPeV8VG0RL6jZkpgpVjdu65MUlXKskqmk+FqD3Jw1a35VUpaZXQtDNN1QB7ES5VkvV0KsGagV4dr1jA0XX1DAiHu3CEfQ6dqGocoMxNfKH8sOPnvy2yOR8deYOVTVWQDhvdghUCfHi7iqptclNeqDLtKVhT1++U6A/szTc9lnAI4fUXdb/hUkKU1/3l44sULCtMOYykZFaMh5emeLa3L5KBwpw86n7PL35lZVtL0qZSxeQi5sX51b9VWyTrd84YG02wZqFXLcM2dgAT7R32uot83/ej0XfwmiCfU5V1TOZRZtMT+8uLHEfcnuFel6tq2OizlOimml4sgj+KScs1fKo6VkNRjDFl76pSbcrSPAnJim4nXupEUhPr1lDCahztc5VGufESsUjDmYleAd5RigW8sSPgiEvC/MiKG4rmwvpgYfBKVJ+i0ycOU/EW1KMULLSJHkuL3xhjrDqKomoplYbFQn0tLt4Wn4VNkcv22j1j9X6AQmnK7F4YY6y+B1ZF/Kol0SrJHGTPqlspLoWw+26aAUiwiMloeGRvqldXGGsXHbL+LfWuHosYt8XcXDVC/ygFlwaE+cZvjDF2Ux0SUSjPx9LwrVCmF/Xa9W9KbkWU+7I0RYpqDeQ9Y4w91Z3eoly/1S20xzITpZKugCPO6wCA7Xh7kEzP6gjviyscXVcE0cSV9On2x4/yz5vHvwL4XjteXX+pm1rff/0uPZQ/K4/xm1+uge9/lF5QX+/14J9/fK9Tfvsr8O1vAD7eXtcb0dyXvqjf/1KXrRiCh7Ay6Pr2I/Djv8vcvjzy0vy5vHD7UcyOb2rzt29qwO8fAadMcn0N3JRZFVwBx7YadpgVR0wCAdTCIiZDfk4fX4T+38ffvt7Wn4Sxdj6ZJ5n53Xzk/Zf2YPAW1o129akyXCf8Wl661aKXBS5jPJnDnxjTN5AvxsYetStqJR1Vzaqfy6XTdBqfBQAJFjEZ8nP6KDtw1hgcsmQ7Rkn6UgU3rt75ZpIX02BXLSK3DaaEMS1jdl8ZY+pxE9V16Syd0QXrdWZ6ZZ55twMgwSImQzktkDHGfr9Rn17RUbRyyFIMvWiprr8KwarR68KT/pvhRB3xiMFq2L0WsVseSd3H+FacBtCOLSzHz/RFVl/08o8uWDPcMHvwSfYACRYxGbfSU2pe/Py1jl47ZN2qlsTZREBZvaO23G5f6oNUX75I2dWLn6UC/q5cuZVLef1P1pKdsMRIOUKjTiekGFuwZuPQIDLUfxQgwSImQ24YVXODtYaIjqLCy379YrBVn1V/8/lJD74vjd7+m7GX29vb21vedsu/VrtbXatnHhYLFQV9vC0v1LsN3v5Tdw97+VyXRnJ2bQ74+svtzc3NzY0qxkfOEq4n21/Ux3F7ubXhGTY1sYFmCYkp+fHrt/rD4xf18t9rt4afv9Y7Yd3KjbCKn3/8AHD90RyKHz9+ANe3pvGuP378BPBROwL1zz8AlNONAMpZQj5p+MePn8DHm4Yx/aI0en4///j5s6WYKldHCVb6aWhKM57rOp58SEGeIsuyfFztioZ5jpFgEdPyrTikCwAe/1693D9+/YbbL7flx5//+q3aseVGnD6cln9wkbwRJvdEwToNRwlWPuJ5E57vem3jYWmWpuOp1mHQpt0kWMTUCJLF3a84P4RtO/9b2Lv4izJaNSGFXokNrLkJ1t1I53m5vu9bTTbGaTyORAaDnMdIsIjJ+fGt3sbO1Hz6/uv36u8vnxudqsbmx9+KbO9FP4VzCBYGDyRvRimBG/UaAz+sRpmXHOQ+CtCgOzE54qyauJJQDVPm/ial8qAQ/RyEQfeTccSge/ZphB2Rg6D/hv9pvD06Z/fQHUeDWljESfghnN31+e831d/i4JUwpjU5Qqvud2ko/hwtrMF7uh+/g7sTHXYDDijxVofNsQfHZZd4HBlBAABuhI3chbNr/lWfmSoepTo1P/5WLxn8qk0dnpyhgrU+dgjciQ6rgbrjhIfNkT3D9eUemEEQ97ULZ3lm3/f//FzJ1Rfzqp1p+PGt/OvafFLiaRnYJTy2Q+iE0ZGLerbrowbgB7g2UJeQOB2iV9Yvf/35X9+rT/f/PNlYO4B6T4aP/74xhsxilnBxXAMr7HM+VBPLY8aynENvwSTBIk7Jj3+YDsE55eAVh28sc/33Ry1kPmNY26P0yt0fPQgFAKvnI47ozdfdcQjijNz8W3div3k63eBVye0tgNvfH0+dr5lBgpUftSQneh7ppEp3txverxzJiawXqXIOaJq2h7dY0g6GTRp7yJls1T4T4syIx6gC8lGqJ+QLbp/0TRfOR39viGMOTXVGPUfpMHzwvfcBKcPqqmIfAIBbHdxyCB0AwaEhPPIrVEtqSsY2HgC3YR+KQHA7UwtBXDjiQcyGU3JOw+8N13+7v7+/v2/Yfn0SMOglHLh4GADgj/2qDBZPt29Og+pKL6fLPWXLnQ+dnTlcKKliSU1Zb5phPGTjIPjJqpkQl085I3hKR9GLxfQ+dHNEj+6oUyDMbIZ2C/s29QbVVckOcKLD684vTht7dYDo+XnlwDkYwwHP3MJSUzIWAsH+sPfN1RvUd6pmQsyC32/1vV7eKYMESzvc0p5JzqkcuktzX/E8SrDc8hzXkJ91HBVHHu+Lcqjh+0ZBVVPWf/jyqaSMMbZfeYI0q5kQxLwYJFiDZ/icic7VfR44kNWzkXGMYO2rnU5fHfiMMbfskvpwXg3hm8a8lJSMBeVG9XtNhoob3TcUgiDmxZBZwu1Qh01nP9EGpd5+mGKdcH1OyvckBOB4SIA0Q1EZAfJED0eGhnajmhJ5jJDH9ff7VkcPLROCmBv9BWuoA5MzUFamM31Cz4YckIqYVp99INXDkaPhltSUSCoZgu8rrV/GxFkJLROCmBv/0TfB0AbWhHoFOPuF5pjUTZqN4b9qRehXLaYUPpBV2uECmR6ODG6+zTLPDZSWlppSULC+hSCI2dFbsIY2sHaT/rg7m8UAd8j4GIeyXriVNK7zQrBK7fDSXA9HivRDDiRYbuRunpoSAJxkGwNe0HE7WiYEMTf6dgmHNrA2E78g3pBNRM+wycx2CS8CBHV1TOHIkeZeGLjI7+RSailTYLuIAaRL2xXpZSYEMTf6CtbABlY0+YFg/oCTJbLxNqW3zHDxAKdlq9YqPAGc/fNmd1gBD52lfEC42298pIsxCkEQl0vPLuHABlYw7JyaXkRJ/4mv0/UJASBfrwFv1zhwJoS7EQIPACIssV0BRe/PM88d7n0A4V2cbsOOmJ2FIIgLp48fxLCO3WncqvtvGIOgj/2+daWycwGncJTya1N+6RIlhgs4cFlV8Xs9pV97VwG+ELMgklxQGzIhiDnQt0s4oBEDAEdsqtADt39zKT7hxgUPdxmiQ1FGYQYiNYULeMjkj1pKFMPyjt/pXdWUCUHMg36CNcxzKTqR98+AXQFP5z652MI/rATlLmWo8LjSwkt45RWNJF9P6dUi5qoxOwtBEPOil2ANO7thyHD4MPqPJA/w3hrGMkG4rwXVr7JO+GyfEi6gFFFL6YoK1qsQBDE7egnWIL064YSU33uI7VSCla0RiPXgVY07vl5GDf909alKKrtMqSnh1+3EtN2FVM2EIGZHL8Ea1CMMT/iT3ntw5lRdwhiQ2plOUI6fbeF5eriPtCjaOkPQlhKuV54BtM3a3UHVTAhidvRxaxh0ULx7ynfE9/o2mZLTeHwnYvPUDYEwzh92AB74WmY1PFzjbucDWK/hyj5sSkogusseNg6QLOG0KrZWCIKYIdZzioPOfBh1R+ROevd4eszw96orBamV6TPGWAS4UeRV22Ep4RsAXhi4KLewqpFTMsZCwPFDD8CO6dRuDXohCGJWoM9L+NpXDICenk4j0Lf/2WMXvz51ZUqraEUkFkAPL11BfH0zYymlcME1/jjUgmUoBEHMiV4Hqa6HnJVzOPGk1LLn2iHPfoP6sc8lzLYZ3KB5mDxOU8ccrqXM4izzvCNOPSOIOdDrINVPA6bUwlPPSmUfeiawlyA6SJUgzkufg1SzIS4AJ/epdvs2M2jnTYKYD/azhEN8Gk7p0lDg9ywnnSo6iKvGkHqc4Ur8ICZTo0gmDY3YKjOmt3Olz3WpDKMdVd6Gz1fiX+ZUavHUjNVyGwwx5YOhuFeQQ9pqw1TVjanUSjSkas5s8BcmYXgYmFz1Fh0Y+xbWEME6w6K1sOfCk5P5uhMEcTTWgjWkR3iGBhbQs09ILSyCmA/WXcIhDayzTFsF/dxbaSUwQcwHa8Ea0MDyzrJveP8FhQRBzATbLmE+oIVFiz8IghgVW8EaMPvvkCMjQRCjYtslHNAjVE/UIwiOOustuQ60uTJfiX9Jc+08vcG1oKaawTd4ABs8GdRU0geLvNSCNuenJhbzanXsbktlU4lKqubMpHpr81aZHtsW1oAeITWwCIIYF0vBGnAglkuD3wRBjIulYA0YwqIGFkEQI2MpWEOGsPonIQiCaGOyFpZzoqNyCIJ4P9jNEg4YwqIGFtGEOm1WL0CG8Jc66WRetNu8CttgGOLsVj2hJkaGMvt1ZUwFfSaOiWWX4kO5Y/X2qlKaF0M3rDE2r5durQ7lDmp6Vb0h1Qmxa2EN6BHSkDtBEGNDgkUQxGyYSrA88holCGJs7ASr/5g7NbAIghgdK8GiHuE4JEpFpurnhHbnIog2rGYJBxygSk4NKvE2ARBEZc1k6zgHglW5yWGyjQG4QeQAWEpStvL0CwTxTuk+Daz/Tsfe9EeUnRy7umqi2mtnwz8/F4N8TnH4aVXH7jNjTG6g7g0Xzkzr41RUlPRBT8bEwCquHK6kYnpkk1UxFjN/cWJZDalUe+ab1O7YUDYlu4ZKVE20VUfrZ3MuahFak5irHsYvrLnqDRhsM/HbsXi9LFtY/buE1CNUWG7hRX6+3eYPngcgX+SIAiTr/MFzAcRrOGHoJNsku3t2xAZqlsGFfoEg3imdstb7OOVeJ8DPBru6MnMAvFfGGHt2qpPqV4wxtq/Oqi+OpA+Vynt1lcrULpyF1scJ1MIy3kFzJaom2qqj9bM5F7UIrUnMVQ/jF3b6FpbhBhui9eL8fZbxsasrM/V58RvgwBhz4fLPPpxXxvZAxD+/OvIp8pF6qLx24Sw0f/WMBIsEy4jBNustWDazhDRJeDRptdtOAMRAmpUbSAfIEyCtqszxJCeSZO3Ih2drFwjiHWEjWP0nCWkSS6EednKAFEirOvKBFMgb6ix/QOS2XiCI94TNoHv/Fha9UgqS338OZJVAuUAGhH4VJRWbp+vMk6dotQtvAWndLtM/i380nPxs3t3XvKVynaQrlZK29XRlQ171h0aYmLJ5I+W2zZKZklHzgcxq8ax3NmbK7dWpqiwHjBsNwv6o+j6QYCk4SHKuSGkpWKVAeWkOuFWNrXNBsLI1VpId7QJBvCumGcMiwVLwgTX/a11qVom86HK7hNCEelBPWdQuEMS7wkaw+q8XIcFSCB2s1wDyu9bTPLLFA4Qx9SSB3P/TLhDE+2KaFhYNuis4O2D5p8WnP8WO1yjn+fJDAu+5rry12p7SLhDE+8L2mK9+0N4yKv6zizxJ4R+cJsGKP63hrJ7r0CRRDs/WLhDEO8Ni0L3/3jLUwNLxDmkMBB53EvHqSi3brw9bIIpEqY/hyhtNaxfeKNWMU8Pmxl1781Yx1dkt8+SdYZdk6UM9CanO5xmmJ8WZOimvKzGl+Q7VGUwogYb7VBMzPZyJUVoNiRO0XbN+DZU2OZPMElIDy4THdTwr9DwrmlI5/7xI4G9kl6utsjG+doEg3hsWXcIBZ6gOKMh7IQbc0l0UABKu78sE4d5VY4btFwjivTGJYFELSyVZLGqBCgCv6mnzRTnZGoG64iYRvLPMFwjivTHNoDuh4CbJFv+c3/kAACAASURBVACQbRE6gBMg5t4iW3geEENzCM1jtUeoXiCId8ckY1jUDlBx/WTrhUB2B+5JFcb5ww7AA18FnQDbOnIIfkmevNAuEMS7w0KwzuronvSfo+yHe5phodUif9j6aQLwkXU/WscfAiQpwhBAVnnCA/BLwZJ9rrQLBPEe6dqDpv9bMuJuWJM7dttvLgUM3w+LscK/qtwRubqzsLKtFMkrd8wq0S6ck+YKZd37YTF99ydDLM2ekr/hg/mqlLFkXvqsRqzyNpfNVB3G7Jo3nKozkqyqnxUTdaWolWS+1FpJHSUc/oUZUDOq45af1XJpTLX4mdDwDtss9YT23CrcZnAD3sszfMXPnRcI4t1BflgnQ+17urTvAkH0xGKWkJYSEgRxGVi0sOhwT2ImmJfWqB/U/nfj0hr+H2uO3Mek4fNpF7W8DWgMi3hDCKvrmtWgI5Jhw9FGY0ZTjUsdSaCOhwSLODn10mBxOW694pbp63bVdb5Qkoy2Sa9Zba5GsW5osKmaJ+34XG+M3JKoXJUtphJCjKmuGlOZ10erK8jrS/zzCZWYPN2Jt0nXlg7mRI2pmkNGy4KwgASLeEPY/NQ39wjbtYQk6xIgwSIITqeOjCY0JFmDIcEi3hJCm6lbFOQGloWIjKczpFgDIcEi3hdNUmElISMqFknWIGiWkDgt0la+V1qATUJxXmu0gSXLaBNMiIkzdfVGzF0Fkub3rKtjWCpUsar09bel7jY97ZQhCRbxpmD2Cia+WVe2Qf0Uq805awrte/uQYBFvFaMiNPlZiai+7fJZGMN0hunZkGINgMawCEJG36llNMu9h/kJhUkEa+pN9wiiEWt1aZpQNBiQLh0lM9SoOhILwaK9F4h5YpCWvr4ObRcHMZ72vU8sBIt2tyLeNurKPAMtA/Q9oTbWUdCgO3FGqhW+qBbRXglhEup0fNM6X8t5Qrt9YiZALN+VaQ0ya6kEIWmTo8fgVM1V0nqktPoFTguNYRFvF026hjeORnwVqY11BNQlJN4aVoLQaw2PwohDTzSK1ROLLiGdMjgWWZKlcJ1AncZIc6/+VUjVWY4s8+TfjEQ+AFpNoBkgrGnRuh4eqZ25kEwNZpIxrP67wL8HsnVxVuraX0mSkiyw98s4cQ4EK1GRlvFeOGltu00BNygPsFATKJ+X9VexH+9O5oPim0lC8RboOgus/9GAXuf5Yta8mXMJ2bMDwPN9F4DzLAS8utVJjs9FU6o+vZCxg3TOY3n0jvdqTKB+Fm70iKIbaK5Q1nEuoeGSVEBDgRXbEA0Z767fdctKMkUzJu22J8aQK024yyYDrVXdnG13qobM2BFfmITBUH3HzPJcwo4viTHGBvw0d2ZszZsRrIMDBAfGGDsEgPNahwQoJenVAaLn55UD5yAG14IVAsH+sPeLA1jVBNpnwPMLhhfdROt3jzbBUq8qaesozZmptrUkssWO62iK3XzL7Wm7DYoxtPtS9bglsVhpSqquZL1SMeMXJsVqLaLBipRx+bmhuhTDXZEGCNZrl01r3oxg+cBGuKmoCtgBpSRFwIoxxvblgdBsv/IgCFYV4AMHQwL1837UU7hFmiuUXZRgNRmyiNx2z61pLQy2VR0JVjOtlVpyMGffxnhvyVsRrD0Q1J9cOOWfBwdeWWFueRi9XzTB1OoMyqbZniuTmkD9vBm7J1jRXKHsAgSrs+/XYN36nlvTWhhsqzoSrGas3BoGzBJm/ZO8cbaAcNBzgLz0VXvIg3JIPc3K06GFcJE8RsgHqfz9PtATaAayC/RJYYxdXV2pTzX/fHVV7mt3pW9wVz/vPD2PcmWIOTOqG+P3Vd+YdaqriVOpVV3L0tWV9AVM/23YOI72f+hJsBTyGIEg/OF+X8wTLhNnU15Nq3WbfjHTypjUxkyAUtx839UTaAZy8nCYu5oRMjZuDV5vz3Xya1BI5TXklSNVusam+j3IqkiuWfMVK1oCzUAGN99mmecGl9fSmhSjp1PXGhRiBkzTwiLBUkjMm17kd4iC6lNWV7WH3GzISe6urq4+rY0JNAMp0g/LbbJ++BCPcBMEcXZsBKv/IFbe8LoRMuvMFXp8QqWZfyNSYLuIAaTLT7khgWYgR5p7YeAiv9uOVeZ5ULehDG0tamDNl2kEi5Y/WxGvsevZfH1AuNtvfKQLi8gJ4OyfN7vDCnh49+OKNJr1FphIsKhPaEH+gKj3oPh+E/jhPkBq0WRyo4iv6olWwDtrYhFvExvBGjDTRIJlwV3urbpjyUR8mnADWIxKuaty0WLk2MQ/CaLnwhWEKXImeiFBn2uv5uGvDJ4RmvNPm6fYkXdwPMKNMeHG6turgxtd3sRUanU0+0K1pWrJTHHVMoRw/4bmjMfCZpbQcXoPSZFgyXhAKqxgxgLeKkngLgEgBeIEoSvMxjbWXzFE7/hJIk3fpoD+WSxA8m67hMUCaJseYes5NrLKEOfBareG/n4NefruHYAkfFlCkoT3s6tWzxbwXQBZ0f02O1B5SXW52p1BSdBkoP9X+G6gzV7mhNWOowPEh94PCcdHLDRxEsCDUy5LdgHP9x1B1RLzPKHgnpUD0BK0GHh/Td7GVhA1j+aMlWDRqPvRBMBD9SHfAgG8fUEArPZ7D16l82nt0i7i1z8EKTxoCdTPn64+lUkzo8H3wVX1z4VwSWWZG9TCOg2hh6RSrGVergmUcALEfLRwC89U566HdREhg68nUD/7SIvvYZ0hMBh80wxpSbVIyTRDWNTc60/nEulBA/+7bqsTYr8lzqm2l3l2AH/PGGMHH+J+V4xF5X4M5ZYOobAVTR3KGNsBwStjbO/w3RjUBMrnA+DsGWNs5ZTbOIxF6+OEjt0aAHmZfhVQf2jNTLUtJTZnZtpjwGTf6o6HXGy4HTW2ensGG4bamHq3BjVJHSZ+aC6ieHtMSVJbGWt7GcbYgO5E1G11Qi5PsPhmoI5hx1FBkiLAjSKv2g5LDmWMhYDjhx7KHwQ1gfJ5A8ALA1fN8XiaK5RdnmBJM/EdN2Nzw8arHRcbTWn3RYLVTHOlygzYlWrkX/Se2Bf4ZILFDmGV50EKECSpKHdoDq0juE0JlM+lI70/sl7NQrDE3MS0rTdjccNdVzus6XeiV4oY1Ja+DNdTvVXBUo9INLN96I6j8nxOx4bl2jamb90YK864PIIsyVJ4TtAyiZFtM7jasTpihDjLPC9oTKB+jtPUaTU4jObBnvqhkg7tVJIxpT7VozmlilYzY4ptKbEpHes4Y7T76OeGGMaBrfbRLulmmOZECvn2DDYMtaGdxdqdbECqOkkdJn4w1oCcXo0lPQZX3a/XlaVgZR+646hEvb24R2RhPeh/SsF6Q7xdwTLGaIrQX7A0SyRYvQTL7uRnd4Bjw1mXgtBuEYQmh9Ilc0Q5svnSUT9a5NFwJJZH1Q8Ydc/O6YpFbmAXizQ2Ywivt+NVtt+th0D6b5HcSye0yKPplVLUuiL4v323SOZcifELE5UV1dAxqaRdlas7Ur+mibEUrCGnP59xewDSK6IXsgqpr+QYORjeahpfGIClYA3xOozP1y8jwSIAgyQ0aoQ2dtPUdOinMo1melsiOLYtrAFNrPx8o1jvdmcCYiiW8jGeypBeDcJSsAatRDufYNHCIAJAL1Wwikp6dW6mFKzkXD2znLqEhIlWlbCQENKrszOlYJ1t2J0aWMQAukSkzb+/Z06kV0OxFSxniGJtzzSWRIJ1wRim4Kq9klU3htrzgSlLSOqJ+MaVIDxd4wdT5GNbYHYYslFvT1yOUjsgNFZdnUQ1qe6C3JjqSvoSjKkkj5KT7IdswFawZtXEupTty4m50fwGjvZuUuvqKKwFa9B2StuzeDac0Z+CmDtGPRmrKXGWNsnbwlqw3CHrZ3PrNchjQj1CokJe62+bovljo3VzljLDboEQsBas+TSxzuj/RZydeqDHcEyYYVWJOZWgMS2p5CPLFB9Rw2fVxEnXtLwRJhasfDkk1XFQj5Ag3ip228sAAD4N8m46/bZYH3rNTdL2MoM4dnsZLbIYRd1ZRd0b5kpIK9mq4zIllhSoZG9Ir2ZkKL60FY66OUud0JAEStWoW7YY4hvyUsMNVpgYoOzs03CHqq2u71BJWe+OY+CE28sAGNjEwsmbWOfypSAIYnJ6CFbYHcVAcuoRpbOM8xMEcQp6CJYzsIl12iElamARxNulh2AN7BNmJ23ynGOUnyCIE/EfPeIG7qDWy9o/4aHD60ueIsySLIXrjH8kRBeJeX+ghssEcck0+7mpDDjtCwDcV/ssjsT+PMKSsxzzNfahW100HBN5xOmRzRXKrI750iKLUaqIairps2pOiqvGasvekF7NyFB8Q3FNp5YZkqhVoyfU4hvyMtebWglSLuJNN9yhakuN31FErVL12jbdTvlZLYdGvy7hwGH3E3YK8wHHkZ2K9NMW8HzfBZIF7X9TwcTd2cUtxiH6c9afDb6W6oskfrgS90lXwiBeld5oNaOrerlvmVe9Wli1Z3BHbXyJr8TVxNB1QfJIZYoUSb6pBikRyyLdG8SqNNeIdEn9NuTyywvYJ/b86SVY7rBRLKxPNVO4vNwR92yRIzg87/eHQ4B8cdqeKz9vmiBmTy/BGtrEwsNpWhTbM5570cVDjs3OBQB3F516keV+P/SbI4iLop9gDf2hzh9O0aJIL3iGMEkQVKKxcs95pBBBzJc+s4QAooGDROlyMyxhD/K7C54h3ALCSdjBOk98AMjjJIfjBw4AIIHnJHEGN/CBbZLDC9226wCQxBkcL6wNpNssCAHk2zSHx2doq+nALE5zwDv9PCVBjEXn0LzI4LGQwfNRtrwOewlPM0v4CgTCx8N+/8oYY3uuM3D2RQ77YiJ281q4gmzarjNWfnQ2pYFdUde7wnTwyurpwGqaNyqiX8AsoRhRtSLZM2ekfiuS1Tq4zZBawtaySLYN99VovzmX6i+1hg0FMd9hw2SdZLixeOZcmZq+bQrQcHu9KqH8zLow3Ww7wxtKm1759GfgKM1pBGsPrPSrzw7gRZEP4JnnEMBfbUIAHvzVJgCctuvs1QO8KApQKdvGAfwN9+8Io8jlN1go0wpwwigKnSr62QSr/luNwuS3hCnhEAOhxlTeVYNJqaDmvJqLoxbEWMJmk6aymgtmKELXHRritpVKzVUujyJYA74wA4YSKbdjuBvt3nq+hK+OuTAWTKtYQ0eVTyNYEbDXr7pFpWwAt8ghLGLzPwKerOk6CwsdfHbg8JaU46wK085zEWNXKZML58AYYweH3zYJFgmWWBvK18jYEV+YAUOJlNsx3I12b31fwoHOo0DRipiIwbNgZxSsXSUYEbBjjJUNp0MhYGxfCpb5+qHQr6oFB26HsU35+/DqIKyUqcovJMEiwZqnYPWbJQQQDW9iTegu+TDHWbcEKOQ/Kvd15o5urrZu03w9rgz4bmGgcJVL4HIJd0K//sL2+yN+bgjiAugtWM5wj558MZUD6Sz1Chm8ctDdA3d5bfo1MF9P67WAHvivQTEIn6Ccgljt69lJvxCvmDaRJmZKT7cGAKt4sDt5freZxIFxnnqFpNYhB0NanznyRfFnhrwwVISYp3PTJE+zy10OQBAd9Beswb5YAPAw2Fm+mfzu8o/J8YBU3LNiAW/FLxfhyTAfsrzXrWcPPLp//oOFpH17mRLCL6n7/PK/61R1QtEKg7ARr7SbsHnLZPN4i5R3bYsZ9wyWkojZMfGDubjNSdSCdG1mbtiW2HCTaj1K9WTORS2+ITsepcd268MZIFjh9oixqId0bA/S9ETrfo7Ch9SEShK4gJNX19LGzmA73qo7TkX+KYfve66L5dkFiyAGMUCwsFp0x2lkm+2GD9sbiE+y6udYHD+Js7qXlgCe1KzKMcTt1Wk5kLs0nWVVnG2OabrkBHEqeg+6A/AHbtrAST6M2CLKl5e8HkcgAOqedL4FAsBDWgwnZekgwfKQlnf/sJAWUtadvvWiyjeBV+jV8XXWNvMsTFbXH/RkUAPFKHVcMVUdxZxECm8olTiD35g9U03qjhqt1WG47+Y7tCiORfGbyt3iT2EwZE5sd7uSFQPmShFvR717A0MEC6uj2kj5p9EWKaeLuRw5EXpIKuVY5gh566iYLdi2NJVaCKojN5Jt4sohGTedxwbLdNQsMVcGCZZ7ZMdiPeyIQ43lSHZOwcbBdpEAQLbYwokA+B7WawBYrzFoG2k3xHoJAMmd4m4SFONU+V1eu255SBMASBf5CG0sgjgDQ8awjnJtAACki7DPaLGZZDkfuQK8/SJPEsdDlgHO3gWAzSJfbn0kGZxh1bFK03XsO0kK7KQAZ7PIF56fxznCSgrDNRahgyyGl6bLY391COI8mDuc7fTfO13FNayt68PhqIG0mrPs6X4oLpXHYnvPRQ4Rk/6oluaYr9e7Nbh72QBjz0UXUVyTs3GKyM/8xk+whwZBjMhw34nl8YNH/mr4rkz5eqzBq1MeVZ8lWQrPCYThpjhNHdc7QnzTOMs9o4E4TV03kIa28m2WeV4AxDF8amERc+NqsGDln0bwlw6jYdtr5evtaGMwpxQsgiCO4WrYoDsAZwz/z+2HxQAPxvThTxd9+iBBEFMxVLDgj7LwP1l86tdYyreLT/NcOUgQxNEMX/8zSqcQABBae6LGSTx224q6hAQxF4aPYQFIP41WDsfvPjkvS5KBK4RbIcEiiLlwlGAVTotj4fqu1+Q9maZpMtGmKCRYBDEXjhMs3I2+xMNzPMeDU/o7ZBnSPM2ndBAlwSKIuXCkYI03jHU+SLAIYi4Md2sAADjj7hRDEATRylGC1W//OIIgiOM4TrAQ0jEsBEGcjCMFC6tLXpF2/BJtgiAuiWMFC0esYJ6ayL/cshEEMYCjBcvZX6oqeKtB+w4TBHGxHC1YcDaXOVXobJrPJSUIYpYcL1jw9hepCytv2EbpBEFcLCMI1mUqVhgC1CUkiLfFGIJ1iYrFPcScYRsEEgRxmYwiWJenWKUPPgkWQbwlxhGsi1OsXaFU1CckiLfEsGO+dLz94oK2Ld6Uo+0XJlhZ5tkIe+I0lDtP0hTCoRXqPhb1JENTiGoBSHMIhUpz+Hpy19BSTXOreyFOgXZyuPoIaRGUR1EN1+J3Reg8u7zrebE//HykE3ieL+fxDatCHTrjnu6YL8ZYgOpws8ivkOPsfAAInvXUr1FZxU5xPJfqyl/HNYfoFhjzpTrweVQlueE0sOqkMeLcHEIHQHCoLqiPkBaBSY+iFq7F74ogfRaebN/3eSH2AQC40StTozSX0ITylB/H4VKaM6FQqM7IpxSsg/CSC0WQ4lRLnTZq6mcXfG9WAPAOjPUWLIMFxnwpL1vBenVJsC6EsqXg7IoL6iOkRWDyo6iGa/G7IsifZV+iPWOMVSuO3fIATuXBNJTQiP6+HMPrZSiWJ5ap0xPrlIIV1E/JK+CZWlgR4O1eD5EDKG2sZwfwefKNCzivuvGgMdug2YIP0VgtWO1yFIAE6zJ4dYDo+XnlwClaOMojpEVgTH4UlXAtflcE5bPQfHKBA2NsBzjR4XXnA+4r0x9+YwmN4PiXUOISVkJ70pvcuZvEyQRrv/JQPyUNinAoy//sKCV7dcWmY6gVfFU8DDplSIMFH44gdZaCtQNIsC6DCFgxxti++Ha1R0iNoD6KargWvyuCnkHBq8sDXDj81zfkMdWnq9GABo58CTXOvz+WrFes8/jEUwlWkV35RW3MtqIqxob/OIkh4pfpK33GPbQmmRrSYMGHL/zc2gnWwYFHgnUZuHD5Hz5vKGuPkBpBfRTVcC1+VwQtQUnE3659NabwyjVUffgbDWiM5tZQEp3bvUH1r7hUR6zMvM4xhVt0YgNA3DE/38IRfw02gHg8Y34HbIw98iqkxcLKwUOvOd6HPKBVT5dBmqHo1wTIE+iPkBahw4BusCNCYwbJmh+3nFaT1I6HBNrD31VCiZEFC/7zWQeyNH+wi3mv+C9ORW6exM0qhXUA0bUgyRGKt+YGSIUN9Rc5X4ukU4W0WHAjZGvL+wCAZTLKwd/ECKSV747Pnxj1EdIiKI+iGq7F74qgZ8DJHxC5AJCr7kXKw99kwMjYggX3+YybkBr8Vy9jIkAjg5uvHxZL5dxrqfhiUArIp836YgtsmTbtVl2HtFmIfKy7ftqEsqxxoTt0vEOy6hF3gQz6I6RF6DCgxe+K0JTBOvO4FIT76rVM4UN7+LtKKDGW46jAyuvXvxgPk7+9N+UZYcNJkX7IgQTLjSgjDpLcKSKogiVLryeEb9dN54EIIa0WNh+wfFZLWCO1U/M7RLZHdRNTk9US5aU59EdIi9BhQIvfFaEhg2yN4je0djtec7dk5eHvKqHE6C0sAMHhPB2x0OS7eqFNgRxp7oWBi/xOHIvygaJvtlZbx8ponFeHp0tgYxysk0OaLcCNkCrH4i4XNVLAOnNpJ/+LQXjB+aOuPkJahA4DWvyuCA0ZPMBXZWC7hBdBe/i7SigxhWDB2a/OoBORcVzlYgaxJBLA2T9vdocV8CC0gkMH6zWAXD2jNmmePsgf8oYmjxTSYgHAysPa7pDJeA063e2CaXyETkuSQPlZyxYPcDZofvitmKBLCABR8GA/JjIKTsNxGJc5huVGCDwAiLDEth5+cnYLLNdensJxU1Fg/KTxm31I4ZsHsKSQFgsAsFrgQfJvb9isP39AdJl1SgBoeYROy1ppYOXrNeDtXDQ//FZM0sIC4O5POy7r7hucVi9zSyx3VepB5EjuC/6zizxJ4R8cpUWkyE01UrmO4e6MmaghTRZ4xhESaabQqx2WxSfvLqfDKC+b5kfohCQJpBcy/rSGs3p2gZaH34apBAsIDycc6QiavSkuUrAEPFlIvMNzFEXPeydTYkFusiZFhz9ZoqGLpoQ0WiiIXKy7J0uSBO5yuVwuUyBeLvs26ImxEZ77ckRSfoQMEVoNaPG7IhgziOGKoxQPdxkigyB4ys9m9wzZRF1CAHBWwfI0/UInatFG78R9075o5fP4F5hJvVkPSKQmdsK9FPK7ps6bGtJkocRZ3eUP5qaaTPWbuAX8S/85eA9kxZdQuzcpj5Aeod2AFr8rgpYg30rP1iKBb5wWKh/+rhLWTNfCAuDtd6d4oP19W1vu0gdcGn5UYrltGDiQXLayGJ4L7hdqvns1pMlCHSFA3NlAd4R1rZ7v0+j7ual9LRN1ko0/Qi0RjAa0+F0RTBnEEHuEywTh3jyN3XELOpMKFhAczPPtI+Ks2k9GvEjB+nT1qfwzEycyk8Wi/u6kmb8Q+YPw8Q6IYOcx2m5BYONg2dUp9PYFAbDaX+yZlO+HuqdfrIBRHyEtQocBLX5XBFMGibjnY7ZGIM7gqw9/VwlVWlcbjsC0kmW56Vcjp9xepl6XWv+1klYxH8oFygfDyvf6ymuAchWpY17ybAgxWmDMr6tgVT0P3dvzRbT4+TIIygXDLt9YSXuE1AiMMenrU8O1+F0R9AxepS3UVvo6fvnhN5bQyKRjWCVhuLV08emPt+pWZP8CB7HCNe52PoD1Gm4IYLlGtAJcP9l6IZBp7R9nt8i3Kfeq2q4zeDsgWwKe2I2rmlSmEJMFmSgRqioWq40mBi+WMOZDjw/FEmLtEVIjdBnQ4ndF0DNIpI5NIi7Ud0P94e8qoUK7po3DfhL/TVfbldNE+2TleVpYbAPACwO3bAhFxW/SswN4kbwLaAGfEy73C31l+raidfHMIboFJrWw2MGBccdRw31TC+tSiAA3iryq+aw9QmqE4tq+yYAWvyuCliAEhG1ipB5W0TGQHn5jCY00PIxTcIjGHqC1k6uuLbHOJFisdDjwq6+MN6K5qBg3i9V2ZO8rWA17ugtVEIEEa3YUv8jVy649QmoEpnx9argWvyuC+tkrN7hijCljMj5j2sNvLKER4Aro3vd8JLbJiIsFvIbtVHTURXKKHevezhXGras4TR030Iett1nquQ03F6d55jraIq1euR5rgbg0sm0G6UlSHyEtQocBLX5XhK4MNNSH39LA1UkFC8jieJzNE8IzbCA3tmARBNGPUwsWRtEsLwzO4f9DgkUQ5+UMggUgj9N48I5Zvh+cybuaBIsgzst5BAsA0iRNeouW65/Tt5oEiyDOy/kECwCyNE07dxgscDzPO/NCEBIsgjgv5xUsAECepnmKFt9Oz/HguxewyJYEiyDOywUIVkmWIcsAacsK/6I2DCXBIojzckGCdfmQYBHEebmaercGgiCI8SDBIghiNpBgEQQxG0iwCIKYDSRYBEHMBhIsgiBmAwkWQRCzgQSLIIjZQIJFEMRsIMEiCGI2kGARBDEbSLAIgpgNJFgEQcwGEiyCIGYDCRZBELOBBIsgiNlAgkUQxGwgwSIIYjaQYBEEMRtIsAiCmA0kWARBzAYSLIIgZgMJFkEQs4EEiyCI2UCCRRDEbCDBIgiCIAiCIAiCIAiCIC6dK4CduwwEQRAWXNGgO0EQ84EEiyCI2UCCRRDEbCDBIghiNpBgEQQxG0iwCIKYDSRYBEHMBhIsgiBmAwkWQRCzgQSLIIjZQIJFEMRsIMEiCGI2kGARBDEbSLAIgpgNJFgEQcwGEiyCIGYDCRZBELOBBIsgiNlAgkUQxGwgwSIIYjaQYBEEMRtIsAiCmA0kWARBzIb/OHcBRiNJALihIWQJACv5WhanaQYA8DzPd00pJHzHM+babqeJPE6zBADgeJ7vNxTZsgiKRc/1Ar0clrWzRFO0bSZEy7ZKqOO5tvde5wPDndtY5nEix2Q4SQA4kW12Vje8zUw5VShPVktmFV3fv1YLAiGvjiTRg9zQ9D1nW+3SvGFvgwgAfFOIfpd75RkJng0pFJxwr1nusmNmHyiWo1djkXWCjZ1FT4tnWTs8uekufDHa3lA2N7S6ecYYY5uimIY7sbD8CgAwV4UHAJF1dlY33CY90N6flszKe+z8/k21UFI8haomA4BfXHYkY81f/fwwVfhcvFl6HgAAIABJREFUsRes10D/riM9heGBOEixuu2YOBhSOStTkU24umqyg+GNUuP1EizTy9YpWAB8W8kqq0CPb2U5AIDAZPhgNNucndUN9xOslsx4ES2+/yMFCzvRmFsEvQXeUpfQmvQh1S+uk72xiyGRfNoLvbJhduKHXL+YL5Ndd/YAkC02auN+uzRYzBaR2lWxJ10OS5t8WpneI408Lv6IWzq5LZaDGECcG2osBgBXsdqd3dAbNtCV2ZHff0WpovkW8Iusqr5zLIhi2t6hnRvvT7DyQmc834ef5nkaZwCQ3rX9rJVpF8/VQzHMzvah+MPz4TlZliX8+U0WFoIJAHhw5J/oh3K8w/fgI83TYnDDSoKbShn2GpGqWWYbi1hx9Ye9ToiWAycHEBuGZVIAUJswFtkNvmGNjsyO//4LypGvZAt4alaimLcMh82UczfzRsK2S8gfc7GPUTSboqYUjLHnTfF81BnY2NEoXjonqjuX5TiY1C0xfDGHXfGCutKIR3lxVV/dFD+4nhCxV5fQFFPvEopxnqt2X3efuBhoAmDoN9lZDhvu5tVotCU72xtWEhj65TaZWX//e/sXcy/XTNEOFQb4HMB5Q11C23q5fCxfST7KEUoRXvk7cTCnKNg40rNqZUflmT9OgTzIWvQGxFfd/MU8O+rTWL4BikysHLV0PQVLH9JuFyzG2KEQlp2aUuMAALydqMmbneXnhnreAIDbIzvbG1YSNAtWa2bW3/9xguWJ6rcDXJ8E6wKxfCWN0V6VySVjvfCnqBzrtbKjBvN+hzrCzop+pvACNnwx/IH31QuOJhLPnpJTX8Fy1ImrTsEqJV1LqbECgHAHqPNZ9pZdYz3yAW/1clt2tjesJGgWrNbMrL//4wRrJdoKgIgE6xKxfCVdwNAK2APiT7O5XkLxspUdUxFN8/G86SQ0iJq+mFAJ8ADAMXQ++LvhVM9tD8HiQ7jqJJyFYLEdAItOYVF1jqkGLS1HgGFu71V577uzs71hOUGLYLVmZv39HydYe7e+9Arg8JYE6915umeAPiwL3wWQdcyncLVIB9vJ1gAQGsaKvRAAtob5I9W+WARgmwLAyjAf5ewAIF93WjSwAYA47oqmE0QAsO64jTQD4Aa88gzujzaWw8qQSAwAnjJ8bpHd4BvWaM1shO/fjqAe+4/1Cpk3702wEqCeEhbwgEKEmuG6kA+2swYAxzh5xN22u18ZXyhCadE3OjF7EdDppG2GJzU5S3QRuUDnvFQMAEFxL7YqoVjmngtq4qSw3De74Tes0prZCN+/HSGQpVWBDH5fM+a9CRYAo6BY/Qq5SuJ+driHzso4e+3wJkNnCeTE3JGiwZFgZSMeZiIXZXugH/w2Ot678qUOHHA3oiGWA0C7uTyuQnpmN/iGVdoyG+P7t8P1yrrJkrJj8FZ4n4Kl/5auGOt0aeYIafvZiXM0r+kKoiiKbN0oK4tAtbZMx0Y8zDgbAFhbdte0PNtdFeMMgOcBvfqEquUQqJsRpWVA7wBZZTf8hntkNv7330jVJ4wL7Xw7vDfB4loy8Lc0A8qO4QA7xg5LibdarVbdv4WpkHmHReM7bQnvZZpWYHfg+FW5mqgLzftNlh0xxTL3HJDlOAH09oRddoNvuEdmY3z/lgRl825rHLeYM+9NsLjerAc9mtLr0d9Ou7zYkVZZA0hylC+yCadXC0Zm5QBIB9RS91hg3W8Leg3cKJb1UaL2HmFHdoNv2D6zMb5/S9yAZ5dmRWfz7fDuBIs/MesPAwZ3eBJ/oB3efzyy1c87gcWHVCiOCXXIrQdFH6l/88wH2sditjmAYv+bXoqqWA4cKO3HuLo8ILvBN2yd2Sjfvy0+b969uSH3dyhYxZBP9vCnB9veSMFW+onsbScDjm6fr6XdjjKgdZTfryL1J/CBIX0kB2gXLHF6lbeSLEuoWNb7hMaJW+vsht6wdWZjfP/WBAC2wPbtCda7W/zs7BZcX/LtFp7fus+aSL7mA1alWvS2kwCWk5FNZMsYpYcV0P0KeFW2A9h8yoFkbbX7gppni4DnMUqxAQI3AxDb5aFa9reQVxibeoQ9sht4w9aZ9f/+jepp98A6QYw4inO4b2wI6/0JFrz9XfW7l6Zr+L5vbqdL7fm0aEYF1QNgbUek14yN8sAmKQA49Q43XQ27o6aH3GgJYG3YvPQo5H5bsIa1YKkEbgZk9UYqxh5hj+yOv2GLzHp9JeYpHTsFCmKkWfL2GljvULDgPa9Fn+IkgRP4hi92YUorOD3Z2mlBzSKQRkhND2ywqZ/5FLD4zTZtG2VDFKdAvtx1x+zDFhDeuWANIM2GaUSwBpBUFW4c0+6T3dE33P/e2r//YwicHOs32CME3ttaQsYYY68b9afY3WgpDHjKCtkuO1r5lHV2qv2oKUCLYL4vBQ8o1731WUtY/M0XVpcL4mzWEnYXim9mUH/WFjH3sPws23Jky3bZ2d6wUgrjWsKOzPp8/y1bqqkrNU1rCRkrV5165a3QWsJZ44S71+eV2LjOHj51D51H6iZrA+0MZ71QB7Tbcjtur0m+YMW0QeZwpFlOmB3WbfFciBt85tDbE/2yO/KGx7y34wmEf98S71OwAMCL9mwvOBenH9rfbzc8GJdV9LVzHImgWB7QPiN35ET6ygWQH+1NKbIFpLcoAIY6txbiUI40GucIe2Z33A2Pem9AQzvVdo9WfoLT2xOsdziGJeD7yJOkGE/P756lQLld3nqMVasdEUXLxCFZfcRK7jHkSbIFkC8OpWzaDU4dMfS+WQDYBn0mmtqbJ3wzA0FCPT6XZiOquuVgCSAufkXEGbrB2Q244X6Z9fr+jyNYVz5hb4wTd0Onos8YlsKm+F4j6xSWdkR2QOvhTxYF4D3SKpJxuzoxOlBtzjVgDKtMxbdkthzD2rfeZdMEnZLe1rIHlNtL7QB1/1eb7GxvWE5gHMPqyqzP999jP6zX/X4v7AB22O/3r2rA835vfwTbRfOeu4QC4YE/bccOOLTacYFj1+P7ESA4S3Z5snc5lnYTOei5i0F7ng3rYjIbZzGDZaFP2LyzTK/s+t+wdWYjfP8mHN8Xz+91fd931ADPxuNmJpBgAQD4IVL50cv1W+zwR6Zx5ZxV1vx9KjtHXQuNpYWHg+i/YKXV1aLRqd1mPaHBMnd2z0sLqpPkgOyGr9DpzGyM7594b4KVLJfLpenR4rtHWT81Q+y0L7OzG6mXbPDlwM0vV1ylGEwQAMBDV7Sapo0N60ATNoJlsFwvzzHOEQ7JrvcN22c2xvdPvINBd/FRyNcAHNNwQ9CrHzDEjp8A2DbN8tj9qEstDCeIAWybTgLctm/mUNDxoqySHEitF6wkWVuefAc7uc2XPQDI487pLKPlIAaQhG09wr7Z9bzhHpmN8f0Tb0ewGvs+4pI7B+he0mLBEDvBEkC+NTsz5zaNDBU/BrA172FZTDuVuVnVjoGeC1aMO7yUcAVVpWCdQXRY72U5cHIgzlzeI1TucVh2A1foWGQ2/vf/Hnk7XUIHMLcXxGv9On7NDLHjBkDjEQ19DiCoj2JwgMYdBtYZIKzVBrprx0TkA8gt+0ip6oskYd4QShiI6m+56BMmjT3C/tn1uuE+mY32/b9r3o5g8REdw/uXVKGA66BhC19hN1ELBtnhW4Aau4y9jrepew/8sBXjj3NxREvZULCqHSMrgB+I3g1/zZs2CMjNY2pBHdbfcilYgLbX6ODsetxwv8zG+v7fO+f2rRgLD9BdccoVYqUfSgjoR9Cx8iDncqlgd73Y2VHgD7RptWHxqHc6gikL0l75AaOmcwm5BtUeOla1wwDdVygCAMcTS9TgLcUlo+nQvg1gOl2Ur7krq7KvZRcADq6h2FbZ2d5wjbkgdplZf/89/LDeF2+qXlbGZ4m/uZX73r7hmQmkF6W7XuzsKBz0o+Y5ZeOgr2AVB4zqilXolRDTqnZUP0pOPZxTXjHKyoG/dQYV5zSdis0Hfl6HWY6AoumietBaZWd7wzVmwbLLzPr7J8Fq4E3VS9HckB+m4s2tnxH+7KtPdyQ/hxb1YmVHpZjQi+QW2KHqkfUWrOJRd5RyFIu0xTfRrnaM72+9Rkm6Isc7RIW/YtNJ9bztaWgMHsQy9LV8qMp2MAV0ZWd7wzXGL9gyM+vvnwSrgbc0SwhncwcgX4RR/Qu55adjCmeNrj4BwDKJhAEHvpUneq0hG2Qn5GPH6zgMq6m9bLsGgI3VOZ7aDsSbPAaQL5OwHvFNivOqPHFrJ7vaMeJHxhGWTBjtz9OiUI66oUVFDOgzefxaCkCcPethmSeG4Xgv++w0Gm64GdvM+n3/DbMpjee6vQuu1DW2c+ahGCn1fI8PihcTNO6z8KxviwkgN3CKkWi+lSecalUxroDOerGx01xE+J7nAHlaJNqEdzEQlV46TQVIFgCcV5NF13c9AFlW+lx7yhtuUztXAHxtN6b8U2GyLFFi2twQANxd4/j9pxTCDYrws4cO7iDL5cFFK8WlwC472xuuuQKAvfKTZJkZbL//xlowZf6e4O/F28H8s+nJbfUGR0txIAg29WJhx4DRI9HZ8UGmzi4h72LIgyUNPo6+1oOyqB3AOAJXNtXKz00bzAVN/cFydP9gCuI3tRpmuewTKpYts7O94RoAWpfQNjPGLL//lg38WgYc3gENX8p8MTlRas/6s6lN7YvPm129dNsxsddT+QembB3ZWACeWB62NVjURrUYYza1A5inDIr+ZpWj4cYBv+1VioDGzQq8Oqy/5WKnumHZ2d5wDQBNM2wzY4zZff8kWA00fCkz5qA2I4zP+kZ9aPydFG5bL112rFJ5uyrTbsHiP9DqK7ZRuktuZG6QdNaOyThj5ZB9i2D5wapdqfXdiWt4R+gwzDJv6Kozb5bZ2d5wDQBNM2wzK0vc+f2TYDXwxsawAAB5nCbFCITj+U1LLJIkLR3VHd8bvtHZMDtJkpRjxX5Qik2at+8S2EoaV+XwPa955Yld7RDTMv73/064eoOCBQBIc3RvVJCnKB0Ej2KYnTTv2MZ0WDk8ix1GrWqHmJbxv/93wJsVLIIg3h5Xb2gtIUEQbx4SLIIgZgMJFkEQs4EEiyCI2UCCRRDEbCDBIghiNpBgEQQxG0iwCIKYDSRYBEHMBhIsgiBmAwkWQRCzgQSLIIjZQIJFEMRsIMEiCGI2kGARBDEbSLAIgpgNJFgEQcwGEiyCIGYDCRZBELOBBIsgiNlAgkUQxGwgwSIIYjaQYBEEMRtIsAiCmA0kWARBzAYSLIIgCIIgCIIgCIIgCOLSuQLYuctAEARhwRUNuhMEMR9IsAiCmA0kWARBzAYSLIIgZgMJFkEQs4EEiyCI2UCCRRDEbCDBIghiNpBgEQQxG0iwCIKYDSRYBEHMBhIsgiBmAwkWQRCzgQSLIIjZQIJFEMRsIMEiCGI2kGARBDEbSLAIgpgNJFgEQcwGEiyCIGYDCRZBELOBBIsgiNlAgkUQxGwgwSIIYjaQYBEEMRtIsAiCmA0kWARBzAYSLIIgZgMJFkEQs4EEiyCI2UCCRRDEbCDBIghiNpBgEQQxG0iwCIKYDSRYBEHMBhIsgiBmAwkWQRCzgQSLIIjZQIJFEMRsIMEiCGI2/EdnjET57HgA8pT/L5LmcF0gT1ULniNEET4hy6o//Y4sdavFVakYaS6ar8iTFIBfBuWpWIoEcF3BQG1QKS2yTM4ty4SUBPHmSJDAl9/NfhE6DQyBtaNG9xljbF/8L+IDEQ9S2JcxXgFgU6eIxFhBFc2UpW61uOorRdgzlX1VX8EzY4yxA4BdGXoALzbHA8Km0rIIsvlITEkQb4tdUL03m0EROg1wnqMoiqKDVZlO3CWMAb35VAUuHibJdLmocow/bQHeoKoabElZLqBoe1Wxy2CRh3ySQhLEZZF8uqtei/jhg/7WdkXoNFCyXa/X63XWGC7T3SUEILWEujpBrhQ7SYGqV7UFgDgXO21uocJpAmydVWOWpdV8WyWx642t14Af+C7SdJ3hASGAYF0LVgogy9z6Q9UeM5QWyNYrEMRbZ7mWPmaLaNUvQqeBKmTbt2ydrTBDjJYuoRqvvnjgA2CrKjQSrLwGAA4tWZoy7u4SvjpCJy8EnFfG2E7IwAHqjl8EeI2lLXqwz+Jn6hISb5FQl4mwV4ROAxVF80MfyjExdZcwuwO8SlljIAiEDpiEs3Gau4vD2ebwN+WHjY98C96IKrJKc3h1vqnQwDKW1gGm6bgSxOWwNrR6tsseEToNVDyY5aCRaQXrLodTD5dvAT8AUnN31QkA246sPZkwKAUEvNfn1BqVAKFTCVYixDaWNnSRGuudIN4M5kd8nVhH6DRQkj/07RBOKlgPKbCrfRoyOIHrNTWxYPBHOB5ZAl0gBwC/CkiAIEDOq1Icwmoo7QbYji+rBHFBVHLjrvb7VTVWvLaO0GmAk68/9B7AmlKwtltgVftgxEAINPYJkU+hWa6kWaV/hNjC8ur2ViL4XTWU1o+QU6eQeMskZUsoPES+Hx1C9XpXhE4DQJrEy8Wflv3n3CcUrHQJBMJsXwwEQAikuhMogJyHj4wHxHq1+KV/awz4CErBypQhLFNpIweJ+ktBEG+I8ie6HPzdeEpAV4ROA7j6tLgz9BAtmE6w8rsc7qb+HGdwPT5UZWpiJYsc0fh+44ELrD8slRwdr/DESgEfjoc0B6QhrMbSOhtgTc5YxNulfOCrxsZKCeiK0GngCKz8sBbih5W6JKeBhwzOTujjJUAIAH6MuHbJSAvbWQaInhrWWaZiTMP6nd0iR74GfN8XrPgpj5sAPuCniEMgF1pY5tICQBDE+cOuuUAEMWvS4ufYq3obvsuHVfLEt4nQaeAYrARLartZti6WsSI0ZY8veECWVgF5bdsXfTess8w7GpbeM59iTRI4flD2OYthqyxFAMDnjqTKEJahtACAVZLH8fidV4K4CMpmkPj7XoyNp75NhE4DxzBVlzBZA6GoQNscvgvwXpZxbiD5MInDgLt53UUeAOTx3aeiDRYAWV71AX0HMSQvrLbSuhEwYLSQIGZB+WgLvaPyz8wqQqeBY7ASLMnZ1EojszvA24hXkmpI3Rf7spWj+iFysK4VyzpL1dPdgBOsnl83oQsgXaRVIZKyRwj4yFNAWEjYUFpO5COjcXfijVKKivAy+VJQV4ROA8C+om/prLqE/bnL4UjjPHkMbPmbnwO53qVyV/4C63Cq7VqcEEjWCfKHZwCAlyANkMD1AD5S5VXy1Vna1Ses/ZH3zCCIy6BljCWxitBpAEdsODONYD2kwE7SnqLLVZIYxoB8P0Ec6ddHw/e3D0j5uJ+/Roo0L2rOB1JxCKujtF60xsNhwpISxNlxjX/2iNBpYAiTCNZ2C0SyiG6FAe08RbzRU8FLbEf07UsSIxBG0sI4QSFYQIK47AO6Xprk4hBWR2lXSZotadsG4g1SDTOZ9CZzuyN0GjiKKQQrXQK+/DpnYpMr/xPyrWE59wS4CaQpPq9qrvoJkrQeqUqR1ENY3aVdLbCmiULiDdI6Lp653RE6DRzFBLOE+V0OV3FUigGvKqoTmPu5E8y8OcqQeZ2FByRJ1Y7in8oWVndp/UhYMEUQxImYQLAeMnHJM2crLbvxgVhXp2yCtTmeI03oCct/fL4fQxEQAEm9H7xFaSMXyQh+uwRB9GF8wVrGwuKhgjQrHMc5AQxe+sldDs/Si96eUNrVYpmj9Hf3gVyYrQiEhYQ2pXVWU2yGQxBEK/2X5pT+6+KaGE8YsVoDiGM5QQwEohtZECMOZStZBqAe3DZmOYBVkuaL0PcdIEu2qbC+KYghCJYnfGourUAQUAOLIE5N/6U55ThQ25oYNUGseF4EMRI+/CZacYSGmTHLIewXKba1r/pGkqi64xcsIQpWQ2lFNgl5uxPEiTnJqTlxpoxOBepgOAAvOkwx7+Y8R3VryX+uW0o+xNVOrlvrlU1pAWdKlzGCIExcAdoxgG+OOM1ywHN9OvaUINpJytEYUReuiv/3fneETgMSjQFGrqZamnNZBOQyRRBvgpMepEoQxIXT2gvxLCJ0GjgKEiyCIGrqVTT1tWpdrWMRodPAUZBgEQRhQNAbww5XFhE6DQyBBIsgCIFy9Fvw2in/9KwidBo4BhIsgiAEylaQsL9S+adrFaHTwDGQYBEEIVC2goQeXfmnaxWh08AxkGARBCEgbBMO5U/fKkKngWMgwSIIQsAvunR5taCtPIfT8awidBo4BhIsgiBESjfrZTHylK6VgK4InQaOgASLIAiRUlbyRQwA20U5xxdaRug0cATvYi0hQRD2LKrRJ9fl+z4BAPy9bYROAzV91xKSYBEEIZF+Ml5+9mwjdBqoubzFz1kmj7VlGVxpdjNP5QhpvVdx8VH6LG6gJSSrddw0FZGnCeB4op0mQ4YISnBnQoKYM97KdF6BsItmV4ROA8OxbWEt11Gxq2iibNxXnH2abdMEvqefhLpcy/K5XCOSjtRJFnJbcZGI8fM/AdgInd8rISocP/TrbCqCUBKteJsYAhoMGXNygqBHQoKYNw9b7VK46ROh00BJ3xYWlFPhm3ARFX+p+9bt5asrNWUEwH2VPkdShL1+3vy+/rQBgEAI1urBWKywTvAqbx/62mGoKaceCQli5miHbqrvdVeETgMFZfDeHKzFtuwSbjsOXLiLAdfP0wzL3HDAaLYefOroFgDiXFo1GVbO/wmwdUrbbmC6mi5ywA18IE/jDHG2d7oM1UR1cL+EBDFnIn8p9qR8rTvXFaHTwHAshG3v1M2ifSQAeIwxFgHOrtTVg5yWv/PP4uceLawDHycS5BlSsAfgtTBbWXkN6mK8uoCzEQvjtRuScqosRqjtdyYkiPmzL3+VndDc/OmK0GmgPzaCddhFHqCqDCeC88wYe3WqV3il9ZAiwKlVoq9grYBwJSaX5YIdAGwKs7WVV6e4ylgAXsaCXX0nDYaknOSEK8uEBPEmOOz3+/3hiAidBnpi4zi6vVunDUHJGpEHIM5RjklHLrbaaTKhi3TgOclbwA/4UYFGXM90PqATlFeTGNgJrdFgBaxNxsyGhIRR0T3tm5Ag5orr+37rQQhdEToN9OYYT/f8AX4EQDiDFAhMJ8xsukfBzKQZnMD1TDYLzFuCVVe3gDyLF/kNwtO1t1jkIDOW4vhNyQiCsKNbsFaM6VODAIB15vCZylTYN8LY3vAj5A9DihcDYYMItpIXOpLHwtGpnP7GOE4g7fBDEMTpOaKFla6he10Bxtc6cpCs9cud8MNOQyBt0orUtKQyLw9JTQBPKWMIZCZjRkMifoNgdSYkCGIkjhCsJdyi8eIKr7JZWJxNvcdED+IMrscbNw2tonUOX5swTRY5IrcojeaQZhYeoyEJVz2P2jYhQRAjMXxpzjZBeaayB8SFdv3/7N3teapKw4bhO8fxNsBTArsEVglYAilBS8AStAQtIZQgJYQSpIRQgu8PvgYYPjQmOuY6f+y9gjIMJtzODDAUI8ESRUmx+RgrK1uZP7T/TKsbvMNEieVap7RIEvnNBbR1KXmu+mJ66/D6cHGvIDtbKi1aEcCd3B5Ye/nNdBPbItuXibUdG1vfpUWSjHWdClvTRXWPUIo2yrM2MMx4iw7NoLdRSlhVrbDkjDFIPlLQvJtXBPANN3cJj3k7mu2tpe0mU5GsrCfgJMmPpe2VncJjofKcqBeNnNqTZz9nmv7XXEaxME1GCvrBFQFc6+YWltHAknbFUccyUdZjkRWn6egdOv2bnytpM5wdJkrajld9BW2Rp8U+be6YaUrJj8dir/pm7Ym7KkcKmnfzigC+4dbAOuad6QMPfjmk7h9GWkKSdv+0D6+Z2aBIpGM5JlZIRduhbGdOyFZFNkxBfxeutF/7UmDpa2Ztq2uuoLH1rlsRwJ3c2iU89uY7jb8+4jj+OIcafZZPEEtXXYyVSMrSNE3TNJP9FF2ws5+XDMNydd/ycmYbPx8raG69JSsCuJMbW1hZ1k5YUInKBlA6Pmq0S7N8e0Vj5GjM3FdkZp/Q2OrGGmQKUhWSQinNuwGaFvIs7byxglr2wFqwIoA7uTGwktFHjOUTDx/brbRffo1lnkkfddgU/1NxtMxhPzN65AeZjt2MTOzXec4OQxW3rgjgXm7sEh47B2++3TYjV+lEYIWxtPwm6MS8St2L7H3CMcZzOrp3Mab9zuxS+0I+F4gCD3VbYGVFp7Hh7fd1Dh2LqTiIfaWLb+TrhmIoJcuvisjr5tA6UPFurJe9S9EtuXPcS4ytA491W2Al3eEcL1RR3ilYbCdvrPN2y6diyfJOUyjS6O05wxLT90JBWcODp2zVjIqnq0Le6IXp41XL3jfSenTPmF4G+BW3jWH1+31xqq1iKd0UiqeuXIiixQ2sRIqM8SEvSpRYGm9+rqzqODY3+OS5pCqWgt1G2b91GHoq0mMqeSNXTRkFtYybfRSONLCsKwL4ATcFVtE/YRauj9puw6woL16YcEiX9uv64/pRMjjhJ0lBrmPV8jFv8PEOdQXX/ntRX9Uqyf8Y6RAaBbWMEuOxDqF1RQA/4KYu4XBg/RBLSgsp/pw+a+ZN51kryXudy8iz9gkDWSauCeJzu254jps6efF5bADLWlC9Wrg7jw5gTa0I4J7u9uTn/JjJC6In7RslWSZ5fkBLCHAXj6oH4Iy3b83pDgC/isAC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM6Ynw/LnGQqsC83Xkyt760VWSp5QWBMQZPn3bfmuXz/ppLMImqdWXDsNS5lhfGInnZplkte2L6vyLrVyQrLWtY1J7cDYJH52RrezB+8cB3alqt+7rKx1Iui7qxZybGOjKgpRdu9dDLet91XU+VdXZJZRMt4g73GkqTif5IOvQlN9/XjK7x1PaNWuho8pfpkmWHVsubEdir5MUsVBmtjhp7imGZFZ1F+zLLC98PqIWsjnisnAAAgAElEQVRpL4TX/nCJdWOAg94k6TKtv856ZHloWRp9teV8hdZXYkm+8bZYim8rySzCVuGRGl8ul8vlIElRp5RPs3UUnMuFp85al0sonQafmHXN0e0Mar1rC6rCxjsM3uR92HZVJ8sS4FUsnCK5eWZqlkpHr5l7s3Nw+L2lWSoleTOBerYqJD8KpSJLcvMVKR951vv1JTWViawVHqmxdJSkpDAKylaFFIW+lKWpsveRmeAtptYcbqf2nkh+WGS5tsWuLcgLlOfFpnocx+YoeUGQpSreP5iMEH/SbKgZ39LnQNJXvdz+7vqfX7Ha9siX328oBO0/pc+L8VJ8W0lmEU0z6CuSdB7UredcDmjtjEWB5Ne1Onl1O21JC8u+5th22jqXjaZdW9+gaj7GkvdVbV3x16X8NXhfl8vlFBukwLYEeBVXB9blLOlQL7e/u/3hQ83BGUneZ/eVMpdiyTOPK1tgLSvJLKJNlS+vrvBEYO2k9a5zdDchcblcyqQ4V/+YC6yRNUe2Y9Ty1L6n3rOqrxxVuxg1u/rlD2Mv7nwu9iWAy64PrEtgDRTz3cZPseRfLpfyuO0c2U1DIpZi38gce2AtKcl8r5Eq66bw8X31pY+zWY4RIJfL5XIJq3yYD6yxNe3bqR2MkS2/asNGTdKeq51vWreXy6FXkcvlNIiw4RLAaTdch3XVKfnYU55I0lHqns6Lw2pAR5IO/efJ31zSbRXOcnmRHxhP5TkWCs2thMOLIkZMrTncTi03rsCIqtfT5rFBfqA8Kx9WVO9NKGWdEoqNwnhmCeC6n71w1IvK46pIeuPd7WEpSWGsYnOXkiyK+cxKpHW3nLT3jLH16bTw2J9ac7idWmacAgjKJ0mbl3g18dS8abBL+7z/ROvhEsB1VwdWNvks+r7qSEuloHc90FrKmzZC7M0+2m9hSQNFMl/h8i1rKavL6ceOF4aWy61sptYcbmdEJinvxlMuBUb2pb1H2Wb7/hVXwyWA864NrH2h4eXb4/yyQ5QNnrza7dR4B2k//UjohSX1patC8cxxm+Tyg7IRVzV9Usm/7XL0qTWH22n4xi5kzf96jS4vDJslx97nsJXfawIOlwDOu+pR9WmRJPLbfsbKfHFny7FqmW2AyjcXR1FSbD6mtr20pFJWVS3Pu8+Yt9Y4VXmZU5goad47GnKZWYYtKEfXtG6nFEhJFS+FvX/bjfN9Ks+8Xv6YqntJvWUJ4L5FgWUeotGhPQw649BTDaSi14GR+qMwu7RIkgV9zfmSyre1VQvNA9ta47rTGG2UZ4E00WDrFm0xteZwO41oW2T7MrG2M6cfJBXbo7Qzd3svv39f0WAJ4L5ru4TercMiM9/2fixtpzuFC0vqS//bTr/hWKjsanlRfb5xWUVsJta0bKfhraXtJlORrKbOeFYF/Xfs3ZB4zPtnIoZLgBewKLDW1YXT61DFftUek51LJGYGpeeuCohD5TPj7gtLkoxrlM6xp32bWLYat8PkYT24NDVK178Oq2tiTct2Wru1dPz39r/3VDMNo3S1KeSfOu+igYU/YlGXsJ0rIVsV2ciNf1ZZ2SAKLCGT9dpKu3/aT5yKu6Ikk78LV9pPnS4rEulY5kchFUkkybu5kTW+pm07hoNfnnXwD5NXlRX7/XAOiGPeT7nhEuAVXDXoLgW7zeQwTV9Wtjl8y+BO1muOBPFem/M9SuoKw7QZ0LZJ1CkyjSQFUta9Q3mTK15yYcP4mrbtmOI4yaQgUmodty/LzN5zad0/7XnUILAGS4BXcGVgKdosveRbUpMloZTm3aMsLeR1E2CXZvl2tPV2TUldQTrZXDoaM+oVmZKDJM/Pe4lyHFyvaje+pm07XVG5XlqmU7hvz33WGZatCgW7/s5mWTufxtgS4CVcG1jXHQb1VZt+kOnYzSLL9Zy7lfZjJwqvK+kKeSZ91AlY/E/FcS0p2qvTZ0tkuf7LamxN+3asNSpXMC/WqM6NFqtC693gV5AM6jZcAryEn701Z1/IDyRp3b9bMLV0WsJYGjujd11JHdOjUYl56bwXVWP6kZSYLcn+9evjxta0b6eWb7dHY41Qku8rK9pFgaRtofVh+JVxHFRuuAR4FbM3SHdmH2hWsK/ZWXqQVM6MeQmkwJga9NOrpyeIjZkavnzJt87WsKSkRne2hrNXT7dlrXF3npaDqgkRws5WPlXNnLBgepmRNUe2U/mSvPalcnqZdTNbw2c5I009aUPP5+ADGC4BXsFtgXWu/2F/d/3Pz0jt7HWfnhQ0kzOdvGbSKDOwLuW17oPAWlZSoxNYp6CZf8pW489ucnzV+XL2jNmNP5sZuxYEln3Nse0YBZV51k5P82nOh3W4XC6Hwcxf9e7u5pYAr+D6MSz5ubK6a9O50aW508W4K0ZhPdwU7DbK/q3D0FORHlPJs805HEWd65NuL6m5fybPJY3cTKRdoESKjNW9KFGyluSXW4kCKUv25d2Oy9jXHNtOLU61VSylm6I+HRlESf7+4UmbpLyoKpP2xqVq9dMw0sGA1XAJ8DJmQ63TiIjsj5uo39VdZDYIurHSTCLcaWFdvjzJ+hCKBSU1eqfzquc12Gvs91o6H6pbkJ3BIq/6CBY9hMK25vh2KuVdhp6MDuWXL3lh6NVTrPZCqKrI1+BXOFyCZzX4m3wCj/5MJtww6B5odiaYkhfuzubpvPDcXu3oxWf7lVOe7dqBm0pq6hufJ8afk7w3PB159VXoa+P5XeHnNS0Wy5oT26kcYklpIcWf9c55n6GKNC3kn6YvoKeBhb9i/rmE95RkmeT5wfdPYd2vpAl5kueS70dX30B5y5r5MZMXdNdIskx+wDWgL6v/rMxn8JTNvtLbLwcWABOBdZW36wfdAdzVMwXEMwZox89eOAoAd0RgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGcyHBTy1PM2LXIFC5r3Wb0+RDMD0ppkD8HjM6n9667j7fKjimGV54Ie9KbSzJCsyhYOptdM0y4rADyPL86oW1+exmCIZeKSZgMg2mfmjdzCfYbDfV08G9w9G4yvfNM8U93fG27NtvbxbylX1eTQCC3ik6YDIVoUk+b6UleF0aFtNm2P7xnZxtUolbp42ddway3e2h1MtqM/DEVjAI00GRLYqJG+99iUpPx4LSZ/1E9+2e0lR6GdpKql+slz+r5C0DvwiOxZqkyxdSfKjUOXbD2MPYnr6wNJTPzcReG1TB+CXLyloH7f7FUgKqh/Onupn88aS/GrxWlJQPlr4ay3J+2qLWpdvObSLr6vPE+CyBuBZ7XMpOLXPqfROvpRVj9/dF9KubCftIikv+4f5UfI+ykaYd4ikYt8UtT6Ua64PzWIH0SUEHmeiC5b/J3mfnefqHjdS9CFJ+l8h/2y8s1y835oDVPl/qt70Xy7v3JwcXKXyvq6uzzN4o4UFPKejpHX3yeFrTypbWGkhNef6/EhKCknKZCyWH0q5JOW5ZFzMsJaK5lSiYwgs4CkdJa9/Ni+UlKr6T5tMQb24kDwj4+rluSRjcVS/3UFc6Q48o6zotIpKu3WVPJnKOCoFkrKoXBwYby9Uvj1Vd7mqlpeDCCzgGSUahEx5RZYkKS9bW5VQVQKtOy0pZer+bCCwANxPLktgdV7tKiRp11mUZVW/MdxLadh5a+cKeocwhgU8o8nAKnovhlVgdW1UtcN8dSIuuUsFH4PAAp7RZBPI8uJgUbHJpPLGaN+XkvYNzl6EJQILeFrfmk8mWx0lr7pYNJK0qdtgG1fHryQCC3hFxeZfVl0bL0mxL2X/EklKV8epFZ8dg+7Ak7p9YLyceSb4qE8Reh+rQvm7QmWF5HnutrFoYQHPyLOOoy+S/tsWkhcb9/UEJ0+S0rSQ/NPIpQ4uILCAZxRo4mIpy+nDJoSK7SqTtP7sXOMQnKvpSr34M5A0MevoU6NLCDyjIJWyQVOoujnZU7fDmLaBVU5SGsb9EXtvt8uy3AtCDS6IdwmBBTwjX1Lan8s4VXXu0Bt0F6smUznpn30S5KBOqWL0AvinR5cQeEaRLFd4NjcFBp3bl9tbcIpVIUXn8Unb61IILAD344VS0b8CwQwso0/Y3gr9Xkjrj5kBqqad5iACC3hKkaRtt+eXZmWQGfPMlMurJUpTKToMy9quVqv2p0TyXR3DIrCAp7QOpeK9s2iresqZ0DM6jEVSL07UvwG6kqZpk29pbs6l5RgCC3hOO0npu9HG2mSSqjn91u307tqrTqBEimyjU5HaOwiLTbm6m5jTHXicyTnUt3tJflw/qWubqX3SYP6vkHcKpHKm9+BTKh/mFfY6e+X7V2n9FIpilZnPK7ymPo/HcwmBR5oOiPJZqV7oS0VaztDXDFDtt+UzC9PkqPpxhcfNsIyy9PK5hOugfFxhGW/X1+fhCCzgkWYCYr/t/my2jCxPft5aJo6pSjezrLpP54b6PBpPzQGeWNy5oio8mT25Q/OECu9jfkjKuNYhHs+r50cLC3ic+RZNnmRFKgVeEPUvRciTNCv8IBw8q8KqOKZZ4QWhdVR+eX0eii4h8EjPFhDPVp8euoQAHEJgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZ//foCgB/3NujK+ASWlgAnEFgAXAGgQXAGYxhAY/zxM8AfE60sAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgjP9b9K4izSSFgdcsyOQFxhuyQuWLWSHfl6S0ea38uVteNljUFldkqeQF7cYAQJL0Jl3m3pPu6/SJ4ipW0pXCk/GWVapTWP0j3lUFN/xo3Q2tdDXYSF1ccmw2tg7n6w/gz3hb0iXcrprWUvLveMtm8v2/ZNk7i9V7u7HVe3HL1gC8qvku4X4vhVHoK8v2uTZaLy47Lv+XZ7mK90+zB+lXLxVH+VG1SJKyVSH5USgVWZIryU+39AuLTN0Oq5TnsvZNJeVpXuQKFHbbc1kh9XqlqSRZW315mueF53tB59Vux9e6dVu9+v3l8IpX27qmyhQoCDu7kKq7U3muQdd+5GMCnsRl0pcnresf1pL3dblcLicpNN8VSqf6H/HlcrlczIJ36r291ivmy5e8Q/1TLCmYrpzdabi5QJIiy3sP7eHqxV/GC+Hgk1lL0uEyNFaG2WeWpHD31V/VVq/+avKiw9JXq/es21AKzVe93h7EkjxzTUn6sOwi8AwWBNauc/CH0u5yuTawLjtJZ0vhvWIiyftsf/xQXdh1hoF1Lg/eQV58dtthnnGsDgIrHsmrc6+M9i2DbDFfHK/XcDXJ/1z26uVyuXxF3VeDU/NSJOPb53K5+JJkrHya/3sAHmfBZQ25ZByRkTQ8wTcv9paslybSh7mxnbTPb9jcQNL5XyNbZZLkh2HZcyrex4fojntJh2F/OP+XSVIYx3HoSSo2E8N8/RdH6jWUr6Y+vs6r2X9lcUFYdXKz1b5+LVDn95Dnva1nGu1jAs9gdgyrGxi+dNNAeJAqi+bedJS6JwbjNNVxJ5UjN984kqqYSLt5k60KyVuXZzDz47GQNkEwWLksYSNrXum9kLxdVPbB0n0qbXyjputmr7M0Ve/FkXpJCnZGNZNMKt7Py17NVoWksNpudjxK2hbVCtFWyoqmv1hGlRl26nw9AU9ouhG2to79XNklvAT2zl2nmC8N+o0Hya/fuLyrMugSfkqKfPX6Xl++pKDd4lcgY9Cs2yU8SCPjV5J8o9Zr1VUu62Hu9YfXq5i9XsMerTl6Nv3q5exJ8tpOYNVjrV/2ZY5RVWHabt1X/XsEntCCLmEgJdvvXl6wqIGUSkHvBNVaym/pgvYkksJITYumtM+l4NRu0Tv5Umbtno22r5RKOhi1PoRSnlreKCn6kJQaTVZ7vYYOocwrcade3RRS8Gl81v7nWtK22moos0WVlu2ppuQ8F11CPLXZwIp8af/fduF1VCM2WtDVsIVaeNuYWU8ieVGk7mBRvpe8D/OsvxfLPp40nldKpE4nT2uNZ0sYdF+01stmranPwXj1mEreRzf2D4FUVMNYnUGstJB2Zo1SkVd4brNjWN7HqlCxl8Iw7GROZl6tPpkqyTEtx92n2YbX/WpxOHs5/tT2cynyAj9XlrfH8lFS7wL89bawZcdEXlV1NISy70n5Yma+aK+XTTBVqPnqXtKuX9bHv0LH2K9r182nMDVaWGIIC89t/kr34LM8VNPtv/+9G4dzkRqsfca3ynsqBfHshgrL0XKX+wmrhkOvKXOsmlQma9drJq96ZyG8MAwXXnlpr5fNdIHtq0ku+YOa+mvVvU7fV7uHqRQqNHrdtLDw7BbcmuMfvj7KewiL5P3fbT20aNkl6z9zv3Mi+VEZDO1gUVZIUX97u9Pp1A+HubxS1v1ITqfTbuSdS+plNd30aV9N1dxfYFqriURjEKscWDQzmqsa8OwWzdbgRZGKJEtzKVudqiOnf/PzUPO3H0QLOxrpTxwux6IMhcDPlWd1TRJZMsByV8pMXoWp9P6xtB+Vyghle71G1xt/Q/tqqrLIHj/I6i0Yg1hleyrw8+4C4Iktng/LWx/Op1AqNovLPtV2iw5o25uyO7S6mqO40/daOF4z176KJOX/NsvOSaSdJoy9XlaJrEHUfzXPB/c/ltp2ldGgSsv7CMNm49OxCDyBqybwC08HKRs9v/5NvmXsPvv+IVQkUnk56A2BddxI8iaaHeWVrsf3/70fZ6/JT98l+fVGR+plUWxSKR6rhPHq6D61w/J+IBXlP9Nyy6HMK0hpYeGpzXUJj4kio32xTtKf6bdJCqW0d7YsLSbTYpG2ddLpey0aiztuJKnY2G7gq3yU8+EUSdLe4mMomngvr3TXYaZepXxr/DstpPVuwauFRhqknppzA2FWXVmfVzddhVJ1FwKBBRdMXlp66l2iHpc/X3ul+3jpRjHDy+HX3Xt1F+peDB6ouYA+VlueZJ9AohaqDBfP08wt2AczagJjRgZbzLUljdTLupr/sejVeKyqxifyUW+ruSE9rK7N/5z7SIAHm+8Ser3eyk9OqbeWuv2q9Kgrpt+yy7Pq9hctuoCgYyN5pw9J+6n22PrzfGjON2bb/ybO+HmHpqF0Vb38yYG86Vd7mkGsrL6xIKgucedGQjy/ucAKPOX79scimRr9/aZ1oMKcZDR7l5aeXxyVqO3nBH65B3X582t7pyCMVV6qP85ff3x97qrPpdiMvdlbf7bxO1GvoXS1XfLqkuu/vEDKC1VXYUltXNIjxPObvaxhvde+nUhzWyj8uW/hw6rIVk0PK30v5FVDPvmxvIvkekdJXj2QFORSWgaLVyxoLXqnQIqTXNl2butBIKXpsZB09NtrodrZGnrn78bqVTKvGUmTo7QPovlXJwOr/ljDTEojpc11uoFXKFN5RpbAwtOb6TYGktYfX5fL5XwIVI1V/cgYVjUpwvrj63L5+ghlTOd382wNn4Pd9ZoaW+cUNPao3vxJWjyJwc5TPSvrYLYG02i9bPMx7NROIzH16ugolDm4VU2LGLef6FryyskybHOyAk9jyWUNp0A6vv/v7e3tv01WzQ3wU9Ynr9rY/95TyT99uzU37GgV5RhTby67ytvbm/G4n2rzZadw2ehdfPJmuncz9bIWarviw/Jq797qljkLQ3VNVmr0SKUi5SosuGA+sLxP477l8PO7g+DTwnO7MS8+Lz6AstXKPsxjiY7ykDZvquu8ZARyvfld0L2UoLXd9uexCNaaulF5tl5WkaYSq311ZPS+MPfLC6S0M+FPJCllCAsuWHJrzm6XZHkhBX5zW29/9oTT4B+LplcYTsLg7XZJlkmeH0STb+wqRo72JJcCo/uV/ZOSwpMUbaTk0Hv7WCvj8E86hpazDftqQiuzqvsFw/nj9Ro13cIrXw0T6TisZlKYZ1vDrJxZxoiwrAwsjxYWntyyJz9HP3Zm8Ic31r+5LvBzKVlL8sJUxXE9fLvtoA3ivbQZXBUq+bm1NTV7ncF4vb4l2hZKBxf2FvvO1sJ9GVhtPIWZsjylgYXnd9WtOY4w7lAZ3ITXdpoiSb2pVNPRE2W7UCreh8uD4fyiuRZcXzBRr+/w1hrsVDndqPHUxVBlpaPOkqMYwsLze5HA8mT0w3LVbZxj0V6dWVqrnqV4PcygrSxTzpQOnpTuB4vDai3D9I3Kmq3Xt8SelPUqdDyqO+lMWG6qjafQKwOLFhae3YsEVmCcmyvaY284YYofqG7K7FRe69XYZLJOJyVVz6oePnNs7UtZ50LRfWrc4Dxmsl4T68y+6h0kHVdmG2u7Ue/W6aAc8jIWhVLBEBYc8CKBVXbwMkkqtkUdGYWltdP2vYJYUvKvvpog/XdUeY2AVWzvFO4kHf+1kwxvtzJucB4xXS+LpTOOSlEsKf2v6RYe/9tLCjuXvZZJZT7wIzT+CzyxZYPuzy9OCuWrdag0yVVHRqJhFy/aqp5CfVccpXyzDX2pqPqJ4xe0f/xXWC54j+K9lK388vBPM2liJpjaTL2GrNdg2F/deVup2O/DQNVUDlL40Xn/MJ6qCJupNvAMHn316n10WjW7clkg8yl8l3ZhfdV3P36M69IHj6q/fEid57rbNtwpZPRK9+l6Da9lv3y15U6/erlcLh/91BvUIVS/Av1n1gPP6IUC69JOxu5Vjw09y7jhpbFT+6jTy7l7A5/xtmFgXSJJ/tel79y5GsEoZCywZupliaRL0Pyipl+9XC6Xy1fnCUXr4Q1I8eDXHlurBDwX6W3hJZ4uOGZZJj8IR0702eVJVqRS4C2eeN5WRp5nhbzA96MlMyb8vCTL8lxe4AdXfRjAU3t7qcAC8NLeXuYsIYA/gMAC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzXmVO97sbmULdNyfoS1NlChR0n7CaqnyKTy3Pew+kyYqynKzovrFaufPePM3zwvO9oDNPfGF7tHS13nSpnTX9+dkGLdtf8smYJeTDF7v1N1+8snD8QY+e9vR+vg5RKAXhrjcr8GccevKXLr5cLuVMxDbtlMendZsK4cFY1ZNk/jyYflgqZ1QPNZztuLvo0GaXFxuTM1trV1VtutTemkFs2/nJ7c9/Ml2BJEXdZf0ywt0NhX/GYSCF60N38dcu8hVEB8sacJ2kFwqsXZsga+PoPreNg3h+cWXuyPnqPaUraKdyjyStjaL6D3g41R96KDXPy6jJSJtzd85m79AtYqRq06UO17Ts/OT2rwysc/lqdyPDMq4u3Pj1+ebzNJo/Av80WAeuk/Q6gdV5FkTQHCGf3jWLazNHTr12EDbPgG8yYicpaEs694+4nar4CCXJ625abWCdy22EcRxXfc4msWYDa7RUy5rByNNyRrZ/ZWBVDybqNnhsZVxXeOfXZ7xs/hHQyHo5rzSGtT9K8qNQeZJK2Xv1t1+sCslbB16eHaVs9Tm5uBE2h062lYLmeWDlWEq2KiSF67KZlR2PkrZF9aZoK2VFc0CVT0c1Bm0ymY8ALDbdhwa23gvJ21UPkUj3qbTxjZGsda+NJ/MQHi/VXDPPj4WUrT6tI0Qj25/+ZAaq59Sm6/4Lbf2zNNWVheerQtI68IvsWEh7vyp+e5QUhX6W9j8uvIxHp+Z9fHlqWjknT81z99ZqGlCfxujSyGILy3O1zp4kz+hylJ2nugxf5lP/quOybfL4kk6XS9UW6j0gsN3YQZJvjDCt1T6ebPSJh7Ol9tfcSZ32YGtq+21Z/dGyvk9Jka9en7Bfiw9vUNR04Ws1LcOvtZoW5bn9VcaD6sJ9LxRYB/MY2Kke5/2S0T86NQfnyGIby5ETSgq6o9VrSd65/Xd7OHple6oJkHPzmYdlq6jzqMN2Y1Gda+ZWT22dJgJrotTBmp9G0HdMbb8tay6wYkmHuL+JQS1OknTuLxkt/Gx82mVNy9LWxoaiya8hOOmFrsNKJcX1D7FXnyDPJDWn88Kg7puNLF7mmEpe7/nKh0Aq9uW/AxnlpYW0k3G+PpXxmPgglvK9dSuJ1O3SrDX1vHrTRKnD9x4k7Yu7br9bihdFqnvGY8LgqsITSXHzC9g1xSeSHxtLr64unt3LBFYmGZdDBVJ5DKYyB4zCasnY4mX2ksWlIlAAACAASURBVHb9UZUPTzrmw+JSSWFoLMg7m449aT+27e42wmrlBSZL7YlCqbDHyc3bbyS5FHmBL2XTq15XeCapHcLzw2rdtDAW+5GUWIIYTrsusN7e3t7e3pp/TOi9f/bf0+UskHdHnU0jy299JHKSS/5gDNlfqx5h9n21AZVKoUIpz9oFbQtL3kHSZmRL3cPNC8Nw4fWTk6X2jbecbt5+o9rZ+SbWdQrJM6pSN89SmTl2XaMNbrixhfV8T4sO2wsMOotl/tU2rZuRxYt0Op+ttZqDMlTTJyyyKrCazWUyA0tRJOVb+5aybkf1dDrt7G8cmCp18F5vLE1u334tKVs6kZrThXeRdX9fhcrWYPf8a6dnjhfxMl3C0+nUtnrKmJDKv9rmaMyT+q6VkcWLdL/HG37QNKOMQ6VsYgR+b4Fh50l7y4EVSnq/+YAbK9XG3iP+3vZLx6qPFvhGE9Mq1TVN3nUcm7+BTGVg5Z2P9pYuLJ7drYH1fE0s07YZzPBiKd+UfZviXXXbaGTxEnk+Em9tu8pIgOouvrDJx+7omapRYktjKJKU/9vc2JMaK9X6XtmO7O9tv9Rk+1yfMO21O2fsdjujT55l1VaGO8EY1qu5+cLRy/LhpUl3KsZQpMdUCqu/6F1x1DFdB1J6LKRDNLl4gdH+Y6D6kPGDTEXuS1JaHkvhUUoiadAjlBSnqdL9IDHXSSrpeBwbOir6jaJFpU5X/JrtL1AkUlDeS7iXkvH+ZPqusol6k43KnS/U/c2EKYH1ch59pfu982p7LP9Go0O95ODtm+Ecrw2mkcXzCo10Xjw13+hhVl3bneflMRRKykYCS7t/0j4ahMLHeypJRZLID8Owv81jf1Co1+gdKXWk4hYz218gUd3QDfxcedZJpDZwyyvdddBNim1WfT1Z+pyMYb2aW7qE5fm75Z3C6v3VlV/d5cvWXV63rIyM+KM9voyD1hyXH1k8v4WpF6uGSjOIlaiMJ6/uE2bFsOsTxFIx7L55p2ayhPz4/r9/toulJoyUutw3t69ynL36KhgOux9XtW0qSfFt99Fkq2N1VhR/wTcG3Z95GGv/r8mV7b+2u5P8l8wsvo9mECsrB5yloJoYqnsiq7ILpMRShfXn+RDVyZtt/7vuRNtYqct9b/vKs/ZrYW4QyztcewJSklRs/mWSd2K6rL/iZc4SVnan00fsS9mq6nFs95IXny+Xy+daKt6TycULLOpkBVJeqLoKS2oPWPvg8k7SxtaA8dcfX5+7qpVSbMxLq9annuWlLjex/Xl181IqY3vk8lRJ3vpzcGHbEvv/jpKCz1tHv+Cc74xh3Wvc/Z4CSdFuu1fxfvYkpXspKG+jCQ7Re6FN4I8vXmLyffWRE2ZSGikt6kWBVyiTlJXdw54w3qvYjvRrgkBK02Mh6ei3o+iWYq4p1TBz7n9k+/OOkrx6pCrIpdQcKjRmm7jimhJTus0keeub2mZw1lX3HnZXmyt1bDM/WMVScxesL3PyvJ2qufVGFtv078L97P3ciNXe0ftR/jtu676WvPKm62b2zbAt6KuewmGs8GpmuuqG7ZmbnydKta0Zqze5w+z227Imbn7uz9hjzLs6Vf9lhV8uX2V2rttbpr96pYbM1/BqfrBL+NjWV6xyECnLpbVx555fdczsixcZveMjV9sDqq7JSo0+kVSkw6uwKt589y0+eVO9KpsFpUplxefbl1dvf/jW4o5Xu2ervaTwdGhr7ql7SiRd1n+HS74XWFNNpevO7lnK7gTrlXy/PA77Y9xheRX8yOJlRsaPC/Madi+QUuOC+3KtdGQIS9W9NOYEC9vttreRYK1rL90elGrVf/DFnbZv+Yzud2tftsok7+PU+TCHPctb7xfFs/pmC+tpzhRuV6uV+XMVWP3GQ3Wt1MjiZUJZb4xLivJ+wvZN6TDCMls2SJIOvXtp9vt9fyPGLYpL9Uu1ORa2W42+vf0k784y9qk7zp5QrAopOvcn1u9EYn3DDl7Jy5wlTNO0dzT81Ldr5FVZ1FHsZR73dWC18RRKWZ6ONLDKm4XMCRZ8e2vmyp3ql2pzlK1S395+/5bLwNf9pmx4L6T1R78y3dudrVeQwHGvElieuh2OtL3C3FxcjTONLF64qbXKuxU7tnnnAtRQUp72I+yo8WMoDqWs7b4F5fqmZWNNk6Va7LNyRoWeb2+/vcy9csc5ZtLUvJeh0f21Dm4zxwt4lcDqRVCiMhk6szJUN7eNL14o9spnJJiOR3XvoA6lNO/MEuiNNWYqB5VzAzbr929eHkTAEt1Sh45blVds9Xx3+8eiczOBqnm37jN9QiJ7nc2JcoqkbAzjpbxKYAW+dGy6A8VW5bHldUedN9OLF/IOko4rs4213ah3c0k152l3upNidAhL5QQLbZlrX8o6nbl9essNwt1S+/LNRuXYfN93tz9s3/i9r4lvSPphWFlLWb2FbhcdL+K7Nz9fJi9gGI7JLzlxaK71NlLOQLSXVqfyeMrf82qacK0TaVs1fYptUnXoxhYvFMV7Kf1vHVdf4Md9LinsfOeHe6m+L6dakkiTnZRdag5p796lY7ar358f9+rcINxv45UZM1dqd80slapp3YfrzWx/WmFpjkWZlFxz5emYtBjeJrmTpPWx0KYM1eNeCgisl3OH2RomLni/4g5po7ybarFLMxX/oiBQniVFcz9sGO+l7TEKvHKxypHakcWLN+ZtpWK/DwNJeTnaH3afBBga/zWXTDVRDv+MH6J4L2Urv8y8MnXMNtxw3H9kFphOqZY1Q/u+z21/WqJhhyzaSll+hxN3uYa7v5MkP96qWK3XfpocdfP8D3huV11oalvtmrKvrc7yKn51osBrrmPvNp0OM4uH7Jdcf/SPu8GF26HUu4C8/8z6cFBwLHNjg+Ot2Yb9AcmnBaUO1vTHd318+1OfTKnzZDNzYVyv+Y0r3W2ttOolnvz80u4zhjWRQr94vbtnTJGs9bmJr4ORLWF7j+3I4qWiz9hsP6zPgzHgcuK6zjqaGsKSzEdXlYV2qhVePaO6tdROkeuP8/iuf2P7eVYOFHbd+1kUFocmzLyPm+6nxnN7u6oLZubPcKTJpl/4bIL1Vlg8hiVJ+THLc/l+2BuRTdI8lRcEUbBk8WJJluW5vMAPfuxsVJ7keVbIC3x/0Vx8r7b9G+RJmhV+EHKG8AW9/Xhg2QNo8duvCywAr+w7gWWammimLr6Nnmv6iUQVgMrbva7DIlcA/Lyfv3B00J56wmn/ADjhXoH1HGcKAby0u7WwFncKr7owHgBav3Ev4dvoDwBwhVtuzSkbQm+Dfy8x9c6L5VIJLmsA0PiV2RqW5RmpBGDa70wvQz8QwB08z3xYNLAAzPilwJpvYpFXAOb8VguLTiGAb7vPzc/WN3QtuolweP4RACp3u5ewNp4yb7SyAHzT8wy6A8CMO8zp3jE+0czvtK/yNM8Lz/cC6+zjea7yMfatrJCC3lxv1me32x9mH9pesc98fvPG8zQvcgXmYw+btcPu+6b2faSUerOpMgUKwvl576ZLsuwmcC93HsPS94Lpu2NYx/ZJX946Hh56/zJJUedpEatUCnsznb8NF0lKV5YtXqyveGE4nJ/3xo2P79MqNT+l6X2ffjVN2ofIh9H01MI3fMZ9aZplReCPTQr6L9Opn4X5f4NlxTHL8sA3PunBYzkmk9NSpPIkzTtlThY5rAF+1pt0h4dQjL/nWmYJ189Qf+42TLzBQwjO5Qtf5rJQknaDXbA8/8D65IfRV/zP3uq3bfyzt08fvbWX7ftUKZfLV2/y9eA03PllJY3sZq+IcHzty6V8xMSgBrvBsl2ddn7zguXXMPGoi2GRX03yNL+9qSItNcDPknRDYC1ZcpuxEhZV7lz+/YRxHFf9mn5iVQ9R6CwOJcnrHl+6Q2AZz+35xsY/yx3xw7Duqh26ay/a98lS6lcVhE0fr5ehS0sa282Og9mssmzoJFkCy+8vsz0ex/JbmAisQZFmGNe/vYkieUDP75P0OoEVSPIO1dFfNvZ7f/dVWz4yl4XDRROBtT71NK8ExsJdIEn+9zf+6Uny4vPlcrlczmX/67Oz9pJ9ny6lzKCwauxUzw8aOc6nSxrdTdNJkvz4dCof0To40r98yy/ususviyUpOlSlVC9Z/qLGA2tQ5FcgyY8/TrGv5mtkvEhrDfCzlqeB8f4nDayDJP/c/rxWPzM+VT3h3GzSVI2KTudEo4Fl//sfPkNvLfUOxls2/uVLCtp9+gokBZ21y39N7vt0KWdPkmccb2Xn0tpkmKnP6G72i1i3tfb67yu7p7bun7ns7DV1jNt97X2ZrCV/tGs6KPISSVp/Nfu1ni7SXgP8rMVpYL7/SQMr6v8Bhv0Fsarn1u267/LU+8se5M/lcrkusC6heq2MWzYeSwrM1758M97awJrc9+lSwm4GXS5l3HndRYvqM7qbvdfX9Q+H4SdaDdYbO/P5UT1X0dzBtbGFSPZ8PXtjDR9rkeYv8Wskco0il9QA97Y4Dcz3P2lgqf8199E/HHzJ+/pUt1EQSmHce+cdAuujX50bNn4eBsdBRg6G5ic2uu/TpRxs4dQ2MDrm6jO6m/3Xm59CyetuwiufQHsy36JBiF08Y4fP/Tq0e2H/ddmLjCQ1O7eT5cHVnSKX1AD39gSBZTnzeHNgdUPjq/dn9FEehr75h1lmxleve3CHwDr3qn3LxvtRdrlcLp5RbCewRvd9uhRflsbB2etW87KsPqO7aZSsThR+aNgyjLpnCa3p0v1VRLI1h+LR0LQW+dWp2TkMw2GbyShySQ1wd9+/0r0u52ZvZjlvb29vb29mmVeVX3R+8sIwNK/CSSWF1uelewdJm+vrPqF/+c8tGz9KXtxbFsp6bdDEvk+WkuSSP7iMyF+X611fn/HdLOXqfDRRd21t0/LjMARhGIZh7zLetFq3eossn0l+lHa2KowUmci8Ctcvx6vGi1xQA/yQqwJufoXvVGLs30vr1r/2qaNqxH+q038KpbD8imy/MHWfFpb5BX/Dxj9l6ZidT6fTuV3b+KxG9n26lLWsoy9nWYaRZ+tzGdvNVv8aK3UawZ+SPqzXYZ26y8LOX4b1FxNOXtIwLHKt2UaSWeSCGuD+XulewlDSu+3umcqxKL8TA1/K++/bedJ+YuWrpSq/d7+x8aRbRMnvNRtLE/s+XUq3odC+HliquaA+k7s5Im/+VbxLsaU21nWMa9TDTilVTVL5/dbgXJH9m6SmipyvAX7ETwXW708OE0nK/22sPRHJODZt/RU/lrS9Y20SdZLglo3nsgSE3cS+T5aSjx2moaR+4Cyoz+Ru1uUafaeis5l9vjRkhuFQ9H7cSpbbhiak5QnbIt1uj9ao7RY5WwP8mKtaZPMr1O+5pRJj/16k+sbzooNtvPdLdR+t218Jqx5YqPY0tZZeOGq80lnha61OH+GmjQdzu290S8b3fbKUk6ynAy1nWJfUZ3Q3W73zaQfzV/yhsl873yX86tUuHIyvx9bf4ESRF0nx5Vx9x/iW/l2nyPka4Cfcf7aGB/p4TyWpSBLz1pFa2+QJ/Fx51m8r7P5J+2hukoFjdyjaSOXcaCLlaSGtjSHfmzZ+TQ91fN8nSylUtisGPA2bDPP1mdtNyfdzJe3yvVmXjRQva1FaatJdlO+lqzqEZYvpuC3q9dNDryrdImdrgJ9zVcD1VxsW8f2qTJc/ofNHFuw6Y6iBmjPtnYsX60bOJVbz5a+l9xKOv+J3ruK5aeP2Whg6A79j+z5Ziu1ChWaP+qvN1md0N3tbbK49XZsfYtNImW9h9ce4uyPgl8slmm9gWYoMJcmvbqjsX4LfLXK2BvgRrzToLmn9eT40U5Zk2/+M5lCeVbeMaGyAZRdIyegI2LV8s+HyGxuf2PffMr+bUuxL2b9EktKVWcf98IqGm6XJtQ2scjUpOp9Pp8vBK88AfL9I3NsLdQklyV+vlaVZeagUm6w5BMzLbAI/V5EMTkftVtJmZv669aKTWJLSNG67hDdv/Kpuxui+j5dy7TR70/VZsJvyPlaF8neFygrJ8+rB62y7uEM4b6+xaQpnHMo23zpYFUpTs4ibi8R9vVhgSVIQSGl6LCQdm7NOR0lefX4qyKV0cDCF8V7Fdvpb3hv9ozUn3UuTo7QPmi3ctnGvuP7M03DfJ0uZDKx+fMzWZ8FuSsFpVag6Veh/bOvA2lQ3Kd1Dnnav1WimlLTMytjRTF0Y7DbS0fhd94vEA13VheyvNizi+1WZLn+pnad2JOJzsKn6HrZQ3VteT5d7XDi6k3Ha6MaNhxq5v6U2PnBi7PtkKZ/2PbUPbs3VZ3w3u76qiwO8+Ku5mTA2Bo1uOktonpJc985QNvXp7OpwDMu89tbvfrb9ImdqgB/yYmNYHfHJk4pqHGU4nFIMB3m8naTNXa6niX2j/3TjxgPZ+mBvb2/zk1Ab+z5ZyugtJbmGM9PP1WfRbkrydl+fh3h3+tp5yqqGXCYF+20pk5Rst9vxe128Xk3STluxON7QGgpVXi5r/mxc0tovcroG+Dm3dAmnZ3O/tP+8sazLzOtWWyno/pkG633zR2cZ/02HM3FHUaJ8P3IH2nWivVSfvr9x474snarqZr2uqX2fLiVKJMtIU2HbzFx9lu1mWb06Gor2QE/NgDrKUoGWN/hWMUb/jpI62136N2RGjicpbxYMipyuAX7Oo1tYd3uWzn6/73+ft5drJ3n3wr5PSYmlKXW46x061QZu3bj1RFvvlp/S1L5PlxLKdpezkqJ/gM7XZ+lu9te+pWUSdBqGWbeUY3lr0JUm1xgWOVkD/JyfCawHPDLVt9/NVX7v9W+ZC3xZWwRerHtP23D7xr3Q0qmyBtbUvk+XEnm9po0kqdjL0quaqc/S3eyvHUr1BAolv/p5IgG6vdNM5meS5TeNjwfDz7CpgKXIqRrgZ1015tVfwVzS/PunNj9lMOmmOaHlYH6nWMbQtjkWG6qcQuS7szUYI8c3b9wyhfDJXNQMuk/u+3Qpg0lEL5fygk7LBzBd0sRumgvD0Fjm28aqF8zWcJI5pWl3Nqq4X48RvSJ33dUC85SBpcipGuDHPENg3SmxDhrczhWqOvEzmBeznF/vXL0p7L3g3TWwvrHxcFBuZy7QJrCm9n2mlC9Pg0vSD7JExlxJU7tp6KSR/RNdEFgXz9jh3kSNwcITdr0iz526nDpl2oqcqAF+zM90CR/QIZTWvpR1enP7tD7xMxxC9gPZ+yt+fL/77tPmvzdufCcpfTeWbDLZLrie2veZUryDpOPK3Op2Iym2jXhPlbRwNyO1dxAWG1mGyhZZS1lddLf/mme3XTHlR8YIYrE1a2YtcrwG+GFXBdz8aveqwLVV/JDMZ4CeY6n6Cv2SBi325kKp0NZo+H4Lq+mSfWvjsST59Qx7p0CdKrTXYY3v+3wp5eWlcV3Fgz+y+9MlTe6mKVTdJvsK7B/okhbW2WseHdhrXo7Mxj7UL/JTzdODvoLOR2AtcrwG+DnPEVj2oq4NrPJokh/FcRxXd3m0ozj9FnvTXxlkxuddAutU/xF/b+Plt7wXxXG8LseAje6bceHo6L7Pl1I/+jSM4ziu7kYMxwZkRkua3M3+ByN/d/qIPdmP8yWBddmpfEBiOZGxccVnZNmm1aDIWJLCumbG0zbsRY7WAD9neRoY758Jkfl8Grh5W12Du2qqYzaQ5Ruy/nofZEb1hzss/qrA+qq3/82N9y8KG5siYGzf50u5XD765+Omn+9ufevkbnaYNR0M99cfwWxgjT532Vs4hDVTpPnc7pEiefLz75N078DqHziL3LitvnNnQCSs/hzPst0kslP5ZzjMjC9f3w+ssnN3h42fI8sulTq35tj3fUEpl/ZmmdJ6soFiL2l6N7s+mo3F1obcssC6NEN5nhmUozcbDUwVqcj4DCbvXxrWAD9IertqNmNzOH1ktZtG3G1lLdjWUJ7keVbIC3x/djI+V+RJVqRS4AXR5LU+0/s+U0qSZXkuL/CDaO6S7aX1GVUc06zwgvCbv6E8SbPCD8LZCl9ZpBcs3bEfqAEmvd09sCby6jL12i3bAvCn3BZYF+PfMpboG1c0mGUSTwAs3n7vXkJSCMB33Tewbr9k9CEXmwJwy2+1sGYbWCQWgDl3DSxCB8BPumdgXXcW8Iq1AUC67Tqsy2DJEsNzi/Z32EpmxB7Ab54lBIDveqbAolMIYNIzBRYATHqqwKKJBWDKUwUWiQVgyu03P/8Ozg8CqHCWEIBDCCwAziCwADiDwALgDAILgDP+7+Y15+8NrN907R2IZsnMQQqg8bMtLIIGwB3RJQTgjGcMLK53B2D1jIFFYgGwesrAAgCb288SzuqNuF/TbGrfy7A9gMY3W1jfm8YdAK7xvcBisAnAL/qxMSwaWADu7VuBRYcQwG/6TmDRIQTwq37oLGHVwJp+tuBt9yEC+LO+0cKigQXgd90eWMuf4fwDGwDwF/3IWcI79eBILAAd3JoDwBk/EVh3GyKniQXAdMtZwoums2TqTsDhepeJot44PwigdWMLi7YPgN93W2DdNa9oRAFY5hkG3UksAIvcFFg/fgnWsk0B+GPu3cK6Ka+mViKxANTersqYR6UHnUYAenuKMSwAWITAAuAMAguAMwgsAM4gsAA447p7CTlbB+CBaGEBcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnsKbdHl0HQBggTdmawDgDgILgDMILADOILAAOIPAAuAMAguAMwgsAM4gsAA4g8AC4AwCC4AzCCwAziCwADiDwALgDAILgDMILADOILAAOOP/Hl2BP6rIyv8Hnrk0Lf/n++bCLMuz6r1hYC+l1V11QRFThRm8wKhfVzi2TlZM1ancZprlhSTfi0Z2rfsB1UWWG61+qsrPc1t9qqXeYLfztPxMfC8c3QM8owt+36n68E+dpdXCuF3yFXeOdj8+20oxBfFnd1PTRUwX1gjN+vWMlHiuX1+PfgiRUYpn37XOCof6zQfLx1XHzq6zSmjWv/1Mdp0AW3d/DXhWwz8J/I6FgXXotC/K49pSSj9dzEN/pojZwswDfvRlW4m7Znv2j+Bz0LCJv4a16azR21z3p7o478tcxxpYu8FnEvZSfigKw7B81y4Mw9D+GeJnDf4k8EuWBdbamh1fg1L6vPbwmytiWCWrmcCytaLaNszB9gnsLKX4bb0tgfVZx0y9serHXmB162IJrC9rF7DbMBv4kiSdmyIJrEdg0P2pbY+2pen77IrFqh6PurmIKx0H28nbITHb0Ndma1mYrybG0fJVNYC1Poy/SZKOU4NxUvafdShuu5leS5I8v/kn416PQWA9r3Q/stx2rHcVm28XcaVt0VtgJFjSf20sSI2kHb70vjCvpMmdy1bD2kiSjpOrpZIUSFJeNP/Er+Ms4fOqw8aLAl9SmtYH8zEejMH0Zcf1d4u4TpH0Op+J+e9+xzRpg9QPfOVZXhez+ZRVE2WBrS/ZlR6tHeFqA21ehYGU1ScXpf3U6cJcqlKqOrc4Wwv8kEf3S/+kBWNY9ZEbNEPop/p0326klK9Tc6QGC4uYrF1/ead+l8vlcjk3Y/pR962d3Om9dvlqzluGVdU/mxOGsb0K9Y4FxvBbdw0jbfz2Tf0xrGY7/qF602f3MxvhS9VgXGzbI/wKuoRPrBpp8U7t0V0PO1sHYSR54aHuL2XFbUVcyV/XydIrMOn80OuF7etWze5UBUrwUceGva+4qRYHpyVNm3ykJyyldb3Wn+uqpOBQl5mNfyhFv4W1oBb4AQTW06oO6rVxhHpVd2gibdb1gZ/dXMR1gmqDvUyqA6b8X2J9UXHcLjtUbZ+i915J0r5a0V7UIwAAH1lJREFUw/tY1hVrEnHwQvX/tXm1R1gnlj0spSqljMBizP1BCKynVR1zndHdyPbGrvot+e1FXKdubHSGy6s2VVRtrZsExyrcws5wVP2DZdi9Hg83moozRgbQ0yqnw+7AfR264ynephRj7g/FoPuz67QVvHX5YzZ+wNTf/cZ61xZxnaD3f0nNoR+GZXJkuT98UbG5hvyobFsNAyutznl6p8V1TlJrG6huvfUH7uMyQwvLh7Jtu5fpW/PP/0mK54f/cW8E1rNLO4f17Cn9Hypigu0qgbpfF3lBmT+JWYXqxf5JudDWGZSU1VeNLcqrsDzttznbXqyr1S/IO1W3JS7YAB6JLuHTqg6qdDNy3dCI+t3+7UVcp2oRddKn7hF6dQ/UzKK6gdVvA1VXqPevuG8uGD0sa1+VgWwdd0+rkobd4iAMwzAMuVjh2RFYT6v+tj/+txlpeljVceDfXsR16vaSpRJhkw2Z0S2t+3zLBq6bC0YP4xdXdVQNt70lpK/bMp4QgfW0ovrrvji+v/3b7hee16uTKbi9iGsUmzKKfDNOmh6h5A/PE9ZJsqjB1FwwujSv6iZWYRl3r09C0JByFmNYT8tbG72aLJMUBP74dFaVfZUMgXdzEbOyNguyeoaqzgQI1UnByJMUlYFzbAexbH3IUe/1Be6L80p+vJek43o4B1b5v6vyareT9J6oGmRP3iV5X9eUgDsisJ7XruhdF5Rlkh+thyPDzYm1PKkbUdGVRVwjHbbUDp1hIbOXGJXplt94VrLeVLZdfk6uOue3HZt/wqhJ3v18xj6Y9mLRrFcAft1jL7b/o5ZNLxNbf2HxoJShZlKouSIma9dfPra1oDubVH2CrqxD0N+kfU69kSq0hpPsdXfGKLY6EfrR39hw73ubGZvIT5L02WyFuWUehDGs57Y72zpC+3/zJ/2ae5tvL2K59We3ydFc01D+r7Pwdu9jV69bKlTG1GAGiVuVzbz2OndaWA9DYD01//B1GHZTstnprKK2YXVrEVc4rrp9xKqbVTVuqsDKp2epmldcUeVy9weXNtwaNFzn/jQIrCfnrQ/nr1McdSInHb/pTZIUdS4OvamIq6Qrs7T6EoYqqSznCa9zqJIvm55izxSWzcpjr1FW3+R8bQ16dz57XF/6MAy6O6B8rkvazmal/dQ5My8eDlxdWcQ04zE4ddNqG7Wn3ro9wuY8YVKPmldrL+2vHdbRf+V7j8tPFe6SQlKx/egsrWq0vG9ZYcz9aRBYzghDpfWVVHk+9iXvhWE0etp+WRGzovaEXVFdkWrO31cFVnMhVJVMeX1733XtnMNa3qHqDW6DpVlRXdCRdPuq1R4bu+7VF1eMXaJ2zOuqZlvV+7bV8MYi/AoCyyVhWM8L1U2b0/KDZ6yIG3kf/5XtlbbVklT/HFz8kNRzX1U/9+9Pri8x6M7hsJYUlVdWqdgsmg5LknZlNbad94fVoFbaztlXnyZ8k10beW2vt9wzAusRGMNyS30wf+Oa9TsUYarvvWkWjJZrXoNve2O6L3UWlr3b+jGCVwxjlbvZnZOv3vJw/O4H7gHATyCwnlWyWq1Wq1Xv1Jh3zff6HYq4wejgen3DztgofH1Nu23deuK+ZHQu0b7Isptena6DfPq5Wy1xV3QJH8PaLcrMF73qoCqsnaBFPaM7FLFY08KyPCKnllZ5EZZvznvPiqhvKrKt6rfDWEvz9vDfcFk9g83ms7v32T3PmeIHEViP4Xnlcd35qq+/5j2pPW57T5yxTSI65g5FLNbE1ERbJamutqjvcNx2Tg/Ul3na61UPY+n9vDBp/XjYGltXcyfn286FH8V4TzMKqnmV156q8bnyZkyGsB7l0Zfb/031vXcf7aL6SKwe7V6NiXefvF6fpi8X2m/waS0owmr5U3Pae3+qH+vbgqsJpiq9na133nwETv2YHa+7a+0bmplNR6ozuOPny5y2vVrW5NTa2PS5yUjrB3lqKxJIIw+yxm9gDOth6mN403RGmid8dq8QL1bGZUP1ZMELJ0i5QxHXqhtYpw6/+2Idcll7ifx+Vf1jPVav+rER2dKHwHqW26WbGRyMq/OP/2YeFS3V7T4uw3o0AutB6t5Qsflvm6Rpun3/V6dK1YGrj9zsv011bCWb5mntyzZyhyKu1b9qtPqxerHu9bWJtTqmRZbu/6s7hJ79bm0ZT1DdLx1wGs4v08aestV/2yRNj5v/zc3H2l7nbtxTiId5dDPvjxqdWr15Rqd56Hqd6XvrXtFcl3BBEVa3dwnriRp63abP/uLRg77uNdqqUGes92mrjmUSiHYuhnbpyOcejH+QgVQ9eHbX3wB+Fy2sx1mPNHGC5ojaGUd1kaZtO8Bb/ByJOxQxp778tCy77vT1Zk0Pqnc13bCx50nEU08hq/emWDpHfWgpbW3dc+9jvN3U9gPbthYehMB6GPucv+ajjUeO6iuednWPImY088ZLGusRDvqEYxWYfnKW1wxjLb1+dGcZEOs8Q7Wpjj/6gZQhG0o89PkJEFiPc7AcTrF574n3aRvQCT+vCJs7FDGjPnuwPaqahlmWc/51U6e56ME7DSvmf8zMKtoMYy29ftS3fSmsP/vV807B+GVpRkox5v5wBNYDxee4e5isz70M2332j7jwY/HTj+9WxLS6+ESjPcK2T9hepeXtTt13+fHn7FOpm370duGt07FtT/1T94lh63MwcV0VY+7P5E0anfgWvyBJq1aJH9inWSiSLK+GfgI/iG6JmjsU8TPyJKsmzwqDX579IEuq52eEwcwM9/8yVX3V/VZSOD4vNX7aG4H1FPJi7mu7yPzv5swdivgRRfawx25lS5pLW6l6OkWaSgpmm4H4MQQWAGe8MYYFwB0EFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwBoEFwBkEFgBnEFgAnEFgAXAGgQXAGQQWAGcQWACcQWABcAaBBcAZBBYAZxBYAJxBYAFwxv89ugKLvFX/v1T/vvSWa2RZuby/ZLmL8e+33rJ+PabeO/ae7v5cX09z/f5nMbU9Wxm2f99Sp7F6mqXZfp77DG2/94m6X13x4b6P/o7v86FcUaexz8X291+/Z/r32i2rvy3be5+EG4H1PZdf+wN7KXf81N6e8C/fBW/PGBmP9RcCyxFPFqt3rc7bU35bO6D8LRD4jT8RWDSxngC/g294k4h8SX8ksLAcufK0SC0RWM/jKZLiKSqBCX/9N8RlDWj99aMBT4/Awu97Ixm/7Y9+hnQJn8Qf+/PjtOH3/bE/mRItLDzIH20i4FtoYeFhwUFi4VoE1nN43LFLasAhdAkBOIPAAuAMAgt4BX/kHAaB9RT+xh/bqD+++3fyJyKLwMIT+AuH2i/4A5H1dwKL6xSf2R841H7Fy3+Ofyewntmr/5Xh97z43xKBBbyU125k/aHAok+Iv+GVE+sPBRae3isfabiLvxRYNLGeHomFaX8psKCnj4Qnr55DXvSTJLD+lqf/M376CjrjNT/JPxVY9Akd+CN2oIqOeMlP8k8F1tVe7VfuxP689mn53/SKHySBhafzigca7oPAwvMhsTCCwJrEkfMYfO6wI7AAOIPA+iMca7M4Vl38FgJr2qscOM7th3MVxq8gsB7sdw5MDn+8BgLrLyCv/rYX+v3zXMIZby9wefyP/L3Wn8tb++8XOi5ezCv8FZcIrMdy7Ri/TNX4Irm3R3AKgfX67hUhL/Mt/dsuRitUUqdV2vysctkP5f3LNLEYw5rjfIvhTjtwueJP/nLNm2H6qQ/O+T/jCi2sV/egv9SfayzgLyOwHuqlj+nJ8S4scNGL/4lcjy7hLLf/Yr5be/p2eCa0sF7bN/OKuHoKtFUbtLAe6dn/DJ8hr579M/odnMWoEFjznuaQuf6P9ltV5yB5Jpx5lURgvbbv5dW9avHNop7m++LhiCwCC2PuenB861AjsRokFoG1wJMcMU7/tTpd+efx5xtZBBZ+xzeOtCf5wsATILDwS/562wD3QGAt8RRf8c4f8Ld3Z57i88czILCAv8Tx8CewXOF8A+s7HD/KcDcEFjr+dC7+CW6HP4G1iHu/5Btr/Kx55d4v4Kfd/pty+rMksBzxrEmCR/mbl2QRWDA87zHgdLPgh9z623L5sySwlnHtd3xbfZ83rwBJBNbDXJkoRAkgAutFudYgxK9y+M/j7wbWlW2Wx/6OaWAB0l8OLDwO+ftg7jaxCKzH+Nm/GHf/HoFJfziwHPqad6iqy7zcDrnG2a+0PxxYeCASCzchsB7C2S844KH+cmDxLf9AfPiP5epX5l8OLACO+dOB9bBveVe/3u6JJhZu8KcDC44h6O/H0c+SwMKD0MTC9QisB3D0yw14OAILj2rr3LBZov5+3PwsCSwAziCwft+zfbU9bDCJUSxci8CCS54t7F3m5GdJYAFwBoH16677Yvv5bhMds5fwR36NBBYAZxBYz+2PfG/i+/7GnwqB9duebajTsb/zZ/v4XObiZ0lgAXAGgfXULYynrhyey5/4YyGwfpmLzXDgWRBYf+OLCXgJBNYzI0uHaKL+aQQW8CL+wvcbgfW7v2faB8A3EFjX+sXI+QvfmMA1CCwAziCw9JstmauaZzSwcJ0/8BdDYF2NYajH4vP/ywgsAM4gsH4TPULgWwis69EnAR6EwAJexuu3ygmsZ/X6f3vA1QisG9AnBB6DwALgDALrSdEjBIYIrFvQJ3wkPv0/jMB6TjSwAAsCC4AzCCwAziCwbvLTwyj0CAEbAgt4HS//TUdgAXAGgXWbn+0Tvvz3JHAbAuuXcPEQ8H0EFgBnEFg3osUE/D4CC4AzCKzfQYMMuAMCC4AzCCwTlxMAT43A+hX0CIF7ILAAOIPA6qBPCDwzAus30CME7oLAAuAMAquLPiHwxAisX0CPEL/k5f/UCKwemljA8yKwADiDwPp5L99MB34LgfUdRBHwqwgsuIZhxj+MwPpxNMOAeyGwADiDwPoWWk/AbyKwfhqZBtwNgfVEGE3G97z+tyOB9T2v/xcCPBECC4AzCKwfdkUTjB4hMIPA+ib6hL/t/9u72/M2sS0MoFvPMw2oBbfgW4JTQlrwlJApwSkhKSEpwS4hKSEuwSmB+0PoW0LoCAQb1voxSQTSPoMOL4dPyfU5E1gwFTPYegqsftkjhA4JrFvNYKsGYyGwxsIACy4SWL0y/IIuCaybCSXGYQ49UWCNhD3CliyoWRNYfZrDJg/uSGDdTiwxBrPohwJrHOzoQAsCC2Yq41ZSYHXg9rH4gF0n2Y5ExpWM7ggsmIRkW55CAgtIQ2CNwaD7OfPYMk/e9V9jyr1rgUUmKVcyuiOwgDQEFvYJSUNgMRhJOaSce9cCi0TBkXMlozsCC0hDYDGUPAO7KUo6WBVYTZJ+qZPl+5g9gcVADLC4nsBqZJPONGXt2QKLYRhgUUBgAWkIrGZZR86jZ4A1qLT9WmANLG3PgQEIrK4YMlzD0hpU3s2kwLog5Vc7+kbLK8oIrGGNPlpgTATWJa0jZUyjhpHn4JgW1RyNvHs0EViDStxzYAACC2Ym82ZSYF2U8usta/SId9VSfgt0TmB1ZwK/WzLixOJI4bc1ul53DYE1UYW9cqyJlXol68lYv6teCazLrl5ZMvekzG2fl9JvKnf2CywSyL2S9WKmWxaB1ULb1WWmfYhMkme/wGL8kq9kdEdgdc9AC3oisNqwT9iFxTwPE9MlgcWdFKe5vGJDYHEfRp90QGC1cs1GfkRr5ojGJuVLZUT/EyMwot41iH+GbsC0LKazdi26TIq5r2ZdsRyNsCbtpszpbu245ZOmswm4WfFZiwkRWO1kXW1uSywryIj4NiIEVvdadqscCWgdGQ1fRUQIrNZaBszoutWNwWizPgoL30NNYA3jfgOsHEM5mkirDWcJO6ZvbVgUHbAQ9wmsyasG6fNWtA50uBCH6QXdE1iDuOt+Wjd9dZH0F8+ImNCBAYE1A11tXRcxoZ5/R4vNfw5fbPFaJ6bzrQksrtKwThlXjdV08kpgDeLeHaiPAxiLM3+HHrmsYRYmtIll1gTWAAaIj3SJla7B3IXAmolkAZCsudyLwGKE5BWnCaz7szZeYglxhsBidOQV5wgsxkZecZbAursB18cUUZCikQxEYM1KgjBI0MQkqikuSoE1L6Pvw6NvYBrTXJIC694G7kcj78Yjb14iE12SAosRmehaRmcE1p1ZJRtYOFwgsIA0BBZMzJQHqp6HdV9T7kuMwrS7mBEWYzDJa4YGMfEFKbCuNfEOMQwLtSOTD367hHc19e5UyGLpxgyWoxHW1WbQK0hpDj3TCOue5tCjGMg8OpcRFkzBPPJKYBWYVteY1v8NEyewZm+4E0uykmsJLAYKjsmfgacHAquANe124ooSzhJyf8KKQkZYJaxwDK6a5SBVYLE1xzUgq5l+V3YJ2VFFLIZuA5xnhFVkppu328xyF6Zrc1+GRljcxdxXtA5YhCGwOKfqcOfQqnYby29jYWkAOSwcwwLyEFhAGgILSENgAWkILCANgQWkIbCANAQWkIbAAtIQWEAaAgtIQ2ABaQgsIA2BBaQhsIA0BBaQhsAC0hBYQBoCC0hDYAFpCCwgDYEFpCGwgDQEFpCGwALSEFhAGgILSENgAWkILCANgQWkIbCANAQWkIbAAtIQWEAaAgtIQ2ABaQgsIA2BBaQhsIA0BBaQhsAC0hBYQBoCC0hDYAFpCCwgDYEFpCGwgDT+GboBI/L+8/f771g+Pn5+PDPHW/3n43L/5bffbxGPj0+fT7ylYVrrOUsL5C/eR8PyF5+3iqqqqo/n7SJ5+nVylm/r6a+7r74+bN738HLwjqZprecsLZC/eB8Ny198xiJCYK382B80fTsxy8dmlt3Aet5739NH1XLavoY5SwvkL95Hw/IXn7OIEFhVVe0MntZOJNaXzcSdwHo+eN/jR7tp+xrmLC2Qv3gfDctffNYiQmBVVVX9WsahH0fzbKdtA+vL0fs+t5q2r2HO0gL5i/fRsPzF5y0iBFZVVdX6KPvy6Wl97GB5uFF72nafTWBtQuzxaTP5W4tp+xrmLC2Qv3gfDctffOYiQmBV2x3Cl6raHu58Pj1PxE5g1SdwHn9VVfWnTr2HFtP2NcxZWiB/8T4alr/4zEWEwKo2g6d6K/ZRJ9beEGv1Yr3nuA6sP6t/Lv/sve/14rR9DXOWFshfvI+G5S8+dy4cjYiI99X1VU/1oc7ly+rPn7vzfH2PiOeDC7TqOZ5XfWpZH3p4uzit9aeUFshfvI+G5S9OGGFV1Y/VgtgeJlh1ld0DnX8iIpYf9VBsvbWrx+5/1nOt/vl4cdq+hjlLC+Qv3kfD8hefu4gQWJuTMturRVdDreXOLE8RES/VQWAtD+arB2AXp+1rmLO0QP7ifTQsf/G5s0u4a7u/t+oyf39vXvj5FhFPh2eb//49eF99uOHtwrTWn1JaIH/xPhqWvzgCq8nfzV/+i4h4OZz++/CFh+37mqa1/pTSAvmL99Gw/MURWE0227Sv7xHx5eiW6LoLHb3++8K01p9SWiB/8T4alr84AmvHdsz9vj/h/Wtsz9bsOOpCy3bTWn9KaYH8xftoWP7iCKyIzcZsE1h/Dw4X/BsR8a1Fvzn3WJpL01rPWVogf/E+Gpa/+PwIrNj0iO/rowRf9w8XrI64X/FUoqbBe/uBfcOcpQXyF++jYfmLz4jAioiHVWKtDq1HfP9av/6+8/LR4xyAuxNYERH1Je7f//f9/e/bv/+uX16dnlkdcX849T7grjwiOSLi+etqMPX73+Np718j4uH4iDtwd0ZYEXHiEqut1kfcgb4JrIiI+Lx/iGrngY8/3yLi81Nco2n3sf2uZcOcpQXyF++jYfmLz4hdwpXn2NkbfHn4HhGrs4ffIyKW9eH49QVaP99OD8rqEzknh2NN01rPWVogf/E+Gpa/+PwIrNrz43/11VfLb5/rfNp0ke8HM3+PiJcTF8jsXA7RNG1fw5ylBfIX76Nh+YsjsDYeX9/f3n8vHx63F1xd2hGsA+398PWHC9Naf0ppgfzF+2hY/uIIrB0Pm0NXq85ysYcc3ZX6vn29aVrrTyktkL94Hw3LX5wIz9k5YdU3nqtq76cnjhfb4RKsR/Mfl6bta5iztED+4n00LH/xudtfMPP1+vr6+vq6ecRj/asl36rqQmDVE9dP/vtY/XP1ewFN0/Y1zFlaIH/xPhqWv/jcuaxh5dOnT58+fdqcJ6yPsX+OiHh53VVv7F5eX18jNsdH1w9/r/9cdbimafsa5iwtkL94Hw3LX5wwwqrWD6Vdb9PqR7w/nZjx4BHJ9VBsuXrjn/pjflyctq9hztIC+Yv30bD8xecuIgRWtfll8OWPqqqq9QVWp3668iCw1ocXlt+q7e8ZPrSYtq9hztIC+Yv30bD8xWcuIgRWVVWvUVtuf2r35K+UHAbWj+0bNxdtfWsxbV/DnKUF8hfvo2H5i89cRAisqtr8stKuX6fmOwysE298bDXtUvnHNh8y7eJ9NCx/8XmLCIFVVVX1cXR58ekt2lFgHb1x+afVtAvlt3OWFshfvI+G5S8+bxEhsKqqOu4iZ0bgR4F1+MbH3YFZ07TG8rtzlhbIX7yPhuUvPmsRIbBWPnafePX4emau48Cqqi87d6V+Obi6r2la6zlLC+Qv3kfD8hefsYgQWGt/XlabtYfnK88gf7zU18+8HA/cm6a1nrO0QP7ifTQsf/H5ilhErG8FIOL9vfQCvbfH84//aJrWes7SAvmL99Gw/MVnaSGwgCwWbs0B8hBYQBoCC0hDYAFpCCwgDYEFpCGwgDQEFpCGwALSEFhAGgILSENgAWkILCANgQWkIbCANAQWkIbAAtIQWAAAAAAAAAAAAAAAAAAAwCgsIqqh2wDQwsLTGoA8BBaQhsAC0hBYQBoCC0hDYAFpCCwgDYEFpCGwgDQEFpCGwALSEFhAGgILSENgAWkILCANgQWkIbCANAQWkIbAAtIQWEAaAgtIQ2ABaQgsIA2BBaQhsIA0BBaQhsAC0hBYQBoCC0hDYAFpCCwgDYEFpPHP0A0AxmURERHV+i8Nqv35L/69+XPaMMICTmufI3cjsIA0BBZwxviGWAILOKerxLp4NKwtgQX0rLO8cpYQOKU+x9c6a3bPCR6/XvbeY0ZYwHkjO4wlsIA0BBbQYFxDLIEFNGlIrO4OprclsIBSd08sZwmBRk1nCm9NrGt3OI2wgGYjOowlsIA0BBaQhsAC0hBYQBrOEgIXND99tOz+wd13uZcQ6FLXl48WnnkUWMDdlV4pIbCAFsZxh47AAtro8vLR4s8SWMCNrh1ilWffYlTX3QODOxc/TfcUrlNke77vmhBrm0ELIyygpRGMbQQWcLOj8VRPB+IFFtDS8GcKBRbQVuudwqsujL+CwAI6sDj7jy65lxA4YTUQWhz9vY2mOasTdxG6lxC4r3Z5duOZRoEFdOIex90FFnA3t17KJbCAblweYt186anAAjrS/06hewmBPbuxczIdzudSq5sIj88/tuVeQuBa51Nm0fcoS2ABaQgs4EoNQ6yeD2MJLOBagx34FlhAGu4lBE4o+93Aa108I3nACAtIQ2ABaQgsIA2BBaQhsIC+dXa83llC4IKb82ax+znHTzFt//lGWEAaAgtIQ2ABhe5/h47AAkrdPbEEFpCGs4TACW3O5V37LJlzn+l3CYEJElhAGgILSENgAWkILCANZwmBE86ds9s5o9f6JOGpz6ouTD/NCAvoWXc/pSOwgCL9/zD9MYEFlLgmrzrLNoEF9K6rxBJYQIEhdggjFgP+iCswQm1+K/D6uDr9Sdf9LuHCCAu4h25GZAILSENgAdcqGS51MsQSWEAaAgu4UsNgqeHIeRdDLGcJgT3HzwKNnVfihuQp+y3CLWcJge70PvoRWMBVynftbt8pFFhARy4OsG5OLIEFXGOYe3JqAgu4QtkZwhbvblvdWUJg6/gsXvuYOT63eHqOU5/sXkJgUgQWcEe37RQKLCANgQXc001DLIEF3NUtieUsIbDn/hdatc0gZwmBRAQWkIbAAtIQWEAaAgtI45+hGwCM1+V7A9czXXsH4u4nt38GqREWcJN7XhglsIA0BBYwgLLLUwUWMISixBJYQBrOEgLlDo64XzNs2s7b/rC9ERbQ7LbHuHdKYAGNBv2ZnAMCCyh192dTCSygyYh2CAUW0GhMO4TOEgKl6gFW828Llt2HeI4RFnDeuAZYAgs4r/1vOPdQ4ASBBZTo6Ij7dYklsIA0BBZQoLNLGq4aYjlLCJxQRXOWNN0JePy+quGjFu4lBG42sjOEEQILOKPTvOpoD1JgAXfQTWIJLOCU3i/Baldqn8ACrlSUV01vap1YiyHuuAbGa6hj7ZeTaGGEBeQhsIA0BBaQhsAC0hBYQBruJQT2jPm6ASMsIA2BBaQhsIA0BBaQhsAC0hBYQBoCC0hDYAFpCCwgDYEFpCGwgDQEFpCGwALSEFhAGgILSENgAWkILCANgQWkIbCANAQWkIbAAtIQWEAaAgtIQ2ABaQgsIA2BBaQhsIA0BBaQhsAC0hBYQBoCC0hDYAFpCCwAAIDZ+j/knzGuJj7SFwAAAABJRU5ErkJggg=="}, - "messages": [], "tracking_code": "9400100208303109973555", "fees": [{"object": - "Fee", "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": - false}, {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": - true, "refunded": false}], "tax_identifiers": null, "created_at": "2025-06-12T20:30:55Z", - "updated_at": "2025-06-12T20:30:55Z"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '72280' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 5b2f8479684b38ffe2bb2939008b468b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq e8fe6f4ec2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.814444' - x-version-label: - - easypost-202506122002-4fcd94d6be-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_create_empty_objects.yaml b/tests/cassettes/test_shipment_create_empty_objects.yaml deleted file mode 100644 index 8e9f2cb3..00000000 --- a/tests/cassettes/test_shipment_create_empty_objects.yaml +++ /dev/null @@ -1,131 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "customs_info": {}, "options": null, "tax_identifiers": null, "reference": - ""}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '575' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_90174cdd27e14b87aa4b1acde0df3fe3", "created_at": "2025-03-07T16:46:27Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-03-07T16:46:27Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_b65e45c8fb7311ef9df83cecef1b359e", "object": - "Address", "created_at": "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_87efb4b5d79f45398f5e0c0ff7b8cfe9", - "object": "Parcel", "created_at": "2025-03-07T16:46:27Z", "updated_at": "2025-03-07T16:46:27Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_678f8456b73a4c799a9536d47a05c415", - "object": "Rate", "created_at": "2025-03-07T16:46:27Z", "updated_at": "2025-03-07T16:46:27Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_90174cdd27e14b87aa4b1acde0df3fe3", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_bd9ec1df48074da1822025158938362d", - "object": "Rate", "created_at": "2025-03-07T16:46:27Z", "updated_at": "2025-03-07T16:46:27Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_90174cdd27e14b87aa4b1acde0df3fe3", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_d8d0020c93f848a99e1e7c17b091ab63", - "object": "Rate", "created_at": "2025-03-07T16:46:27Z", "updated_at": "2025-03-07T16:46:27Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_90174cdd27e14b87aa4b1acde0df3fe3", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b659cd7dfb7311efa4d4ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:27+00:00", "updated_at": - "2025-03-07T16:46:27+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b65e45c8fb7311ef9df83cecef1b359e", "object": "Address", "created_at": - "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b659cd7dfb7311efa4d4ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4325' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_90174cdd27e14b87aa4b1acde0df3fe3 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fe67cb22e3e2aabd5c000aeba3 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.266752' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_shipment_create_tax_identifier.yaml b/tests/cassettes/test_shipment_create_tax_identifier.yaml deleted file mode 100644 index c0bddaa7..00000000 --- a/tests/cassettes/test_shipment_create_tax_identifier.yaml +++ /dev/null @@ -1,132 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "tax_identifiers": [{"entity": "SENDER", "tax_id_type": "IOSS", "tax_id": - "12345", "issuing_country": "GB"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_6bb281b7493b4f678e1922b18abd6230", "created_at": "2025-03-07T16:46:27Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-03-07T16:46:27Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_b695897dfb7311ef9f53ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_d7554c3efce24584ad33b0289b842f4e", - "object": "Parcel", "created_at": "2025-03-07T16:46:27Z", "updated_at": "2025-03-07T16:46:27Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_64bd7a7fe66c423b8af7a9d220e23f3b", - "object": "Rate", "created_at": "2025-03-07T16:46:27Z", "updated_at": "2025-03-07T16:46:27Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_6bb281b7493b4f678e1922b18abd6230", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_55ab1b175d964f7588f9307843d993b3", - "object": "Rate", "created_at": "2025-03-07T16:46:27Z", "updated_at": "2025-03-07T16:46:27Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_6bb281b7493b4f678e1922b18abd6230", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_f8b6ad305532462f9aa5b1a5db1a91a9", - "object": "Rate", "created_at": "2025-03-07T16:46:27Z", "updated_at": "2025-03-07T16:46:27Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6bb281b7493b4f678e1922b18abd6230", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b693b98cfb7311ef9e0d3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:27+00:00", "updated_at": - "2025-03-07T16:46:27+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b695897dfb7311ef9f53ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b693b98cfb7311ef9e0d3cecef1b359e", "object": - "Address", "created_at": "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment", "tax_identifiers": [{"entity": - "SENDER", "tax_id": "HIDDEN", "tax_id_type": "IOSS", "issuing_country": "GB"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4427' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_6bb281b7493b4f678e1922b18abd6230 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fb67cb22e3e2aabd5d000aec2f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.232970' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_shipment_create_with_ids.yaml b/tests/cassettes/test_shipment_create_with_ids.yaml deleted file mode 100644 index 37404af1..00000000 --- a/tests/cassettes/test_shipment_create_with_ids.yaml +++ /dev/null @@ -1,348 +0,0 @@ -interactions: -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '213' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_b6ca70bbfb7311ef9f6dac1f6bc539ae", "object": "Address", - "created_at": "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '461' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_b6ca70bbfb7311ef9f6dac1f6bc539ae - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90167cb22e3e2aabd75000aec9c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.052364' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"address": {"name": "Jack Sparrow", "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "email": "test@example.com", "phone": "5555555555"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '213' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/addresses - response: - body: - string: '{"id": "adr_b6d6d8a7fb7311ef9f72ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '461' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/addresses/adr_b6d6d8a7fb7311ef9f72ac1f6bc539ae - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90167cb22e3e2aabd75000aecb3 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.053079' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"parcel": {"length": 10, "width": 8, "height": 4, "weight": 15.4}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '67' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/parcels - response: - body: - string: '{"id": "prcl_16e46f5f5e6b4d01817d81a01382b58f", "object": "Parcel", - "created_at": "2025-03-07T16:46:27Z", "updated_at": "2025-03-07T16:46:27Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '229' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/parcels/prcl_16e46f5f5e6b4d01817d81a01382b58f - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90167cb22e3e2aabd75000aecd5 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.025819' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"shipment": {"from_address": {"id": "adr_b6ca70bbfb7311ef9f6dac1f6bc539ae"}, - "to_address": {"id": "adr_b6d6d8a7fb7311ef9f72ac1f6bc539ae"}, "parcel": {"id": - "prcl_16e46f5f5e6b4d01817d81a01382b58f"}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '199' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_3660b5de40c842cf95732770ca03c71e", "created_at": "2025-03-07T16:46:28Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-03-07T16:46:28Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_b6ca70bbfb7311ef9f6dac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_16e46f5f5e6b4d01817d81a01382b58f", - "object": "Parcel", "created_at": "2025-03-07T16:46:27Z", "updated_at": "2025-03-07T16:46:27Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_117851bcd53a4b6abe0512532d77c6af", - "object": "Rate", "created_at": "2025-03-07T16:46:28Z", "updated_at": "2025-03-07T16:46:28Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "6.54", - "currency": "USD", "retail_rate": "9.35", "retail_currency": "USD", "list_rate": - "7.99", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_3660b5de40c842cf95732770ca03c71e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_412094b9476f41bcab56c1749a7c29c4", - "object": "Rate", "created_at": "2025-03-07T16:46:28Z", "updated_at": "2025-03-07T16:46:28Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "5.65", - "currency": "USD", "retail_rate": "8.35", "retail_currency": "USD", "list_rate": - "6.33", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_3660b5de40c842cf95732770ca03c71e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_568831d4eadf4d008d81fbc80459910c", - "object": "Rate", "created_at": "2025-03-07T16:46:28Z", "updated_at": "2025-03-07T16:46:28Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "27.60", - "currency": "USD", "retail_rate": "31.95", "retail_currency": "USD", "list_rate": - "27.60", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_3660b5de40c842cf95732770ca03c71e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b6d6d8a7fb7311ef9f72ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-07T16:46:27+00:00", "updated_at": - "2025-03-07T16:46:27+00:00", "name": "Jack Sparrow", "company": null, "street1": - "388 Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": - "CA", "zip": "94107", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 1, "return_address": - {"id": "adr_b6ca70bbfb7311ef9f6dac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b6d6d8a7fb7311ef9f72ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:27+00:00", "updated_at": "2025-03-07T16:46:27+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4329' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_3660b5de40c842cf95732770ca03c71e - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90167cb22e4e2aabd75000aece7 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.177039' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_shipment_generate_form.yaml b/tests/cassettes/test_shipment_generate_form.yaml deleted file mode 100644 index 9ede95d1..00000000 --- a/tests/cassettes/test_shipment_generate_form.yaml +++ /dev/null @@ -1,333 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_0d6b20226e494736aa947169c8d24bf6", "created_at": "2025-03-07T16:46:29Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505695", "updated_at": - "2025-03-07T16:46:30Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_b7f8e61ffb7311ef9eca3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:29+00:00", "updated_at": - "2025-03-07T16:46:29+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_5d41e80a1df240b688eb8fc5696a4bf5", "object": - "Parcel", "created_at": "2025-03-07T16:46:29Z", "updated_at": "2025-03-07T16:46:29Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_288b7cf0b90447bd9232d51c1bf25830", - "created_at": "2025-03-07T16:46:30Z", "updated_at": "2025-03-07T16:46:30Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:30Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e85e45f2badc7c4c0db07c7e4b594f8282.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_ca8d31d84b50481a84720db0a1f55331", "object": - "Rate", "created_at": "2025-03-07T16:46:30Z", "updated_at": "2025-03-07T16:46:30Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0d6b20226e494736aa947169c8d24bf6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_19dcf38e6f444db1adb6e38b93375382", - "object": "Rate", "created_at": "2025-03-07T16:46:30Z", "updated_at": "2025-03-07T16:46:30Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0d6b20226e494736aa947169c8d24bf6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_585cf48015a940dfb200d4c77df8cfb6", - "object": "Rate", "created_at": "2025-03-07T16:46:30Z", "updated_at": "2025-03-07T16:46:30Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_0d6b20226e494736aa947169c8d24bf6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_19dcf38e6f444db1adb6e38b93375382", "object": - "Rate", "created_at": "2025-03-07T16:46:30Z", "updated_at": "2025-03-07T16:46:30Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0d6b20226e494736aa947169c8d24bf6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_53cb015bbb2a46abbc80d1918a131ee5", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505695", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:30Z", - "updated_at": "2025-03-07T16:46:30Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_0d6b20226e494736aa947169c8d24bf6", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrXzUzY2IwMTViYmIyYTQ2YWJiYzgwZDE5MThhMTMxZWU1"}, - "to_address": {"id": "adr_b7f651a1fb7311ef804bac1f6bc53342", "object": "Address", - "created_at": "2025-03-07T16:46:29+00:00", "updated_at": "2025-03-07T16:46:30+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_b7f8e61ffb7311ef9eca3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:29+00:00", "updated_at": - "2025-03-07T16:46:29+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_b7f651a1fb7311ef804bac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:46:29+00:00", "updated_at": "2025-03-07T16:46:30+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_0d6b20226e494736aa947169c8d24bf6 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22e5e2aabd7c000aef52 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.996671' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"form": {"type": "return_packing_slip", "barcode": "RMA12345678900", "line_items": - [{"product": {"title": "Square Reader", "barcode": "855658003251"}, "units": - 8}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '166' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_0d6b20226e494736aa947169c8d24bf6/forms - response: - body: - string: '{"id": "shp_0d6b20226e494736aa947169c8d24bf6", "created_at": "2025-03-07T16:46:29Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505695", "updated_at": - "2025-03-07T16:46:30Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_b7f8e61ffb7311ef9eca3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:29+00:00", "updated_at": - "2025-03-07T16:46:29+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_5d41e80a1df240b688eb8fc5696a4bf5", "object": - "Parcel", "created_at": "2025-03-07T16:46:29Z", "updated_at": "2025-03-07T16:46:29Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_288b7cf0b90447bd9232d51c1bf25830", - "created_at": "2025-03-07T16:46:30Z", "updated_at": "2025-03-07T16:46:30Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:30Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e85e45f2badc7c4c0db07c7e4b594f8282.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_ca8d31d84b50481a84720db0a1f55331", "object": - "Rate", "created_at": "2025-03-07T16:46:30Z", "updated_at": "2025-03-07T16:46:30Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0d6b20226e494736aa947169c8d24bf6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_19dcf38e6f444db1adb6e38b93375382", - "object": "Rate", "created_at": "2025-03-07T16:46:30Z", "updated_at": "2025-03-07T16:46:30Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0d6b20226e494736aa947169c8d24bf6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_585cf48015a940dfb200d4c77df8cfb6", - "object": "Rate", "created_at": "2025-03-07T16:46:30Z", "updated_at": "2025-03-07T16:46:30Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_0d6b20226e494736aa947169c8d24bf6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_19dcf38e6f444db1adb6e38b93375382", "object": - "Rate", "created_at": "2025-03-07T16:46:30Z", "updated_at": "2025-03-07T16:46:30Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_0d6b20226e494736aa947169c8d24bf6", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_53cb015bbb2a46abbc80d1918a131ee5", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505695", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:30Z", - "updated_at": "2025-03-07T16:46:30Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:30Z", "shipment_id": "shp_0d6b20226e494736aa947169c8d24bf6", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:30Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:30Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzUzY2IwMTViYmIyYTQ2YWJiYzgwZDE5MThhMTMxZWU1"}, - "to_address": {"id": "adr_b7f651a1fb7311ef804bac1f6bc53342", "object": "Address", - "created_at": "2025-03-07T16:46:29+00:00", "updated_at": "2025-03-07T16:46:30+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_b7f8e61ffb7311ef9eca3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:29+00:00", "updated_at": - "2025-03-07T16:46:29+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_b7f651a1fb7311ef804bac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:46:29+00:00", "updated_at": "2025-03-07T16:46:30+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [{"object": "Form", "id": - "form_039d1d5a83924f6ca931c5221319a4c5", "created_at": "2025-03-07T16:46:31Z", - "updated_at": "2025-03-07T16:46:31Z", "mode": "test", "form_type": "return_packing_slip", - "form_url": "https://easypost-files.s3-us-west-2.amazonaws.com/files/form/20250307/b560bbbe1ab0484a9de736143ab49f0d.pdf", - "submitted_electronically": null}], "fees": [{"object": "Fee", "type": "LabelFee", - "amount": "0.00000", "charged": true, "refunded": false}, {"object": "Fee", - "type": "PostageFee", "amount": "6.07000", "charged": true, "refunded": false}], - "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '7920' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_0d6b20226e494736aa947169c8d24bf6/forms/return_packing_slip - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22e6e2aabd7c000af0b0 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.587254' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_shipment_get_lowest_smart_rate.yaml b/tests/cassettes/test_shipment_get_lowest_smart_rate.yaml deleted file mode 100644 index 087f17e8..00000000 --- a/tests/cassettes/test_shipment_get_lowest_smart_rate.yaml +++ /dev/null @@ -1,216 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '496' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_59e1ea2ee4ef420bb4560e4df6fc1057", "created_at": "2025-03-07T16:46:29Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-03-07T16:46:29Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_b7aacbcffb7311ef8022ac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:29+00:00", "updated_at": "2025-03-07T16:46:29+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_b81bb32a9edd4eceacf041baa39cbe6c", - "object": "Parcel", "created_at": "2025-03-07T16:46:29Z", "updated_at": "2025-03-07T16:46:29Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_0cbe7fbf881b4614852dd2976333d88a", - "object": "Rate", "created_at": "2025-03-07T16:46:29Z", "updated_at": "2025-03-07T16:46:29Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_59e1ea2ee4ef420bb4560e4df6fc1057", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_d11be14d3ff24a0b8140005f97a0702f", - "object": "Rate", "created_at": "2025-03-07T16:46:29Z", "updated_at": "2025-03-07T16:46:29Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_59e1ea2ee4ef420bb4560e4df6fc1057", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5d8ad0d375de4b06a14ed74e9d8c3fd6", - "object": "Rate", "created_at": "2025-03-07T16:46:29Z", "updated_at": "2025-03-07T16:46:29Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_59e1ea2ee4ef420bb4560e4df6fc1057", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b7a76fdafb7311ef9fe5ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-07T16:46:29+00:00", "updated_at": - "2025-03-07T16:46:29+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b7aacbcffb7311ef8022ac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:46:29+00:00", "updated_at": "2025-03-07T16:46:29+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b7a76fdafb7311ef9fe5ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:29+00:00", "updated_at": "2025-03-07T16:46:29+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4325' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_59e1ea2ee4ef420bb4560e4df6fc1057 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22e5e2aabd7a000aee8a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.226865' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments/shp_59e1ea2ee4ef420bb4560e4df6fc1057/smartrate - response: - body: - string: '{"result": [{"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:46:29Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 2, "est_delivery_days": - 2, "id": "rate_0cbe7fbf881b4614852dd2976333d88a", "list_currency": "USD", - "list_rate": 8.34, "mode": "test", "object": "Rate", "rate": 7.42, "retail_currency": - "USD", "retail_rate": 9.9, "service": "Priority", "shipment_id": "shp_59e1ea2ee4ef420bb4560e4df6fc1057", - "time_in_transit": {"percentile_50": 2, "percentile_75": 2, "percentile_85": - 2, "percentile_90": 3, "percentile_95": 3, "percentile_97": 3, "percentile_99": - 4}, "updated_at": "2025-03-07T16:46:29Z"}, {"carrier": "USPS", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e", "created_at": "2025-03-07T16:46:29Z", - "currency": "USD", "delivery_date": null, "delivery_date_guaranteed": false, - "delivery_days": 3, "est_delivery_days": 3, "id": "rate_d11be14d3ff24a0b8140005f97a0702f", - "list_currency": "USD", "list_rate": 6.57, "mode": "test", "object": "Rate", - "rate": 6.07, "retail_currency": "USD", "retail_rate": 8.85, "service": "GroundAdvantage", - "shipment_id": "shp_59e1ea2ee4ef420bb4560e4df6fc1057", "time_in_transit": - {"percentile_50": 1, "percentile_75": 2, "percentile_85": 2, "percentile_90": - 2, "percentile_95": 3, "percentile_97": 3, "percentile_99": 4}, "updated_at": - "2025-03-07T16:46:29Z"}, {"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:46:29Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 1, "est_delivery_days": - 1, "id": "rate_5d8ad0d375de4b06a14ed74e9d8c3fd6", "list_currency": "USD", - "list_rate": 34.15, "mode": "test", "object": "Rate", "rate": 34.15, "retail_currency": - "USD", "retail_rate": 39.1, "service": "Express", "shipment_id": "shp_59e1ea2ee4ef420bb4560e4df6fc1057", - "time_in_transit": {"percentile_50": 2, "percentile_75": 2, "percentile_85": - 3, "percentile_90": 3, "percentile_95": 4, "percentile_97": 5, "percentile_99": - 8}, "updated_at": "2025-03-07T16:46:29Z"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1969' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8ff67cb22e5e2aabd7a000aeeef - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.113517' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_get_next_page.yaml b/tests/cassettes/test_shipment_get_next_page.yaml deleted file mode 100644 index 842b97a7..00000000 --- a/tests/cassettes/test_shipment_get_next_page.yaml +++ /dev/null @@ -1,1248 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments?page_size=5 - response: - body: - string: '{"shipments": [{"id": "shp_6348a453cbd04b4189dc85524719e6b2", "created_at": - "2025-03-07T16:46:14Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "unknown", "tracking_code": "9400100208303109505640", - "updated_at": "2025-03-07T16:46:15Z", "batch_id": "batch_0fc0517f6fb1426197560732520f8edd", - "batch_status": "postage_purchased", "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_af10e4b4fb7311ef9acaac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:14+00:00", "updated_at": "2025-03-07T16:46:14+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_a9373fdd04bd4d83874c7e397ecddcb6", - "object": "Parcel", "created_at": "2025-03-07T16:46:14Z", "updated_at": "2025-03-07T16:46:14Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_f54afe8913fb4046b55523838df4f97b", - "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:15Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8b170594430f64d768ceb157887c5c28e.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_f9da1c97861743bba5eaf3db89b10898", "object": - "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_f320606ea0bd45ef92a34f109234fc44", - "object": "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_b501d85dcc0743fdb0d8ab673107bf5d", - "object": "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_b501d85dcc0743fdb0d8ab673107bf5d", "object": - "Rate", "created_at": "2025-03-07T16:46:15Z", "updated_at": "2025-03-07T16:46:15Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_4c1b66c0dad34060a7b4704100bdd88e", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505640", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:15Z", - "updated_at": "2025-03-07T16:46:15Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:15Z", "shipment_id": "shp_6348a453cbd04b4189dc85524719e6b2", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:15Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:15Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzRjMWI2NmMwZGFkMzQwNjBhN2I0NzA0MTAwYmRkODhl"}, - "to_address": {"id": "adr_af0b9199fb7311ef9ac8ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-07T16:46:14+00:00", "updated_at": "2025-03-07T16:46:15+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_af10e4b4fb7311ef9acaac1f6bc539ae", - "object": "Address", "created_at": "2025-03-07T16:46:14+00:00", "updated_at": - "2025-03-07T16:46:14+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_af0b9199fb7311ef9ac8ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:14+00:00", "updated_at": "2025-03-07T16:46:15+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_b674aad341c24fe18611019a72ff6e84", - "created_at": "2025-03-07T16:46:11Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - "9400100208303109505633", "updated_at": "2025-03-07T16:46:11Z", "batch_id": - "batch_6b38965e1d0a44578a404fede07d9825", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_acc761b6fb7311ef98773cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:11+00:00", "updated_at": - "2025-03-07T16:46:11+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_48819d3d4ffc44b898146405288b1b4e", "object": - "Parcel", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_7c4b7267da3f4b13a8834e79a7b0af3a", - "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:11Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8728792ec6b434a14a1f45d8e27c3db93.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_f74107b724334c1695f76a362d6d1354", "object": - "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_c50e7434c2b8494cbc89405e54ee777e", - "object": "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_345992a3bb14453ca8c41069addcbbad", - "object": "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_345992a3bb14453ca8c41069addcbbad", "object": - "Rate", "created_at": "2025-03-07T16:46:11Z", "updated_at": "2025-03-07T16:46:11Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_7ab5213aaf264b53ab2f296d2efc7e73", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505633", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:12Z", - "updated_at": "2025-03-07T16:46:12Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:12Z", "shipment_id": "shp_b674aad341c24fe18611019a72ff6e84", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:12Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:12Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzdhYjUyMTNhYWYyNjRiNTNhYjJmMjk2ZDJlZmM3ZTcz"}, - "to_address": {"id": "adr_acc16571fb7311ef9f45ac1f6bc539aa", "object": "Address", - "created_at": "2025-03-07T16:46:10+00:00", "updated_at": "2025-03-07T16:46:11+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_acc761b6fb7311ef98773cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:11+00:00", "updated_at": - "2025-03-07T16:46:11+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_acc16571fb7311ef9f45ac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:46:10+00:00", "updated_at": "2025-03-07T16:46:11+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", - "created_at": "2025-03-07T16:46:07Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - "9400100208303109505626", "updated_at": "2025-03-07T16:46:07Z", "batch_id": - "batch_1da4ef8e3efa4581b366b81ccf81b4f2", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_aa69c593fb7311ef971b3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:07+00:00", "updated_at": - "2025-03-07T16:46:07+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_d65c73ef0b0741b683c85ae149b4c615", "object": - "Parcel", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_f91a9e01da6c4e378d2dce661c4c6911", - "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:07Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8534b38912c20459a8afb5b43a2a38f93.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_59faed8017f04a3a929537ddda74d7fb", "object": - "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_feb24755f1794a458896fecb8a014f3e", - "object": "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_9f7170c31a6a4cd4b07a7ee5c114aadc", - "object": "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_9f7170c31a6a4cd4b07a7ee5c114aadc", "object": - "Rate", "created_at": "2025-03-07T16:46:07Z", "updated_at": "2025-03-07T16:46:07Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_5b5388ca5edc4c2188e41862ace7cbee", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505626", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:07Z", - "updated_at": "2025-03-07T16:46:07Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:07Z", "shipment_id": "shp_2d1487afd0f541a4bcf9fecc1b02b28d", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:07Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:07Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzViNTM4OGNhNWVkYzRjMjE4OGU0MTg2MmFjZTdjYmVl"}, - "to_address": {"id": "adr_aa670212fb7311ef9ddfac1f6bc539aa", "object": "Address", - "created_at": "2025-03-07T16:46:07+00:00", "updated_at": "2025-03-07T16:46:07+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_aa69c593fb7311ef971b3cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:46:07+00:00", "updated_at": - "2025-03-07T16:46:07+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_aa670212fb7311ef9ddfac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:46:07+00:00", "updated_at": "2025-03-07T16:46:07+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_622803c6479446e895b6ec9ffc580f58", - "created_at": "2025-03-07T16:46:03Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - "9400100208303109505619", "updated_at": "2025-03-07T16:46:04Z", "batch_id": - "batch_b5e1cf8eeb0e45adb7feb089b3d12a46", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_a84fa087fb7311ef9cb3ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:03+00:00", "updated_at": - "2025-03-07T16:46:03+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_5c264ed4432848aaad2545e0dfb8eeb4", "object": - "Parcel", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_2dd5e193a0874563acda1913359fbef3", - "created_at": "2025-03-07T16:46:04Z", "updated_at": "2025-03-07T16:46:04Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:04Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e82ca3296f28234c8c963d9042eefecad2.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_5ad2d3f3665b4343b75e85a5a0fe02de", "object": - "Rate", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_646a6333c5af49168d64b3df5382e557", - "object": "Rate", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5179687711ef43e2a5188ee7aa89da97", - "object": "Rate", "created_at": "2025-03-07T16:46:03Z", "updated_at": "2025-03-07T16:46:03Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_646a6333c5af49168d64b3df5382e557", "object": - "Rate", "created_at": "2025-03-07T16:46:04Z", "updated_at": "2025-03-07T16:46:04Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_11c660ecffdf4b938a1212ec4709662c", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505619", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:04Z", - "updated_at": "2025-03-07T16:46:04Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:04Z", "shipment_id": "shp_622803c6479446e895b6ec9ffc580f58", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:04Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:04Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzExYzY2MGVjZmZkZjRiOTM4YTEyMTJlYzQ3MDk2NjJj"}, - "to_address": {"id": "adr_a84d64eafb7311ef95cf3cecef1b359e", "object": "Address", - "created_at": "2025-03-07T16:46:03+00:00", "updated_at": "2025-03-07T16:46:03+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_a84fa087fb7311ef9cb3ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:03+00:00", "updated_at": - "2025-03-07T16:46:03+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_a84d64eafb7311ef95cf3cecef1b359e", "object": "Address", "created_at": - "2025-03-07T16:46:03+00:00", "updated_at": "2025-03-07T16:46:03+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", - "created_at": "2025-03-07T16:45:59Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "unknown", "tracking_code": - "9400100208303109505602", "updated_at": "2025-03-07T16:46:00Z", "batch_id": - "batch_63f493b2b5484ad8a220c9567867732c", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_a6167a17fb7311ef94473cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:45:59+00:00", "updated_at": - "2025-03-07T16:45:59+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_c2911b5c7bda49a9803dfba239fad665", "object": - "Parcel", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_d08201d458744a4ebf36695bb79f7dee", - "created_at": "2025-03-07T16:46:00Z", "updated_at": "2025-03-07T16:46:00Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:00Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8d6cfe7a133ab49f19fdbb00699c16dd0.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_e62e203a40874c9f9733fbd55e5fe9a8", "object": - "Rate", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_aee96176a0764400a3bc4a6a200b4d17", - "object": "Rate", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_ac50b2827b524b9f9ab7a19507dfb541", - "object": "Rate", "created_at": "2025-03-07T16:45:59Z", "updated_at": "2025-03-07T16:45:59Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_aee96176a0764400a3bc4a6a200b4d17", "object": - "Rate", "created_at": "2025-03-07T16:46:00Z", "updated_at": "2025-03-07T16:46:00Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_49bbcbf123ae4414984b6ee5182fc53b", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505602", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:00Z", - "updated_at": "2025-03-07T16:46:00Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:00Z", "shipment_id": "shp_6b4d00550e884c07985eaeccfbdf4fc1", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:00Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:00Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzQ5YmJjYmYxMjNhZTQ0MTQ5ODRiNmVlNTE4MmZjNTNi"}, - "to_address": {"id": "adr_a613c9f6fb7311ef9555ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-07T16:45:59+00:00", "updated_at": "2025-03-07T16:46:00+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_a6167a17fb7311ef94473cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:45:59+00:00", "updated_at": - "2025-03-07T16:45:59+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_a613c9f6fb7311ef9555ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:45:59+00:00", "updated_at": "2025-03-07T16:46:00+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '38221' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fe67cb22dae2aaba21000ade37 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.483069' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments?before_id=shp_6b4d00550e884c07985eaeccfbdf4fc1&page_size=5 - response: - body: - string: '{"shipments": [{"id": "shp_34cd3af0099a4d5c815a44c1a408f095", "created_at": - "2025-03-06T19:48:45Z", "is_return": false, "messages": [], "mode": "test", - "options": {"currency": "USD", "payment": {"type": "SENDER"}, "date_advance": - 0}, "reference": null, "status": "delivered", "tracking_code": "9400100208303109500782", - "updated_at": "2025-03-06T19:53:41Z", "batch_id": "batch_05022d9288d947048a4f6196e6f2bf1e", - "batch_status": "postage_purchased", "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_03ff3e3cfac411ef9d26ac1f6bc53342", "object": - "Address", "created_at": "2025-03-06T19:48:45+00:00", "updated_at": "2025-03-06T19:48:45+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_c8c3b87b87ab45d291c13b4d1190b878", - "object": "Parcel", "created_at": "2025-03-06T19:48:45Z", "updated_at": "2025-03-06T19:48:45Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_00e636dd638e43b9adcaf21eea2733d7", - "created_at": "2025-03-06T19:48:46Z", "updated_at": "2025-03-06T19:48:46Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:46Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e86fb2d87f26054a05b9619ca334b254e3.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_f773f65591cb4b8685bbdb9ead3f1e11", "object": - "Rate", "created_at": "2025-03-06T19:48:46Z", "updated_at": "2025-03-06T19:48:46Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_34cd3af0099a4d5c815a44c1a408f095", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_0ec0a4a125bf40038da800ce1f12f523", - "object": "Rate", "created_at": "2025-03-06T19:48:46Z", "updated_at": "2025-03-06T19:48:46Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_34cd3af0099a4d5c815a44c1a408f095", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_bf4b36b236824cbf9446371c4d027c65", - "object": "Rate", "created_at": "2025-03-06T19:48:46Z", "updated_at": "2025-03-06T19:48:46Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_34cd3af0099a4d5c815a44c1a408f095", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_f773f65591cb4b8685bbdb9ead3f1e11", "object": - "Rate", "created_at": "2025-03-06T19:48:46Z", "updated_at": "2025-03-06T19:48:46Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_34cd3af0099a4d5c815a44c1a408f095", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_977a3085fc654ae3955af46ac298e43c", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500782", - "status": "delivered", "status_detail": "arrived_at_destination", "created_at": - "2025-03-06T19:48:46Z", "updated_at": "2025-03-06T19:51:47Z", "signed_by": - "John Tester", "weight": null, "est_delivery_date": "2025-03-06T19:51:47Z", - "shipment_id": "shp_34cd3af0099a4d5c815a44c1a408f095", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:51:47Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:28:47Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}, {"object": "TrackingDetail", - "message": "Arrived at USPS Origin Facility", "description": "", "status": - "in_transit", "status_detail": "arrived_at_facility", "datetime": "2025-02-07T18:33:47Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "NORTH HOUSTON", "state": "TX", "country": null, "zip": "77315"}}, - {"object": "TrackingDetail", "message": "Arrived at USPS Facility", "description": - "", "status": "in_transit", "status_detail": "arrived_at_facility", "datetime": - "2025-02-08T20:09:47Z", "source": "USPS", "carrier_code": "", "tracking_location": - {"object": "TrackingLocation", "city": "COLUMBIA", "state": "SC", "country": - null, "zip": "29201"}}, {"object": "TrackingDetail", "message": "Arrived at - Post Office", "description": "", "status": "in_transit", "status_detail": - "arrived_at_facility", "datetime": "2025-02-08T23:00:47Z", "source": "USPS", - "carrier_code": "", "tracking_location": {"object": "TrackingLocation", "city": - "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Sorting Complete", "description": "", "status": - "in_transit", "status_detail": "status_update", "datetime": "2025-02-09T04:40:47Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Out for Delivery", "description": "", "status": - "out_for_delivery", "status_detail": "out_for_delivery", "datetime": "2025-02-09T04:50:47Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Delivered", "description": "", "status": "delivered", - "status_detail": "arrived_at_destination", "datetime": "2025-02-09T09:42:47Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "NORTH HOUSTON", "state": "TX", "country": - null, "zip": "77315"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - {"object": "TrackingLocation", "city": "CHARLESTON", "state": "SC", "country": - null, "zip": "29407"}, "guaranteed_delivery_date": null, "alternate_identifier": - null, "initial_delivery_attempt": "2025-02-09T09:42:47Z"}, "public_url": "https://track.easypost.com/djE6dHJrXzk3N2EzMDg1ZmM2NTRhZTM5NTVhZjQ2YWMyOThlNDNj"}, - "to_address": {"id": "adr_03fba80cfac411efb8b23cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:48:45+00:00", "updated_at": "2025-03-06T19:48:46+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_03ff3e3cfac411ef9d26ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:45+00:00", "updated_at": - "2025-03-06T19:48:45+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_03fba80cfac411efb8b23cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:45+00:00", "updated_at": "2025-03-06T19:48:46+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", - "created_at": "2025-03-06T19:48:42Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "delivered", "tracking_code": - "9400100208303109500775", "updated_at": "2025-03-06T19:53:10Z", "batch_id": - null, "batch_status": null, "batch_message": null, "customs_info": null, "from_address": - {"id": "adr_022dc26ffac411ef8215ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:42+00:00", "updated_at": "2025-03-06T19:48:42+00:00", "name": - "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_f5e430a8cc534f2daf3fa33dba28d22a", - "object": "Parcel", "created_at": "2025-03-06T19:48:42Z", "updated_at": "2025-03-06T19:48:42Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_2ad09f05a2e046f1bf32487531f39dee", - "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:43Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e862022dfa87524843bc70b0b440b1df21.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_1dd3fb8f39ed4c8f94c00090bae4e0d6", "object": - "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_136e35c9133f4a7eb8327f429d09c813", - "object": "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_eb98f20bfa29451e91eceb7335b89b77", - "object": "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": "submitted", "scan_form": - null, "selected_rate": {"id": "rate_eb98f20bfa29451e91eceb7335b89b77", "object": - "Rate", "created_at": "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:48:43Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_bdaa56e02ed74f6ea2839e6ea6a4f75d", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500775", - "status": "delivered", "status_detail": "arrived_at_destination", "created_at": - "2025-03-06T19:48:43Z", "updated_at": "2025-03-06T19:51:43Z", "signed_by": - "John Tester", "weight": null, "est_delivery_date": "2025-03-06T19:51:43Z", - "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:51:43Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:28:43Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}, {"object": "TrackingDetail", - "message": "Arrived at USPS Origin Facility", "description": "", "status": - "in_transit", "status_detail": "arrived_at_facility", "datetime": "2025-02-07T18:33:43Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "NORTH HOUSTON", "state": "TX", "country": null, "zip": "77315"}}, - {"object": "TrackingDetail", "message": "Arrived at USPS Facility", "description": - "", "status": "in_transit", "status_detail": "arrived_at_facility", "datetime": - "2025-02-08T20:09:43Z", "source": "USPS", "carrier_code": "", "tracking_location": - {"object": "TrackingLocation", "city": "COLUMBIA", "state": "SC", "country": - null, "zip": "29201"}}, {"object": "TrackingDetail", "message": "Arrived at - Post Office", "description": "", "status": "in_transit", "status_detail": - "arrived_at_facility", "datetime": "2025-02-08T23:00:43Z", "source": "USPS", - "carrier_code": "", "tracking_location": {"object": "TrackingLocation", "city": - "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Sorting Complete", "description": "", "status": - "in_transit", "status_detail": "status_update", "datetime": "2025-02-09T04:40:43Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Out for Delivery", "description": "", "status": - "out_for_delivery", "status_detail": "out_for_delivery", "datetime": "2025-02-09T04:50:43Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Delivered", "description": "", "status": "delivered", - "status_detail": "arrived_at_destination", "datetime": "2025-02-09T09:42:43Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "NORTH HOUSTON", "state": "TX", "country": - null, "zip": "77315"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - {"object": "TrackingLocation", "city": "CHARLESTON", "state": "SC", "country": - null, "zip": "29407"}, "guaranteed_delivery_date": null, "alternate_identifier": - null, "initial_delivery_attempt": "2025-02-09T09:42:43Z"}, "public_url": "https://track.easypost.com/djE6dHJrX2JkYWE1NmUwMmVkNzRmNmVhMjgzOWU2ZWE2YTRmNzVk"}, - "to_address": {"id": "adr_022b47a5fac411efb7663cecef1b359e", "object": "Address", - "created_at": "2025-03-06T19:48:42+00:00", "updated_at": "2025-03-06T19:48:43+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_022dc26ffac411ef8215ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:42+00:00", "updated_at": - "2025-03-06T19:48:42+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_022b47a5fac411efb7663cecef1b359e", "object": "Address", "created_at": - "2025-03-06T19:48:42+00:00", "updated_at": "2025-03-06T19:48:43+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_2c32b9ec8aee457092a15eaeac3fd2bf", - "created_at": "2025-03-06T19:48:38Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "delivered", "tracking_code": - "9400100208303109500768", "updated_at": "2025-03-06T19:53:47Z", "batch_id": - "batch_630f25490b764fb6893a0c4489342140", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_ff44ae10fac311ef9a53ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:38+00:00", "updated_at": - "2025-03-06T19:48:38+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_480a79637cf24b8388333f968a8e5832", "object": - "Parcel", "created_at": "2025-03-06T19:48:38Z", "updated_at": "2025-03-06T19:48:38Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_c008e659b44e4ae5b7b608af148502fa", - "created_at": "2025-03-06T19:48:38Z", "updated_at": "2025-03-06T19:48:38Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:38Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e87ae765f615b047d6bd5551dbd2004c6a.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_a7f0f17c3cce42cb8c3104d9a2a00adc", "object": - "Rate", "created_at": "2025-03-06T19:48:38Z", "updated_at": "2025-03-06T19:48:38Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2c32b9ec8aee457092a15eaeac3fd2bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_d80e1e84c445406ca0b837a6ffc9e7dc", - "object": "Rate", "created_at": "2025-03-06T19:48:38Z", "updated_at": "2025-03-06T19:48:38Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2c32b9ec8aee457092a15eaeac3fd2bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_eb83719f66fd4f7aa087e85dc6d30d7a", - "object": "Rate", "created_at": "2025-03-06T19:48:38Z", "updated_at": "2025-03-06T19:48:38Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_2c32b9ec8aee457092a15eaeac3fd2bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_d80e1e84c445406ca0b837a6ffc9e7dc", "object": - "Rate", "created_at": "2025-03-06T19:48:38Z", "updated_at": "2025-03-06T19:48:38Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2c32b9ec8aee457092a15eaeac3fd2bf", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_d9dbe609c13e43cab049e342d82e39c8", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500768", - "status": "delivered", "status_detail": "arrived_at_destination", "created_at": - "2025-03-06T19:48:38Z", "updated_at": "2025-03-06T19:51:38Z", "signed_by": - "John Tester", "weight": null, "est_delivery_date": "2025-03-06T19:51:38Z", - "shipment_id": "shp_2c32b9ec8aee457092a15eaeac3fd2bf", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:51:38Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:28:38Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}, {"object": "TrackingDetail", - "message": "Arrived at USPS Origin Facility", "description": "", "status": - "in_transit", "status_detail": "arrived_at_facility", "datetime": "2025-02-07T18:33:38Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "NORTH HOUSTON", "state": "TX", "country": null, "zip": "77315"}}, - {"object": "TrackingDetail", "message": "Arrived at USPS Facility", "description": - "", "status": "in_transit", "status_detail": "arrived_at_facility", "datetime": - "2025-02-08T20:09:38Z", "source": "USPS", "carrier_code": "", "tracking_location": - {"object": "TrackingLocation", "city": "COLUMBIA", "state": "SC", "country": - null, "zip": "29201"}}, {"object": "TrackingDetail", "message": "Arrived at - Post Office", "description": "", "status": "in_transit", "status_detail": - "arrived_at_facility", "datetime": "2025-02-08T23:00:38Z", "source": "USPS", - "carrier_code": "", "tracking_location": {"object": "TrackingLocation", "city": - "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Sorting Complete", "description": "", "status": - "in_transit", "status_detail": "status_update", "datetime": "2025-02-09T04:40:38Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Out for Delivery", "description": "", "status": - "out_for_delivery", "status_detail": "out_for_delivery", "datetime": "2025-02-09T04:50:38Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Delivered", "description": "", "status": "delivered", - "status_detail": "arrived_at_destination", "datetime": "2025-02-09T09:42:38Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "NORTH HOUSTON", "state": "TX", "country": - null, "zip": "77315"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - {"object": "TrackingLocation", "city": "CHARLESTON", "state": "SC", "country": - null, "zip": "29407"}, "guaranteed_delivery_date": null, "alternate_identifier": - null, "initial_delivery_attempt": "2025-02-09T09:42:38Z"}, "public_url": "https://track.easypost.com/djE6dHJrX2Q5ZGJlNjA5YzEzZTQzY2FiMDQ5ZTM0MmQ4MmUzOWM4"}, - "to_address": {"id": "adr_ff4275bffac311ef8092ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-06T19:48:37+00:00", "updated_at": "2025-03-06T19:48:38+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_ff44ae10fac311ef9a53ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:38+00:00", "updated_at": - "2025-03-06T19:48:38+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_ff4275bffac311ef8092ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-06T19:48:37+00:00", "updated_at": "2025-03-06T19:48:38+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_43d0816a4bf241d5a702f97b81425f24", - "created_at": "2025-03-06T19:48:36Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "delivered", "tracking_code": - "9400100208303109500751", "updated_at": "2025-03-06T19:53:16Z", "batch_id": - "batch_79e595508b8249d285297981d837de57", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_fe6f91fcfac311ef8015ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:36+00:00", "updated_at": - "2025-03-06T19:48:36+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_aeedd45070e94837a86fa2e2da97233b", "object": - "Parcel", "created_at": "2025-03-06T19:48:36Z", "updated_at": "2025-03-06T19:48:36Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_9f5cea59bcb042ca98ab8515b7756ae6", - "created_at": "2025-03-06T19:48:37Z", "updated_at": "2025-03-06T19:48:37Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:37Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e81c696f9c811c493e8e49bf48bc24e6c0.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_4344a910832949d09a932e6ef4ae5de6", "object": - "Rate", "created_at": "2025-03-06T19:48:36Z", "updated_at": "2025-03-06T19:48:36Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_43d0816a4bf241d5a702f97b81425f24", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_0af220057774417cb477fa4351ed3fdb", - "object": "Rate", "created_at": "2025-03-06T19:48:36Z", "updated_at": "2025-03-06T19:48:36Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_43d0816a4bf241d5a702f97b81425f24", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_2b081a49a9dd47629a281dc4024423ef", - "object": "Rate", "created_at": "2025-03-06T19:48:36Z", "updated_at": "2025-03-06T19:48:36Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_43d0816a4bf241d5a702f97b81425f24", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_2b081a49a9dd47629a281dc4024423ef", "object": - "Rate", "created_at": "2025-03-06T19:48:37Z", "updated_at": "2025-03-06T19:48:37Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_43d0816a4bf241d5a702f97b81425f24", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_d2334116ca1a44d594b097143f314914", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500751", - "status": "delivered", "status_detail": "arrived_at_destination", "created_at": - "2025-03-06T19:48:37Z", "updated_at": "2025-03-06T19:51:37Z", "signed_by": - "John Tester", "weight": null, "est_delivery_date": "2025-03-06T19:51:37Z", - "shipment_id": "shp_43d0816a4bf241d5a702f97b81425f24", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:51:37Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:28:37Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}, {"object": "TrackingDetail", - "message": "Arrived at USPS Origin Facility", "description": "", "status": - "in_transit", "status_detail": "arrived_at_facility", "datetime": "2025-02-07T18:33:37Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "NORTH HOUSTON", "state": "TX", "country": null, "zip": "77315"}}, - {"object": "TrackingDetail", "message": "Arrived at USPS Facility", "description": - "", "status": "in_transit", "status_detail": "arrived_at_facility", "datetime": - "2025-02-08T20:09:37Z", "source": "USPS", "carrier_code": "", "tracking_location": - {"object": "TrackingLocation", "city": "COLUMBIA", "state": "SC", "country": - null, "zip": "29201"}}, {"object": "TrackingDetail", "message": "Arrived at - Post Office", "description": "", "status": "in_transit", "status_detail": - "arrived_at_facility", "datetime": "2025-02-08T23:00:37Z", "source": "USPS", - "carrier_code": "", "tracking_location": {"object": "TrackingLocation", "city": - "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Sorting Complete", "description": "", "status": - "in_transit", "status_detail": "status_update", "datetime": "2025-02-09T04:40:37Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Out for Delivery", "description": "", "status": - "out_for_delivery", "status_detail": "out_for_delivery", "datetime": "2025-02-09T04:50:37Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Delivered", "description": "", "status": "delivered", - "status_detail": "arrived_at_destination", "datetime": "2025-02-09T09:42:37Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "NORTH HOUSTON", "state": "TX", "country": - null, "zip": "77315"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - {"object": "TrackingLocation", "city": "CHARLESTON", "state": "SC", "country": - null, "zip": "29407"}, "guaranteed_delivery_date": null, "alternate_identifier": - null, "initial_delivery_attempt": "2025-02-09T09:42:37Z"}, "public_url": "https://track.easypost.com/djE6dHJrX2QyMzM0MTE2Y2ExYTQ0ZDU5NGIwOTcxNDNmMzE0OTE0"}, - "to_address": {"id": "adr_fe6c632cfac311ef947aac1f6bc539aa", "object": "Address", - "created_at": "2025-03-06T19:48:36+00:00", "updated_at": "2025-03-06T19:48:36+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_fe6f91fcfac311ef8015ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-06T19:48:36+00:00", "updated_at": - "2025-03-06T19:48:36+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_fe6c632cfac311ef947aac1f6bc539aa", "object": "Address", "created_at": - "2025-03-06T19:48:36+00:00", "updated_at": "2025-03-06T19:48:36+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}, {"id": "shp_6f3635c994834c9294c472c755a7d5c8", - "created_at": "2025-03-06T19:48:35Z", "is_return": false, "messages": [], - "mode": "test", "options": {"currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": null, "status": "delivered", "tracking_code": - "9400100208303109500744", "updated_at": "2025-03-06T19:52:45Z", "batch_id": - "batch_fcc77d8805f147268168924cffaf2812", "batch_status": "postage_purchased", - "batch_message": null, "customs_info": null, "from_address": {"id": "adr_fd879850fac311ef9967ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:35+00:00", "updated_at": - "2025-03-06T19:48:35+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_729b4515e73243fc8687d858eacbe45a", "object": - "Parcel", "created_at": "2025-03-06T19:48:35Z", "updated_at": "2025-03-06T19:48:35Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_da056b368571435eaa0778e503274bd9", - "created_at": "2025-03-06T19:48:35Z", "updated_at": "2025-03-06T19:48:35Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-06T19:48:35Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250306/e89b9cef5543304b1e9e548d764e60e2a6.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_3cbbb0e14500425cbee1eba143336050", "object": - "Rate", "created_at": "2025-03-06T19:48:35Z", "updated_at": "2025-03-06T19:48:35Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6f3635c994834c9294c472c755a7d5c8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5c22c527001947a1b76178c46929a1d6", - "object": "Rate", "created_at": "2025-03-06T19:48:35Z", "updated_at": "2025-03-06T19:48:35Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6f3635c994834c9294c472c755a7d5c8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_ab25722b6f0e4442b4738a5c05b5bcee", - "object": "Rate", "created_at": "2025-03-06T19:48:35Z", "updated_at": "2025-03-06T19:48:35Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_6f3635c994834c9294c472c755a7d5c8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_5c22c527001947a1b76178c46929a1d6", "object": - "Rate", "created_at": "2025-03-06T19:48:35Z", "updated_at": "2025-03-06T19:48:35Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_6f3635c994834c9294c472c755a7d5c8", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_ec716c707447468ca43e51402edc08e1", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109500744", - "status": "delivered", "status_detail": "arrived_at_destination", "created_at": - "2025-03-06T19:48:35Z", "updated_at": "2025-03-06T19:51:36Z", "signed_by": - "John Tester", "weight": null, "est_delivery_date": "2025-03-06T19:51:36Z", - "shipment_id": "shp_6f3635c994834c9294c472c755a7d5c8", "carrier": "USPS", - "tracking_details": [{"object": "TrackingDetail", "message": "Pre-Shipment - Info Sent to USPS", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-06T19:51:36Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:28:36Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}, {"object": "TrackingDetail", - "message": "Arrived at USPS Origin Facility", "description": "", "status": - "in_transit", "status_detail": "arrived_at_facility", "datetime": "2025-02-07T18:33:36Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "NORTH HOUSTON", "state": "TX", "country": null, "zip": "77315"}}, - {"object": "TrackingDetail", "message": "Arrived at USPS Facility", "description": - "", "status": "in_transit", "status_detail": "arrived_at_facility", "datetime": - "2025-02-08T20:09:36Z", "source": "USPS", "carrier_code": "", "tracking_location": - {"object": "TrackingLocation", "city": "COLUMBIA", "state": "SC", "country": - null, "zip": "29201"}}, {"object": "TrackingDetail", "message": "Arrived at - Post Office", "description": "", "status": "in_transit", "status_detail": - "arrived_at_facility", "datetime": "2025-02-08T23:00:36Z", "source": "USPS", - "carrier_code": "", "tracking_location": {"object": "TrackingLocation", "city": - "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Sorting Complete", "description": "", "status": - "in_transit", "status_detail": "status_update", "datetime": "2025-02-09T04:40:36Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Out for Delivery", "description": "", "status": - "out_for_delivery", "status_detail": "out_for_delivery", "datetime": "2025-02-09T04:50:36Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}, {"object": - "TrackingDetail", "message": "Delivered", "description": "", "status": "delivered", - "status_detail": "arrived_at_destination", "datetime": "2025-02-09T09:42:36Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "CHARLESTON", "state": "SC", "country": null, "zip": "29407"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "NORTH HOUSTON", "state": "TX", "country": - null, "zip": "77315"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - {"object": "TrackingLocation", "city": "CHARLESTON", "state": "SC", "country": - null, "zip": "29407"}, "guaranteed_delivery_date": null, "alternate_identifier": - null, "initial_delivery_attempt": "2025-02-09T09:42:36Z"}, "public_url": "https://track.easypost.com/djE6dHJrX2VjNzE2YzcwNzQ0NzQ2OGNhNDNlNTE0MDJlZGMwOGUx"}, - "to_address": {"id": "adr_fd8526defac311ef9965ac1f6bc53342", "object": "Address", - "created_at": "2025-03-06T19:48:35+00:00", "updated_at": "2025-03-06T19:48:35+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_fd879850fac311ef9967ac1f6bc53342", - "object": "Address", "created_at": "2025-03-06T19:48:35+00:00", "updated_at": - "2025-03-06T19:48:35+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_fd8526defac311ef9965ac1f6bc53342", "object": "Address", "created_at": - "2025-03-06T19:48:35+00:00", "updated_at": "2025-03-06T19:48:35+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}], "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '48352' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fe67cb22dbe2aaba21000adefc - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb56nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.520126' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_insure.yaml b/tests/cassettes/test_shipment_insure.yaml deleted file mode 100644 index 3c0201a0..00000000 --- a/tests/cassettes/test_shipment_insure.yaml +++ /dev/null @@ -1,324 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS", "insurance": 0}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '622' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "created_at": "2025-03-07T16:46:24Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505671", "updated_at": - "2025-03-07T16:46:24Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_b49f9c17fb7311efbe65ac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:46:24+00:00", "updated_at": - "2025-03-07T16:46:24+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_97470acd7a494a24b49be9ee793f584d", "object": - "Parcel", "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_df583729b3e9487291232b4ee41a6506", - "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:24Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8fdd2a2efa0eb45329181a8f581652f96.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_1d2d5ec4f19d4d9a88eaf4e5a178ebfb", "object": - "Rate", "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_4847e8fad6fb4da8b81e7f34ebdfffd0", - "object": "Rate", "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_43c50eba68974b2fbe70f32685c8574e", - "object": "Rate", "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_1d2d5ec4f19d4d9a88eaf4e5a178ebfb", "object": - "Rate", "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_b450ba648e2744a09045105d7138dc9a", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505671", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:24Z", - "updated_at": "2025-03-07T16:46:24Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrX2I0NTBiYTY0OGUyNzQ0YTA5MDQ1MTA1ZDcxMzhkYzlh"}, - "to_address": {"id": "adr_b49cbb25fb7311efbe63ac1f6bc53342", "object": "Address", - "created_at": "2025-03-07T16:46:24+00:00", "updated_at": "2025-03-07T16:46:24+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_b49f9c17fb7311efbe65ac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:46:24+00:00", "updated_at": - "2025-03-07T16:46:24+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_b49cbb25fb7311efbe63ac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:46:24+00:00", "updated_at": "2025-03-07T16:46:24+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_2b8295fe50f048baaaf8378ba1a4b629 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fb67cb22e0e2aabd59000ae6e5 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.786268' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"amount": "100"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '17' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_2b8295fe50f048baaaf8378ba1a4b629/insure - response: - body: - string: '{"id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "created_at": "2025-03-07T16:46:24Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505671", "updated_at": - "2025-03-07T16:46:24Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_b49f9c17fb7311efbe65ac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:46:24+00:00", "updated_at": - "2025-03-07T16:46:24+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": "100.00", "order_id": - null, "parcel": {"id": "prcl_97470acd7a494a24b49be9ee793f584d", "object": - "Parcel", "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_df583729b3e9487291232b4ee41a6506", - "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:24Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e8fdd2a2efa0eb45329181a8f581652f96.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_1d2d5ec4f19d4d9a88eaf4e5a178ebfb", "object": - "Rate", "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_4847e8fad6fb4da8b81e7f34ebdfffd0", - "object": "Rate", "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_43c50eba68974b2fbe70f32685c8574e", - "object": "Rate", "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_1d2d5ec4f19d4d9a88eaf4e5a178ebfb", "object": - "Rate", "created_at": "2025-03-07T16:46:24Z", "updated_at": "2025-03-07T16:46:24Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_2b8295fe50f048baaaf8378ba1a4b629", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_b450ba648e2744a09045105d7138dc9a", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505671", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:25Z", - "updated_at": "2025-03-07T16:46:25Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:25Z", "shipment_id": "shp_2b8295fe50f048baaaf8378ba1a4b629", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:25Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:25Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2I0NTBiYTY0OGUyNzQ0YTA5MDQ1MTA1ZDcxMzhkYzlh"}, - "to_address": {"id": "adr_b49cbb25fb7311efbe63ac1f6bc53342", "object": "Address", - "created_at": "2025-03-07T16:46:24+00:00", "updated_at": "2025-03-07T16:46:24+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_b49f9c17fb7311efbe65ac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:46:24+00:00", "updated_at": - "2025-03-07T16:46:24+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_b49cbb25fb7311efbe63ac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:46:24+00:00", "updated_at": "2025-03-07T16:46:24+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}, {"object": "Fee", "type": "InsuranceFee", "amount": "1.00000", - "charged": true, "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '7680' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fb67cb22e0e2aabd59000ae866 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.231941' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_lowest_rate.yaml b/tests/cassettes/test_shipment_lowest_rate.yaml deleted file mode 100644 index 85771aa6..00000000 --- a/tests/cassettes/test_shipment_lowest_rate.yaml +++ /dev/null @@ -1,146 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}, "options": {"label_format": - "PNG", "invoice_number": "123"}, "reference": "123"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '954' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_e9dc4b01c43d4047989d0844ccc0e90d", "created_at": "2025-03-07T16:46:28Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-07T16:46:28Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": {"id": "cstinfo_6b3487fe8a534562b0847a9ad5a49b7d", - "object": "CustomsInfo", "created_at": "2025-03-07T16:46:28Z", "updated_at": - "2025-03-07T16:46:28Z", "contents_explanation": "", "contents_type": "merchandise", - "customs_certify": true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI - 30.37(a)", "non_delivery_option": "return", "restriction_comments": null, - "restriction_type": "none", "mode": "test", "declaration": null, "customs_items": - [{"id": "cstitem_ce7a4868a5824137b7bda7c60ddaff9d", "object": "CustomsItem", - "created_at": "2025-03-07T16:46:28Z", "updated_at": "2025-03-07T16:46:28Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}]}, "from_address": {"id": "adr_b71d27defb7311ef9e4b3cecef1b359e", "object": - "Address", "created_at": "2025-03-07T16:46:28+00:00", "updated_at": "2025-03-07T16:46:28+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_702dd686084e4e34b74bdd624b9b09f0", - "object": "Parcel", "created_at": "2025-03-07T16:46:28Z", "updated_at": "2025-03-07T16:46:28Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_615f8972ee0c4832b134a56c2ae3ce49", - "object": "Rate", "created_at": "2025-03-07T16:46:28Z", "updated_at": "2025-03-07T16:46:28Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_e9dc4b01c43d4047989d0844ccc0e90d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_e7e30ac3fd0941ccb694da73ac863596", - "object": "Rate", "created_at": "2025-03-07T16:46:28Z", "updated_at": "2025-03-07T16:46:28Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_e9dc4b01c43d4047989d0844ccc0e90d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_52db8b50a7d5424c83023f3f8051bc5b", - "object": "Rate", "created_at": "2025-03-07T16:46:28Z", "updated_at": "2025-03-07T16:46:28Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_e9dc4b01c43d4047989d0844ccc0e90d", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b71a26e0fb7311efa533ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:28+00:00", "updated_at": - "2025-03-07T16:46:28+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b71d27defb7311ef9e4b3cecef1b359e", "object": "Address", "created_at": - "2025-03-07T16:46:28+00:00", "updated_at": "2025-03-07T16:46:28+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b71a26e0fb7311efa533ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-07T16:46:28+00:00", "updated_at": "2025-03-07T16:46:28+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5160' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_e9dc4b01c43d4047989d0844ccc0e90d - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fd67cb22e4e2aabd76000aed3c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.235585' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_shipment_lowest_smart_rate.yaml b/tests/cassettes/test_shipment_lowest_smart_rate.yaml deleted file mode 100644 index 381d4720..00000000 --- a/tests/cassettes/test_shipment_lowest_smart_rate.yaml +++ /dev/null @@ -1,388 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '496' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_a4605012cda9465e92bade0b88927a75", "created_at": "2025-03-07T16:51:01Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-03-07T16:51:01Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_5a22dca8fb7411efa497ac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:51:01+00:00", "updated_at": "2025-03-07T16:51:01+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_31755125728340aeaf2818c963d0e8e8", - "object": "Parcel", "created_at": "2025-03-07T16:51:01Z", "updated_at": "2025-03-07T16:51:01Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_5814100ba2084466be320ba396b61730", - "object": "Rate", "created_at": "2025-03-07T16:51:02Z", "updated_at": "2025-03-07T16:51:02Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_a9d48b6177524630829bdbd1c6d99cf9", - "object": "Rate", "created_at": "2025-03-07T16:51:02Z", "updated_at": "2025-03-07T16:51:02Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_43eb2dca7f5c44ca8d622f129f9b3eae", - "object": "Rate", "created_at": "2025-03-07T16:51:02Z", "updated_at": "2025-03-07T16:51:02Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_5a1fec64fb7411ef84563cecef1b359e", - "object": "Address", "created_at": "2025-03-07T16:51:01+00:00", "updated_at": - "2025-03-07T16:51:01+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_5a22dca8fb7411efa497ac1f6bc53342", "object": "Address", "created_at": - "2025-03-07T16:51:01+00:00", "updated_at": "2025-03-07T16:51:01+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_5a1fec64fb7411ef84563cecef1b359e", "object": - "Address", "created_at": "2025-03-07T16:51:01+00:00", "updated_at": "2025-03-07T16:51:01+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4325' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_a4605012cda9465e92bade0b88927a75 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fe67cb23f5e2aac23e000c2fe0 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.361031' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments/shp_a4605012cda9465e92bade0b88927a75/smartrate - response: - body: - string: '{"result": [{"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:51:02Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 3, "est_delivery_days": - 3, "id": "rate_5814100ba2084466be320ba396b61730", "list_currency": "USD", - "list_rate": 6.57, "mode": "test", "object": "Rate", "rate": 6.07, "retail_currency": - "USD", "retail_rate": 8.85, "service": "GroundAdvantage", "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", - "time_in_transit": {"percentile_50": 1, "percentile_75": 2, "percentile_85": - 2, "percentile_90": 2, "percentile_95": 3, "percentile_97": 3, "percentile_99": - 4}, "updated_at": "2025-03-07T16:51:02Z"}, {"carrier": "USPS", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e", "created_at": "2025-03-07T16:51:02Z", - "currency": "USD", "delivery_date": null, "delivery_date_guaranteed": false, - "delivery_days": 1, "est_delivery_days": 1, "id": "rate_a9d48b6177524630829bdbd1c6d99cf9", - "list_currency": "USD", "list_rate": 34.15, "mode": "test", "object": "Rate", - "rate": 34.15, "retail_currency": "USD", "retail_rate": 39.1, "service": "Express", - "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", "time_in_transit": - {"percentile_50": 2, "percentile_75": 2, "percentile_85": 3, "percentile_90": - 3, "percentile_95": 4, "percentile_97": 5, "percentile_99": 8}, "updated_at": - "2025-03-07T16:51:02Z"}, {"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:51:02Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 2, "est_delivery_days": - 2, "id": "rate_43eb2dca7f5c44ca8d622f129f9b3eae", "list_currency": "USD", - "list_rate": 8.34, "mode": "test", "object": "Rate", "rate": 7.42, "retail_currency": - "USD", "retail_rate": 9.9, "service": "Priority", "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", - "time_in_transit": {"percentile_50": 2, "percentile_75": 2, "percentile_85": - 2, "percentile_90": 3, "percentile_95": 3, "percentile_97": 3, "percentile_99": - 4}, "updated_at": "2025-03-07T16:51:02Z"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1969' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fe67cb23f6e2aac23e000c3051 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.090788' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments/shp_a4605012cda9465e92bade0b88927a75/smartrate - response: - body: - string: '{"result": [{"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:51:02Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 3, "est_delivery_days": - 3, "id": "rate_5814100ba2084466be320ba396b61730", "list_currency": "USD", - "list_rate": 6.57, "mode": "test", "object": "Rate", "rate": 6.07, "retail_currency": - "USD", "retail_rate": 8.85, "service": "GroundAdvantage", "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", - "time_in_transit": {"percentile_50": 1, "percentile_75": 2, "percentile_85": - 2, "percentile_90": 2, "percentile_95": 3, "percentile_97": 3, "percentile_99": - 4}, "updated_at": "2025-03-07T16:51:02Z"}, {"carrier": "USPS", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e", "created_at": "2025-03-07T16:51:02Z", - "currency": "USD", "delivery_date": null, "delivery_date_guaranteed": false, - "delivery_days": 1, "est_delivery_days": 1, "id": "rate_a9d48b6177524630829bdbd1c6d99cf9", - "list_currency": "USD", "list_rate": 34.15, "mode": "test", "object": "Rate", - "rate": 34.15, "retail_currency": "USD", "retail_rate": 39.1, "service": "Express", - "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", "time_in_transit": - {"percentile_50": 2, "percentile_75": 2, "percentile_85": 3, "percentile_90": - 3, "percentile_95": 4, "percentile_97": 5, "percentile_99": 8}, "updated_at": - "2025-03-07T16:51:02Z"}, {"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:51:02Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 2, "est_delivery_days": - 2, "id": "rate_43eb2dca7f5c44ca8d622f129f9b3eae", "list_currency": "USD", - "list_rate": 8.34, "mode": "test", "object": "Rate", "rate": 7.42, "retail_currency": - "USD", "retail_rate": 9.9, "service": "Priority", "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", - "time_in_transit": {"percentile_50": 2, "percentile_75": 2, "percentile_85": - 2, "percentile_90": 3, "percentile_95": 3, "percentile_97": 3, "percentile_99": - 4}, "updated_at": "2025-03-07T16:51:02Z"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1969' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fe67cb23f6e2aac23e000c3066 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.107955' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments/shp_a4605012cda9465e92bade0b88927a75/smartrate - response: - body: - string: '{"result": [{"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:51:02Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 3, "est_delivery_days": - 3, "id": "rate_5814100ba2084466be320ba396b61730", "list_currency": "USD", - "list_rate": 6.57, "mode": "test", "object": "Rate", "rate": 6.07, "retail_currency": - "USD", "retail_rate": 8.85, "service": "GroundAdvantage", "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", - "time_in_transit": {"percentile_50": 1, "percentile_75": 2, "percentile_85": - 2, "percentile_90": 2, "percentile_95": 3, "percentile_97": 3, "percentile_99": - 4}, "updated_at": "2025-03-07T16:51:02Z"}, {"carrier": "USPS", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e", "created_at": "2025-03-07T16:51:02Z", - "currency": "USD", "delivery_date": null, "delivery_date_guaranteed": false, - "delivery_days": 1, "est_delivery_days": 1, "id": "rate_a9d48b6177524630829bdbd1c6d99cf9", - "list_currency": "USD", "list_rate": 34.15, "mode": "test", "object": "Rate", - "rate": 34.15, "retail_currency": "USD", "retail_rate": 39.1, "service": "Express", - "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", "time_in_transit": - {"percentile_50": 2, "percentile_75": 2, "percentile_85": 3, "percentile_90": - 3, "percentile_95": 4, "percentile_97": 5, "percentile_99": 8}, "updated_at": - "2025-03-07T16:51:02Z"}, {"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:51:02Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 2, "est_delivery_days": - 2, "id": "rate_43eb2dca7f5c44ca8d622f129f9b3eae", "list_currency": "USD", - "list_rate": 8.34, "mode": "test", "object": "Rate", "rate": 7.42, "retail_currency": - "USD", "retail_rate": 9.9, "service": "Priority", "shipment_id": "shp_a4605012cda9465e92bade0b88927a75", - "time_in_transit": {"percentile_50": 2, "percentile_75": 2, "percentile_85": - 2, "percentile_90": 3, "percentile_95": 3, "percentile_97": 3, "percentile_99": - 4}, "updated_at": "2025-03-07T16:51:02Z"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1969' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fe67cb23f6e2aac23e000c3090 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.077064' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_recommend_ship_date.yaml b/tests/cassettes/test_shipment_recommend_ship_date.yaml deleted file mode 100644 index 4f239139..00000000 --- a/tests/cassettes/test_shipment_recommend_ship_date.yaml +++ /dev/null @@ -1,224 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '496' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_bde92a511b4f4ed68a381c2806b75138", "created_at": "2025-03-07T16:46:32Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-03-07T16:46:32Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_b9c6ead5fb7311efa6cfac1f6bc539aa", "object": - "Address", "created_at": "2025-03-07T16:46:32+00:00", "updated_at": "2025-03-07T16:46:32+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_6f513f92240a45379cc5bf8a5744bbe6", - "object": "Parcel", "created_at": "2025-03-07T16:46:32Z", "updated_at": "2025-03-07T16:46:32Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_0d02d5e5b0b44359bc223b4ea5173874", - "object": "Rate", "created_at": "2025-03-07T16:46:33Z", "updated_at": "2025-03-07T16:46:33Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_bde92a511b4f4ed68a381c2806b75138", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_d79cc46dd49548bcae70d13190fba9f9", - "object": "Rate", "created_at": "2025-03-07T16:46:33Z", "updated_at": "2025-03-07T16:46:33Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_bde92a511b4f4ed68a381c2806b75138", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_1e792efb0e784006b58b540a6ec0ae39", - "object": "Rate", "created_at": "2025-03-07T16:46:33Z", "updated_at": "2025-03-07T16:46:33Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_bde92a511b4f4ed68a381c2806b75138", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b9c4d560fb7311ef816dac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:46:32+00:00", "updated_at": - "2025-03-07T16:46:32+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b9c6ead5fb7311efa6cfac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:46:32+00:00", "updated_at": "2025-03-07T16:46:32+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b9c4d560fb7311ef816dac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:32+00:00", "updated_at": "2025-03-07T16:46:32+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4325' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_bde92a511b4f4ed68a381c2806b75138 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fc67cb22e8e2aabd7e000af2fc - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.266158' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments/shp_bde92a511b4f4ed68a381c2806b75138/smartrate/precision_shipping?desired_delivery_date=2025-03-08 - response: - body: - string: '{"rates": [{"easypost_time_in_transit_data": {"days_in_transit": {"percentile_50": - 3, "percentile_75": 3, "percentile_85": 4, "percentile_90": 4, "percentile_95": - 5, "percentile_97": 6, "percentile_99": 8}, "delivery_date_confidence": 0.38, - "desired_delivery_date": "2025-03-08", "estimated_transit_days": 1, "ship_on_date": - "2025-03-07"}, "rate": {"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:46:33Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 1, "est_delivery_days": - 1, "id": "rate_0d02d5e5b0b44359bc223b4ea5173874", "list_currency": "USD", - "list_rate": 34.15, "mode": "test", "object": "Rate", "rate": 34.15, "retail_currency": - "USD", "retail_rate": 39.1, "service": "Express", "shipment_id": "shp_bde92a511b4f4ed68a381c2806b75138", - "updated_at": "2025-03-07T16:46:33Z"}}, {"easypost_time_in_transit_data": - {"days_in_transit": {"percentile_50": 3, "percentile_75": 4, "percentile_85": - 5, "percentile_90": 5, "percentile_95": 6, "percentile_97": 7, "percentile_99": - 10}, "delivery_date_confidence": 0.04, "desired_delivery_date": "2025-03-08", - "estimated_transit_days": 1, "ship_on_date": "2025-03-07"}, "rate": {"carrier": - "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", "created_at": - "2025-03-07T16:46:33Z", "currency": "USD", "delivery_date": null, "delivery_date_guaranteed": - false, "delivery_days": 2, "est_delivery_days": 2, "id": "rate_d79cc46dd49548bcae70d13190fba9f9", - "list_currency": "USD", "list_rate": 8.34, "mode": "test", "object": "Rate", - "rate": 7.42, "retail_currency": "USD", "retail_rate": 9.9, "service": "Priority", - "shipment_id": "shp_bde92a511b4f4ed68a381c2806b75138", "updated_at": "2025-03-07T16:46:33Z"}}, - {"easypost_time_in_transit_data": {"days_in_transit": {"percentile_50": 4, - "percentile_75": 4, "percentile_85": 5, "percentile_90": 5, "percentile_95": - 6, "percentile_97": 7, "percentile_99": 10}, "delivery_date_confidence": 0.03, - "desired_delivery_date": "2025-03-08", "estimated_transit_days": 1, "ship_on_date": - "2025-03-07"}, "rate": {"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:46:33Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 3, "est_delivery_days": - 3, "id": "rate_1e792efb0e784006b58b540a6ec0ae39", "list_currency": "USD", - "list_rate": 6.57, "mode": "test", "object": "Rate", "rate": 6.07, "retail_currency": - "USD", "retail_rate": 8.85, "service": "GroundAdvantage", "shipment_id": "shp_bde92a511b4f4ed68a381c2806b75138", - "updated_at": "2025-03-07T16:46:33Z"}}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2471' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fc67cb22e9e2aabd7e000af352 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.108576' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_refund.yaml b/tests/cassettes/test_shipment_refund.yaml deleted file mode 100644 index fc18164f..00000000 --- a/tests/cassettes/test_shipment_refund.yaml +++ /dev/null @@ -1,325 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"to_address": {"name": "Jack Sparrow", "street1": "388 Townsend - St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", - "country": "US", "email": "test@example.com", "phone": "5555555555"}, "from_address": - {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": "Redondo Beach", - "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "service": "GroundAdvantage", "carrier_accounts": ["ca_b25657e9896e4d63ac8151ac346ac41e"], - "carrier": "USPS"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '606' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_700d2963c43b4847883c955eeb846b13", "created_at": "2025-03-07T16:46:25Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505688", "updated_at": - "2025-03-07T16:46:26Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_b5548f4dfb7311efa435ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:25+00:00", "updated_at": - "2025-03-07T16:46:25+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_ebc830b06aa54635b64e0307cdac29f1", "object": - "Parcel", "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:25Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_300a3cd83e644301a0327659610ff50d", - "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:26Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:25Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e85c1ebac06b434b938dae67e732e189ff.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_0f20bf94b65c4fb1b95966ec43487695", "object": - "Rate", "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:25Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_700d2963c43b4847883c955eeb846b13", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_c9ead7bfdcff4e33b61bffc577805e01", - "object": "Rate", "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:25Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_700d2963c43b4847883c955eeb846b13", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_e3057ccdd9804995a358d91d4595bcf6", - "object": "Rate", "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:25Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_700d2963c43b4847883c955eeb846b13", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": {"id": "rate_e3057ccdd9804995a358d91d4595bcf6", "object": - "Rate", "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:25Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_700d2963c43b4847883c955eeb846b13", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_f42bc0761c284d149c58e52307d33810", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505688", - "status": "unknown", "status_detail": "unknown", "created_at": "2025-03-07T16:46:26Z", - "updated_at": "2025-03-07T16:46:26Z", "signed_by": null, "weight": null, "est_delivery_date": - null, "shipment_id": "shp_700d2963c43b4847883c955eeb846b13", "carrier": "USPS", - "tracking_details": [], "fees": [], "carrier_detail": null, "public_url": - "https://track.easypost.com/djE6dHJrX2Y0MmJjMDc2MWMyODRkMTQ5YzU4ZTUyMzA3ZDMzODEw"}, - "to_address": {"id": "adr_b552c393fb7311ef9ea3ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-07T16:46:25+00:00", "updated_at": "2025-03-07T16:46:25+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_b5548f4dfb7311efa435ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:25+00:00", "updated_at": - "2025-03-07T16:46:25+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_b552c393fb7311ef9ea3ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:25+00:00", "updated_at": "2025-03-07T16:46:25+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - "", "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '6456' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_700d2963c43b4847883c955eeb846b13 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb22e1e2aabd5a000ae8ef - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.863720' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_700d2963c43b4847883c955eeb846b13/refund - response: - body: - string: '{"id": "shp_700d2963c43b4847883c955eeb846b13", "created_at": "2025-03-07T16:46:25Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": "9400100208303109505688", "updated_at": - "2025-03-07T16:46:26Z", "batch_id": null, "batch_status": null, "batch_message": - null, "customs_info": null, "from_address": {"id": "adr_b5548f4dfb7311efa435ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:25+00:00", "updated_at": - "2025-03-07T16:46:25+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "insurance": null, "order_id": - null, "parcel": {"id": "prcl_ebc830b06aa54635b64e0307cdac29f1", "object": - "Parcel", "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:25Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": {"object": "PostageLabel", "id": "pl_300a3cd83e644301a0327659610ff50d", - "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:26Z", - "date_advance": 0, "integrated_form": "none", "label_date": "2025-03-07T16:46:25Z", - "label_resolution": 300, "label_size": "4x6", "label_type": "default", "label_file_type": - "image/png", "label_url": "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250307/e85c1ebac06b434b938dae67e732e189ff.png", - "label_pdf_url": null, "label_zpl_url": null, "label_epl2_url": null, "label_file": - null}, "rates": [{"id": "rate_0f20bf94b65c4fb1b95966ec43487695", "object": - "Rate", "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:25Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_700d2963c43b4847883c955eeb846b13", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_c9ead7bfdcff4e33b61bffc577805e01", - "object": "Rate", "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:25Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_700d2963c43b4847883c955eeb846b13", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_e3057ccdd9804995a358d91d4595bcf6", - "object": "Rate", "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:25Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_700d2963c43b4847883c955eeb846b13", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": "submitted", "scan_form": - null, "selected_rate": {"id": "rate_e3057ccdd9804995a358d91d4595bcf6", "object": - "Rate", "created_at": "2025-03-07T16:46:25Z", "updated_at": "2025-03-07T16:46:25Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_700d2963c43b4847883c955eeb846b13", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, "tracker": {"id": "trk_f42bc0761c284d149c58e52307d33810", - "object": "Tracker", "mode": "test", "tracking_code": "9400100208303109505688", - "status": "pre_transit", "status_detail": "status_update", "created_at": "2025-03-07T16:46:26Z", - "updated_at": "2025-03-07T16:46:26Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-07T16:46:26Z", "shipment_id": "shp_700d2963c43b4847883c955eeb846b13", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T16:46:26Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-08T05:23:26Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2Y0MmJjMDc2MWMyODRkMTQ5YzU4ZTUyMzA3ZDMzODEw"}, - "to_address": {"id": "adr_b552c393fb7311ef9ea3ac1f6bc539ae", "object": "Address", - "created_at": "2025-03-07T16:46:25+00:00", "updated_at": "2025-03-07T16:46:25+00:00", - "name": "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", - "street2": null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", - "country": "US", "phone": "", "email": "", "mode": "test", - "carrier_facility": null, "residential": true, "federal_tax_id": null, "state_tax_id": - null, "verifications": {"zip4": {"success": true, "errors": [], "details": - null}, "delivery": {"success": true, "errors": [], "details": {"latitude": - 37.77551, "longitude": -122.39697, "time_zone": "America/Los_Angeles"}}}}, - "usps_zone": 4, "return_address": {"id": "adr_b5548f4dfb7311efa435ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:25+00:00", "updated_at": - "2025-03-07T16:46:25+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "buyer_address": {"id": - "adr_b552c393fb7311ef9ea3ac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:25+00:00", "updated_at": "2025-03-07T16:46:25+00:00", "name": - "JACK SPARROW", "company": null, "street1": "388 TOWNSEND ST APT 20", "street2": - null, "city": "SAN FRANCISCO", "state": "CA", "zip": "94107-1670", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": true, "federal_tax_id": null, "state_tax_id": null, "verifications": - {"zip4": {"success": true, "errors": [], "details": null}, "delivery": {"success": - true, "errors": [], "details": {"latitude": 37.77551, "longitude": -122.39697, - "time_zone": "America/Los_Angeles"}}}}, "forms": [], "fees": [{"object": "Fee", - "type": "LabelFee", "amount": "0.00000", "charged": true, "refunded": false}, - {"object": "Fee", "type": "PostageFee", "amount": "6.07000", "charged": true, - "refunded": false}], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '7593' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb22e2e2aabd5a000aea47 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.174085' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_regenerate_rates.yaml b/tests/cassettes/test_shipment_regenerate_rates.yaml deleted file mode 100644 index 9fbe036a..00000000 --- a/tests/cassettes/test_shipment_regenerate_rates.yaml +++ /dev/null @@ -1,234 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}, "options": {"label_format": - "PNG", "invoice_number": "123"}, "reference": "123"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '954' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_322d89bfe10e4874a31e20e3a001be24", "created_at": "2025-03-07T16:46:21Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-07T16:46:21Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": {"id": "cstinfo_23612c8c72b3439db1979957ebba631d", - "object": "CustomsInfo", "created_at": "2025-03-07T16:46:21Z", "updated_at": - "2025-03-07T16:46:21Z", "contents_explanation": "", "contents_type": "merchandise", - "customs_certify": true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI - 30.37(a)", "non_delivery_option": "return", "restriction_comments": null, - "restriction_type": "none", "mode": "test", "declaration": null, "customs_items": - [{"id": "cstitem_a4293957af1b4faf9eaadfe3579c965c", "object": "CustomsItem", - "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}]}, "from_address": {"id": "adr_b2bd42b3fb7311ef9cbaac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:21+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_8b5c2fafd17a42d6a327469914e121b5", - "object": "Parcel", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_d42bdaff54064c12a24c4ceaa133c72b", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_322d89bfe10e4874a31e20e3a001be24", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_8ee656e6c49244abb5fefeda5567cea9", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_322d89bfe10e4874a31e20e3a001be24", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_064e47d5551944c1929fe58c375c579c", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_322d89bfe10e4874a31e20e3a001be24", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b2ba9c36fb7311efa275ac1f6bc539aa", - "object": "Address", "created_at": "2025-03-07T16:46:21+00:00", "updated_at": - "2025-03-07T16:46:21+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b2bd42b3fb7311ef9cbaac1f6bc539ae", "object": "Address", "created_at": - "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:21+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b2ba9c36fb7311efa275ac1f6bc539aa", "object": - "Address", "created_at": "2025-03-07T16:46:21+00:00", "updated_at": "2025-03-07T16:46:21+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5160' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_322d89bfe10e4874a31e20e3a001be24 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90167cb22dce2aaba23000ae1cb - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.221309' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '2' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments/shp_322d89bfe10e4874a31e20e3a001be24/rerate - response: - body: - string: '{"rates": [{"id": "rate_8c859e5dd7c24f8686ec63c1029d2c75", "object": - "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_322d89bfe10e4874a31e20e3a001be24", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_6174a768b0a54242b201e7d09bd5ef1b", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_322d89bfe10e4874a31e20e3a001be24", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_3a818c29492a46f29c61df1c4f9d7938", - "object": "Rate", "created_at": "2025-03-07T16:46:21Z", "updated_at": "2025-03-07T16:46:21Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_322d89bfe10e4874a31e20e3a001be24", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1628' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90167cb22dde2aaba23000ae261 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.230324' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_retrieve.yaml b/tests/cassettes/test_shipment_retrieve.yaml deleted file mode 100644 index a7ef7677..00000000 --- a/tests/cassettes/test_shipment_retrieve.yaml +++ /dev/null @@ -1,273 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}, "customs_info": {"eel_pfc": "NOEEI 30.37(a)", "customs_certify": true, - "customs_signer": "Steve Brule", "contents_type": "merchandise", "contents_explanation": - "", "restriction_type": "none", "non_delivery_option": "return", "customs_items": - [{"description": "Sweet shirts", "quantity": 2, "weight": 11, "value": 23.25, - "hs_tariff_number": "654321", "origin_country": "US"}]}, "options": {"label_format": - "PNG", "invoice_number": "123"}, "reference": "123"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '954' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_8412b33c1ad042049c1f2db46077cad2", "created_at": "2025-03-07T16:46:17Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-07T16:46:17Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": {"id": "cstinfo_ea932391af43411a995dd3e2893dac05", - "object": "CustomsInfo", "created_at": "2025-03-07T16:46:17Z", "updated_at": - "2025-03-07T16:46:17Z", "contents_explanation": "", "contents_type": "merchandise", - "customs_certify": true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI - 30.37(a)", "non_delivery_option": "return", "restriction_comments": null, - "restriction_type": "none", "mode": "test", "declaration": null, "customs_items": - [{"id": "cstitem_2ce8555331ac4236803a959dcbbeae51", "object": "CustomsItem", - "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}]}, "from_address": {"id": "adr_b0b6f50dfb7311efa17aac1f6bc539aa", "object": - "Address", "created_at": "2025-03-07T16:46:17+00:00", "updated_at": "2025-03-07T16:46:17+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_089c8b364e6842ffb142492fe5462cd8", - "object": "Parcel", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_0e488701dc6a4037bd8c91d8de68e17f", - "object": "Rate", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_8412b33c1ad042049c1f2db46077cad2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_e68f89d1b3f141a5ac4d3578c145d47e", - "object": "Rate", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_8412b33c1ad042049c1f2db46077cad2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_d4470be0a8b14ea7aa394bef22db9d1f", - "object": "Rate", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_8412b33c1ad042049c1f2db46077cad2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b0b3e045fb7311ef9bbeac1f6bc539ae", - "object": "Address", "created_at": "2025-03-07T16:46:17+00:00", "updated_at": - "2025-03-07T16:46:17+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b0b6f50dfb7311efa17aac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:46:17+00:00", "updated_at": "2025-03-07T16:46:17+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b0b3e045fb7311ef9bbeac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:17+00:00", "updated_at": "2025-03-07T16:46:17+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5160' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_8412b33c1ad042049c1f2db46077cad2 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90167cb22d9e2aaba1f000adcb1 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.252824' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments/shp_8412b33c1ad042049c1f2db46077cad2 - response: - body: - string: '{"id": "shp_8412b33c1ad042049c1f2db46077cad2", "created_at": "2025-03-07T16:46:17Z", - "is_return": false, "messages": [], "mode": "test", "options": {"label_format": - "PNG", "invoice_number": "123", "currency": "USD", "payment": {"type": "SENDER"}, - "date_advance": 0}, "reference": "123", "status": "unknown", "tracking_code": - null, "updated_at": "2025-03-07T16:46:17Z", "batch_id": null, "batch_status": - null, "batch_message": null, "customs_info": {"id": "cstinfo_ea932391af43411a995dd3e2893dac05", - "object": "CustomsInfo", "created_at": "2025-03-07T16:46:17Z", "updated_at": - "2025-03-07T16:46:17Z", "contents_explanation": "", "contents_type": "merchandise", - "customs_certify": true, "customs_signer": "Steve Brule", "eel_pfc": "NOEEI - 30.37(a)", "non_delivery_option": "return", "restriction_comments": null, - "restriction_type": "none", "mode": "test", "declaration": null, "customs_items": - [{"id": "cstitem_2ce8555331ac4236803a959dcbbeae51", "object": "CustomsItem", - "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "description": "Sweet shirts", "hs_tariff_number": "654321", "origin_country": - "US", "quantity": 2, "value": "23.25", "weight": 11.0, "code": null, "mode": - "test", "manufacturer": null, "currency": null, "eccn": null, "printed_commodity_identifier": - null}]}, "from_address": {"id": "adr_b0b6f50dfb7311efa17aac1f6bc539aa", "object": - "Address", "created_at": "2025-03-07T16:46:17+00:00", "updated_at": "2025-03-07T16:46:17+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_089c8b364e6842ffb142492fe5462cd8", - "object": "Parcel", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_0e488701dc6a4037bd8c91d8de68e17f", - "object": "Rate", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_8412b33c1ad042049c1f2db46077cad2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_e68f89d1b3f141a5ac4d3578c145d47e", - "object": "Rate", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_8412b33c1ad042049c1f2db46077cad2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_d4470be0a8b14ea7aa394bef22db9d1f", - "object": "Rate", "created_at": "2025-03-07T16:46:17Z", "updated_at": "2025-03-07T16:46:17Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_8412b33c1ad042049c1f2db46077cad2", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b0b3e045fb7311ef9bbeac1f6bc539ae", - "object": "Address", "created_at": "2025-03-07T16:46:17+00:00", "updated_at": - "2025-03-07T16:46:17+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b0b6f50dfb7311efa17aac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:46:17+00:00", "updated_at": "2025-03-07T16:46:17+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b0b3e045fb7311ef9bbeac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:46:17+00:00", "updated_at": "2025-03-07T16:46:17+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '5160' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90167cb22d9e2aaba1f000add3c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb42nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.070165' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_retrieve_estimated_delivery_date.yaml b/tests/cassettes/test_shipment_retrieve_estimated_delivery_date.yaml deleted file mode 100644 index 81d831a6..00000000 --- a/tests/cassettes/test_shipment_retrieve_estimated_delivery_date.yaml +++ /dev/null @@ -1,220 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '496' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_b520511fbb9a4f1fa75b9536da06e248", "created_at": "2025-03-07T16:51:57Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-03-07T16:51:57Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_7b3f51b9fb7411ef9b2a3cecef1b359e", "object": - "Address", "created_at": "2025-03-07T16:51:57+00:00", "updated_at": "2025-03-07T16:51:57+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_97def65dd2794827bb684cd032645cf3", - "object": "Parcel", "created_at": "2025-03-07T16:51:57Z", "updated_at": "2025-03-07T16:51:57Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_c6ea331ff71441b9a4758b1f4ac9c2ff", - "object": "Rate", "created_at": "2025-03-07T16:51:57Z", "updated_at": "2025-03-07T16:51:57Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_b520511fbb9a4f1fa75b9536da06e248", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_6c1c87030515431dab1e1832f48b4635", - "object": "Rate", "created_at": "2025-03-07T16:51:57Z", "updated_at": "2025-03-07T16:51:57Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_b520511fbb9a4f1fa75b9536da06e248", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_509447c9567e4b249c8032e99dbb30dd", - "object": "Rate", "created_at": "2025-03-07T16:51:57Z", "updated_at": "2025-03-07T16:51:57Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b520511fbb9a4f1fa75b9536da06e248", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_7b3d2dbbfb7411ef9b67ac1f6bc539ae", - "object": "Address", "created_at": "2025-03-07T16:51:57+00:00", "updated_at": - "2025-03-07T16:51:57+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_7b3f51b9fb7411ef9b2a3cecef1b359e", "object": "Address", "created_at": - "2025-03-07T16:51:57+00:00", "updated_at": "2025-03-07T16:51:57+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_7b3d2dbbfb7411ef9b67ac1f6bc539ae", "object": - "Address", "created_at": "2025-03-07T16:51:57+00:00", "updated_at": "2025-03-07T16:51:57+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4325' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_b520511fbb9a4f1fa75b9536da06e248 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb242de2aac2be000c70ff - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.195935' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments/shp_b520511fbb9a4f1fa75b9536da06e248/smartrate/delivery_date?planned_ship_date=2025-03-08 - response: - body: - string: '{"rates": [{"easypost_time_in_transit_data": {"days_in_transit": {"percentile_50": - 3, "percentile_75": 4, "percentile_85": 4, "percentile_90": 5, "percentile_95": - 6, "percentile_97": 7, "percentile_99": 10}, "easypost_estimated_delivery_date": - "2025-03-10", "planned_ship_date": "2025-03-08"}, "rate": {"carrier": "USPS", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", "created_at": - "2025-03-07T16:51:57Z", "currency": "USD", "delivery_date": null, "delivery_date_guaranteed": - false, "delivery_days": 1, "est_delivery_days": 1, "id": "rate_c6ea331ff71441b9a4758b1f4ac9c2ff", - "list_currency": "USD", "list_rate": 34.15, "mode": "test", "object": "Rate", - "rate": 34.15, "retail_currency": "USD", "retail_rate": 39.1, "service": "Express", - "shipment_id": "shp_b520511fbb9a4f1fa75b9536da06e248", "updated_at": "2025-03-07T16:51:57Z"}}, - {"easypost_time_in_transit_data": {"days_in_transit": {"percentile_50": 3, - "percentile_75": 4, "percentile_85": 4, "percentile_90": 5, "percentile_95": - 6, "percentile_97": 7, "percentile_99": 10}, "easypost_estimated_delivery_date": - "2025-03-11", "planned_ship_date": "2025-03-08"}, "rate": {"carrier": "USPS", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", "created_at": - "2025-03-07T16:51:57Z", "currency": "USD", "delivery_date": null, "delivery_date_guaranteed": - false, "delivery_days": 2, "est_delivery_days": 2, "id": "rate_6c1c87030515431dab1e1832f48b4635", - "list_currency": "USD", "list_rate": 8.34, "mode": "test", "object": "Rate", - "rate": 7.42, "retail_currency": "USD", "retail_rate": 9.9, "service": "Priority", - "shipment_id": "shp_b520511fbb9a4f1fa75b9536da06e248", "updated_at": "2025-03-07T16:51:57Z"}}, - {"easypost_time_in_transit_data": {"days_in_transit": {"percentile_50": 3, - "percentile_75": 4, "percentile_85": 5, "percentile_90": 5, "percentile_95": - 6, "percentile_97": 7, "percentile_99": 10}, "easypost_estimated_delivery_date": - "2025-03-11", "planned_ship_date": "2025-03-08"}, "rate": {"carrier": "USPS", - "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", "created_at": - "2025-03-07T16:51:57Z", "currency": "USD", "delivery_date": null, "delivery_date_guaranteed": - false, "delivery_days": 3, "est_delivery_days": 3, "id": "rate_509447c9567e4b249c8032e99dbb30dd", - "list_currency": "USD", "list_rate": 6.57, "mode": "test", "object": "Rate", - "rate": 6.07, "retail_currency": "USD", "retail_rate": 8.85, "service": "GroundAdvantage", - "shipment_id": "shp_b520511fbb9a4f1fa75b9536da06e248", "updated_at": "2025-03-07T16:51:57Z"}}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2343' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb242de2aac2be000c7140 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.087546' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_shipment_smart_rate.yaml b/tests/cassettes/test_shipment_smart_rate.yaml deleted file mode 100644 index c2dd8e42..00000000 --- a/tests/cassettes/test_shipment_smart_rate.yaml +++ /dev/null @@ -1,216 +0,0 @@ -interactions: -- request: - body: '{"shipment": {"from_address": {"name": "Jack Sparrow", "street1": "388 - Townsend St", "street2": "Apt 20", "city": "San Francisco", "state": "CA", "zip": - "94107", "country": "US", "email": "test@example.com", "phone": "5555555555"}, - "to_address": {"name": "Elizabeth Swan", "street1": "179 N Harbor Dr", "city": - "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", "email": "test@example.com", - "phone": "5555555555"}, "parcel": {"length": 10, "width": 8, "height": 4, "weight": - 15.4}}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '496' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/shipments - response: - body: - string: '{"id": "shp_b5f086f48a4c4373aeb42a7809b62c0e", "created_at": "2025-03-07T16:46:26Z", - "is_return": false, "messages": [], "mode": "test", "options": {"currency": - "USD", "payment": {"type": "SENDER"}, "date_advance": 0}, "reference": null, - "status": "unknown", "tracking_code": null, "updated_at": "2025-03-07T16:46:26Z", - "batch_id": null, "batch_status": null, "batch_message": null, "customs_info": - null, "from_address": {"id": "adr_b610fa46fb7311efa4acac1f6bc539aa", "object": - "Address", "created_at": "2025-03-07T16:46:26+00:00", "updated_at": "2025-03-07T16:46:26+00:00", - "name": "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "insurance": null, "order_id": null, "parcel": {"id": "prcl_b388179ce8e345dbb0015104d6641375", - "object": "Parcel", "created_at": "2025-03-07T16:46:26Z", "updated_at": "2025-03-07T16:46:26Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}, "postage_label": null, "rates": [{"id": "rate_0336c431fd744648a5e0970af7c2a044", - "object": "Rate", "created_at": "2025-03-07T16:46:26Z", "updated_at": "2025-03-07T16:46:26Z", - "mode": "test", "service": "Express", "carrier": "USPS", "rate": "34.15", - "currency": "USD", "retail_rate": "39.10", "retail_currency": "USD", "list_rate": - "34.15", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 1, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 1, "shipment_id": "shp_b5f086f48a4c4373aeb42a7809b62c0e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_e5d5e96493ec4ef19ea144c3f172fe19", - "object": "Rate", "created_at": "2025-03-07T16:46:26Z", "updated_at": "2025-03-07T16:46:26Z", - "mode": "test", "service": "Priority", "carrier": "USPS", "rate": "7.42", - "currency": "USD", "retail_rate": "9.90", "retail_currency": "USD", "list_rate": - "8.34", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 2, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 2, "shipment_id": "shp_b5f086f48a4c4373aeb42a7809b62c0e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}, {"id": "rate_5a552f4f40a7415cb4df2eb9ca0d9e7b", - "object": "Rate", "created_at": "2025-03-07T16:46:26Z", "updated_at": "2025-03-07T16:46:26Z", - "mode": "test", "service": "GroundAdvantage", "carrier": "USPS", "rate": "6.07", - "currency": "USD", "retail_rate": "8.85", "retail_currency": "USD", "list_rate": - "6.57", "list_currency": "USD", "billing_type": "easypost", "delivery_days": - 3, "delivery_date": null, "delivery_date_guaranteed": false, "est_delivery_days": - 3, "shipment_id": "shp_b5f086f48a4c4373aeb42a7809b62c0e", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e"}], "refund_status": null, "scan_form": - null, "selected_rate": null, "tracker": null, "to_address": {"id": "adr_b60df4c4fb7311efbf55ac1f6bc53342", - "object": "Address", "created_at": "2025-03-07T16:46:26+00:00", "updated_at": - "2025-03-07T16:46:26+00:00", "name": "Elizabeth Swan", "company": null, "street1": - "179 N Harbor Dr", "street2": null, "city": "Redondo Beach", "state": "CA", - "zip": "90277", "country": "US", "phone": "", "email": "", - "mode": "test", "carrier_facility": null, "residential": null, "federal_tax_id": - null, "state_tax_id": null, "verifications": {}}, "usps_zone": 4, "return_address": - {"id": "adr_b610fa46fb7311efa4acac1f6bc539aa", "object": "Address", "created_at": - "2025-03-07T16:46:26+00:00", "updated_at": "2025-03-07T16:46:26+00:00", "name": - "Jack Sparrow", "company": null, "street1": "388 Townsend St", "street2": - "Apt 20", "city": "San Francisco", "state": "CA", "zip": "94107", "country": - "US", "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "buyer_address": {"id": "adr_b60df4c4fb7311efbf55ac1f6bc53342", "object": - "Address", "created_at": "2025-03-07T16:46:26+00:00", "updated_at": "2025-03-07T16:46:26+00:00", - "name": "Elizabeth Swan", "company": null, "street1": "179 N Harbor Dr", "street2": - null, "city": "Redondo Beach", "state": "CA", "zip": "90277", "country": "US", - "phone": "", "email": "", "mode": "test", "carrier_facility": - null, "residential": null, "federal_tax_id": null, "state_tax_id": null, "verifications": - {}}, "forms": [], "fees": [], "object": "Shipment"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '4325' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/shipments/shp_b5f086f48a4c4373aeb42a7809b62c0e - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb22e2e2aabd5b000aead6 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.232721' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/shipments/shp_b5f086f48a4c4373aeb42a7809b62c0e/smartrate - response: - body: - string: '{"result": [{"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:46:26Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 1, "est_delivery_days": - 1, "id": "rate_0336c431fd744648a5e0970af7c2a044", "list_currency": "USD", - "list_rate": 34.15, "mode": "test", "object": "Rate", "rate": 34.15, "retail_currency": - "USD", "retail_rate": 39.1, "service": "Express", "shipment_id": "shp_b5f086f48a4c4373aeb42a7809b62c0e", - "time_in_transit": {"percentile_50": 2, "percentile_75": 2, "percentile_85": - 3, "percentile_90": 3, "percentile_95": 4, "percentile_97": 5, "percentile_99": - 8}, "updated_at": "2025-03-07T16:46:26Z"}, {"carrier": "USPS", "carrier_account_id": - "ca_b25657e9896e4d63ac8151ac346ac41e", "created_at": "2025-03-07T16:46:26Z", - "currency": "USD", "delivery_date": null, "delivery_date_guaranteed": false, - "delivery_days": 2, "est_delivery_days": 2, "id": "rate_e5d5e96493ec4ef19ea144c3f172fe19", - "list_currency": "USD", "list_rate": 8.34, "mode": "test", "object": "Rate", - "rate": 7.42, "retail_currency": "USD", "retail_rate": 9.9, "service": "Priority", - "shipment_id": "shp_b5f086f48a4c4373aeb42a7809b62c0e", "time_in_transit": - {"percentile_50": 2, "percentile_75": 2, "percentile_85": 2, "percentile_90": - 3, "percentile_95": 3, "percentile_97": 3, "percentile_99": 4}, "updated_at": - "2025-03-07T16:46:26Z"}, {"carrier": "USPS", "carrier_account_id": "ca_b25657e9896e4d63ac8151ac346ac41e", - "created_at": "2025-03-07T16:46:26Z", "currency": "USD", "delivery_date": - null, "delivery_date_guaranteed": false, "delivery_days": 3, "est_delivery_days": - 3, "id": "rate_5a552f4f40a7415cb4df2eb9ca0d9e7b", "list_currency": "USD", - "list_rate": 6.57, "mode": "test", "object": "Rate", "rate": 6.07, "retail_currency": - "USD", "retail_rate": 8.85, "service": "GroundAdvantage", "shipment_id": "shp_b5f086f48a4c4373aeb42a7809b62c0e", - "time_in_transit": {"percentile_50": 1, "percentile_75": 2, "percentile_85": - 2, "percentile_90": 2, "percentile_95": 3, "percentile_97": 3, "percentile_99": - 4}, "updated_at": "2025-03-07T16:46:26Z"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1969' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fa67cb22e2e2aabd5b000aeb45 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.094670' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_smartrate_estimate_delivery_date.yaml b/tests/cassettes/test_smartrate_estimate_delivery_date.yaml deleted file mode 100644 index 33094ace..00000000 --- a/tests/cassettes/test_smartrate_estimate_delivery_date.yaml +++ /dev/null @@ -1,87 +0,0 @@ -interactions: -- request: - body: '{"from_zip": "94107", "to_zip": "90277", "planned_ship_date": "2025-03-08", - "carriers": ["USPS"]}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '97' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/smartrate/deliver_by - response: - body: - string: '{"carriers_without_tint_estimates": null, "from_zip": "94107", "planned_ship_date": - "2025-03-08", "results": [{"carrier": "USPS", "easypost_time_in_transit_data": - {"days_in_transit": {"percentile_50": 3, "percentile_75": 4, "percentile_85": - 4, "percentile_90": 5, "percentile_95": 6, "percentile_97": 7, "percentile_99": - 10}, "easypost_estimated_delivery_date": "2025-03-10"}, "service": "express"}, - {"carrier": "USPS", "easypost_time_in_transit_data": {"days_in_transit": {"percentile_50": - 3, "percentile_75": 4, "percentile_85": 5, "percentile_90": 5, "percentile_95": - 6, "percentile_97": 7, "percentile_99": 10}, "easypost_estimated_delivery_date": - "2025-03-11"}, "service": "groundadvantage"}, {"carrier": "USPS", "easypost_time_in_transit_data": - {"days_in_transit": {"percentile_50": 3, "percentile_75": 4, "percentile_85": - 4, "percentile_90": 5, "percentile_95": 6, "percentile_97": 6, "percentile_99": - 9}, "easypost_estimated_delivery_date": "2025-03-11"}, "service": "librarymail"}, - {"carrier": "USPS", "easypost_time_in_transit_data": {"days_in_transit": {"percentile_50": - 3, "percentile_75": 3, "percentile_85": 4, "percentile_90": 5, "percentile_95": - 6, "percentile_97": 6, "percentile_99": 9}, "easypost_estimated_delivery_date": - "2025-03-10"}, "service": "mediamail"}, {"carrier": "USPS", "easypost_time_in_transit_data": - {"days_in_transit": {"percentile_50": 3, "percentile_75": 4, "percentile_85": - 4, "percentile_90": 5, "percentile_95": 6, "percentile_97": 7, "percentile_99": - 10}, "easypost_estimated_delivery_date": "2025-03-11"}, "service": "priority"}], - "saturday_delivery": false, "to_zip": "90277"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1500' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf8fc67cb22e9e2aabd96000af398 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb58nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.077031' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_smartrate_recommend_ship_date.yaml b/tests/cassettes/test_smartrate_recommend_ship_date.yaml deleted file mode 100644 index 1b6d7641..00000000 --- a/tests/cassettes/test_smartrate_recommend_ship_date.yaml +++ /dev/null @@ -1,92 +0,0 @@ -interactions: -- request: - body: '{"from_zip": "94107", "to_zip": "90277", "desired_delivery_date": "2025-03-08", - "carriers": ["USPS"]}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '101' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/smartrate/deliver_on - response: - body: - string: '{"carriers_without_tint_estimates": null, "desired_delivery_date": - "2025-03-08", "from_zip": "94107", "results": [{"carrier": "USPS", "easypost_time_in_transit_data": - {"days_in_transit": {"percentile_50": 3, "percentile_75": 3, "percentile_85": - 4, "percentile_90": 4, "percentile_95": 5, "percentile_97": 6, "percentile_99": - 8}, "delivery_date_confidence": 0.38, "estimated_transit_days": 1, "ship_on_date": - "2025-03-07"}, "service": "express"}, {"carrier": "USPS", "easypost_time_in_transit_data": - {"days_in_transit": {"percentile_50": 4, "percentile_75": 4, "percentile_85": - 5, "percentile_90": 5, "percentile_95": 6, "percentile_97": 7, "percentile_99": - 10}, "delivery_date_confidence": 0.03, "estimated_transit_days": 1, "ship_on_date": - "2025-03-07"}, "service": "groundadvantage"}, {"carrier": "USPS", "easypost_time_in_transit_data": - {"days_in_transit": {"percentile_50": 3, "percentile_75": 4, "percentile_85": - 5, "percentile_90": 5, "percentile_95": 6, "percentile_97": 7, "percentile_99": - 8}, "delivery_date_confidence": 0.05, "estimated_transit_days": 1, "ship_on_date": - "2025-03-07"}, "service": "librarymail"}, {"carrier": "USPS", "easypost_time_in_transit_data": - {"days_in_transit": {"percentile_50": 3, "percentile_75": 4, "percentile_85": - 5, "percentile_90": 5, "percentile_95": 6, "percentile_97": 7, "percentile_99": - 10}, "delivery_date_confidence": 0.03, "estimated_transit_days": 1, "ship_on_date": - "2025-03-07"}, "service": "mediamail"}, {"carrier": "USPS", "easypost_time_in_transit_data": - {"days_in_transit": {"percentile_50": 3, "percentile_75": 4, "percentile_85": - 5, "percentile_90": 5, "percentile_95": 6, "percentile_97": 7, "percentile_99": - 10}, "delivery_date_confidence": 0.04, "estimated_transit_days": 1, "ship_on_date": - "2025-03-07"}, "service": "priority"}], "saturday_delivery": false, "to_zip": - "90277"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1699' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 6eaaf90067cb22e9e2aabd97000af3cf - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 324e75def6 - - extlb1nuq 99aac35317 - x-runtime: - - '0.068947' - x-version-label: - - easypost-202503070040-19f686ce32-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_tracker_all.yaml b/tests/cassettes/test_tracker_all.yaml deleted file mode 100644 index 36fec316..00000000 --- a/tests/cassettes/test_tracker_all.yaml +++ /dev/null @@ -1,168 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/trackers?page_size=5 - response: - body: - string: '{"trackers": [{"id": "trk_977a3085fc654ae3955af46ac298e43c", "object": - "Tracker", "mode": "test", "tracking_code": "9400100208303109500782", "status": - "pre_transit", "status_detail": "status_update", "created_at": "2025-03-06T19:48:46Z", - "updated_at": "2025-03-06T19:48:46Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:46Z", "shipment_id": "shp_34cd3af0099a4d5c815a44c1a408f095", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:46Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:46Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzk3N2EzMDg1ZmM2NTRhZTM5NTVhZjQ2YWMyOThlNDNj"}, - {"id": "trk_bdaa56e02ed74f6ea2839e6ea6a4f75d", "object": "Tracker", "mode": - "test", "tracking_code": "9400100208303109500775", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:43Z", "updated_at": - "2025-03-06T19:48:43Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:43Z", "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:43Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:43Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2JkYWE1NmUwMmVkNzRmNmVhMjgzOWU2ZWE2YTRmNzVk"}, - {"id": "trk_d9dbe609c13e43cab049e342d82e39c8", "object": "Tracker", "mode": - "test", "tracking_code": "9400100208303109500768", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:38Z", "updated_at": - "2025-03-06T19:48:38Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:38Z", "shipment_id": "shp_2c32b9ec8aee457092a15eaeac3fd2bf", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:38Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:38Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2Q5ZGJlNjA5YzEzZTQzY2FiMDQ5ZTM0MmQ4MmUzOWM4"}, - {"id": "trk_d2334116ca1a44d594b097143f314914", "object": "Tracker", "mode": - "test", "tracking_code": "9400100208303109500751", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:37Z", "updated_at": - "2025-03-06T19:48:37Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:37Z", "shipment_id": "shp_43d0816a4bf241d5a702f97b81425f24", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:37Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:37Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2QyMzM0MTE2Y2ExYTQ0ZDU5NGIwOTcxNDNmMzE0OTE0"}, - {"id": "trk_ec716c707447468ca43e51402edc08e1", "object": "Tracker", "mode": - "test", "tracking_code": "9400100208303109500744", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:35Z", "updated_at": - "2025-03-06T19:48:35Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:35Z", "shipment_id": "shp_6f3635c994834c9294c472c755a7d5c8", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:35Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:35Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2VjNzE2YzcwNzQ0NzQ2OGNhNDNlNTE0MDJlZGMwOGUx"}], - "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '8220' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fc29e2b97ef20018b82c - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.188864' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_tracker_create.yaml b/tests/cassettes/test_tracker_create.yaml deleted file mode 100644 index c4c7feaa..00000000 --- a/tests/cassettes/test_tracker_create.yaml +++ /dev/null @@ -1,89 +0,0 @@ -interactions: -- request: - body: '{"tracker": {"tracking_code": "EZ1000000001"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '46' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/trackers - response: - body: - string: '{"id": "trk_e7e8f143f3eb40d38be9562e3767c36a", "object": "Tracker", - "mode": "test", "tracking_code": "EZ1000000001", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:26Z", "updated_at": - "2025-03-06T19:48:26Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:26Z", "shipment_id": null, "carrier": "USPS", "tracking_details": - [{"object": "TrackingDetail", "message": "Pre-Shipment Info Sent to USPS", - "description": "", "status": "pre_transit", "status_detail": "status_update", - "datetime": "2025-02-06T19:48:26Z", "source": "USPS", "carrier_code": "", - "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:25:26Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": {"object": - "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrX2U3ZThmMTQzZjNlYjQwZDM4YmU5NTYyZTM3NjdjMzZh"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1618' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/trackers/trk_e7e8f143f3eb40d38be9562e3767c36a - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc29e2b97ef00018b7bb - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.074477' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_tracker_delete.yaml b/tests/cassettes/test_tracker_delete.yaml deleted file mode 100644 index 115b4cdc..00000000 --- a/tests/cassettes/test_tracker_delete.yaml +++ /dev/null @@ -1,153 +0,0 @@ -interactions: -- request: - body: '{"tracker": {"tracking_code": "EZ1000000001"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '46' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/trackers - response: - body: - string: '{"id": "trk_52d78046d6a14e8b92af8b8546080a05", "object": "Tracker", - "mode": "test", "tracking_code": "EZ1000000001", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-11-05T21:59:07Z", "updated_at": - "2025-11-05T21:59:07Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-11-05T21:59:07Z", "shipment_id": null, "carrier": "USPS", "tracking_details": - [{"object": "TrackingDetail", "message": "Pre-Shipment Info Sent to USPS", - "description": "", "status": "pre_transit", "status_detail": "status_update", - "datetime": "2025-10-05T21:59:07Z", "source": "USPS", "carrier_code": "", - "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}, "est_delivery_date": null}, {"object": - "TrackingDetail", "message": "Shipping Label Created", "description": "", - "status": "pre_transit", "status_detail": "status_update", "datetime": "2025-10-06T10:36:07Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "est_delivery_date": - null}], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "delivery_evidence": [], "finalized": true, "is_return": false, "public_url": - "https://track.easypost.com/djE6dHJrXzUyZDc4MDQ2ZDZhMTRlOGI5MmFmOGI4NTQ2MDgwYTA1"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1691' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/trackers/trk_52d78046d6a14e8b92af8b8546080a05 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7dd2312e69824159e788f74f0032e696 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb33nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 5f0235a1ab - - extlb2nuq cbbd141214 - x-runtime: - - '0.063693' - x-version-label: - - easypost-202602022215-5a5c93c546-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/trackers/trk_52d78046d6a14e8b92af8b8546080a05 - response: - body: - string: '{"success": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '16' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 7dd231306982415ae788f7500032e6fe - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 5f0235a1ab - - extlb2nuq cbbd141214 - x-runtime: - - '0.041496' - x-version-label: - - easypost-202602022215-5a5c93c546-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_tracker_get_next_page.yaml b/tests/cassettes/test_tracker_get_next_page.yaml deleted file mode 100644 index f8b7d347..00000000 --- a/tests/cassettes/test_tracker_get_next_page.yaml +++ /dev/null @@ -1,337 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/trackers?page_size=5 - response: - body: - string: '{"trackers": [{"id": "trk_977a3085fc654ae3955af46ac298e43c", "object": - "Tracker", "mode": "test", "tracking_code": "9400100208303109500782", "status": - "pre_transit", "status_detail": "status_update", "created_at": "2025-03-06T19:48:46Z", - "updated_at": "2025-03-06T19:48:46Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:46Z", "shipment_id": "shp_34cd3af0099a4d5c815a44c1a408f095", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:46Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:46Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzk3N2EzMDg1ZmM2NTRhZTM5NTVhZjQ2YWMyOThlNDNj"}, - {"id": "trk_bdaa56e02ed74f6ea2839e6ea6a4f75d", "object": "Tracker", "mode": - "test", "tracking_code": "9400100208303109500775", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:43Z", "updated_at": - "2025-03-06T19:48:43Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:43Z", "shipment_id": "shp_82abbe8e8a1f4746bfbe7c943906c52c", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:43Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:43Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2JkYWE1NmUwMmVkNzRmNmVhMjgzOWU2ZWE2YTRmNzVk"}, - {"id": "trk_d9dbe609c13e43cab049e342d82e39c8", "object": "Tracker", "mode": - "test", "tracking_code": "9400100208303109500768", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:38Z", "updated_at": - "2025-03-06T19:48:38Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:38Z", "shipment_id": "shp_2c32b9ec8aee457092a15eaeac3fd2bf", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:38Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:38Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2Q5ZGJlNjA5YzEzZTQzY2FiMDQ5ZTM0MmQ4MmUzOWM4"}, - {"id": "trk_d2334116ca1a44d594b097143f314914", "object": "Tracker", "mode": - "test", "tracking_code": "9400100208303109500751", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:37Z", "updated_at": - "2025-03-06T19:48:37Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:37Z", "shipment_id": "shp_43d0816a4bf241d5a702f97b81425f24", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:37Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:37Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2QyMzM0MTE2Y2ExYTQ0ZDU5NGIwOTcxNDNmMzE0OTE0"}, - {"id": "trk_ec716c707447468ca43e51402edc08e1", "object": "Tracker", "mode": - "test", "tracking_code": "9400100208303109500744", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:35Z", "updated_at": - "2025-03-06T19:48:35Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:35Z", "shipment_id": "shp_6f3635c994834c9294c472c755a7d5c8", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:35Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:35Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2VjNzE2YzcwNzQ0NzQ2OGNhNDNlNTE0MDJlZGMwOGUx"}], - "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '8220' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc2ae2b97ef30018b871 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.202125' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/trackers?before_id=trk_ec716c707447468ca43e51402edc08e1&page_size=5 - response: - body: - string: '{"trackers": [{"id": "trk_8a5adf896fbf4684b5db608a20e187d2", "object": - "Tracker", "mode": "test", "tracking_code": "9400100208303109500737", "status": - "pre_transit", "status_detail": "status_update", "created_at": "2025-03-06T19:48:34Z", - "updated_at": "2025-03-06T19:48:34Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:34Z", "shipment_id": "shp_d76a64c356314323a637eb431df56721", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:34Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:34Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzhhNWFkZjg5NmZiZjQ2ODRiNWRiNjA4YTIwZTE4N2Qy"}, - {"id": "trk_90f0033e63f7420f8ce7ded19805e9f6", "object": "Tracker", "mode": - "test", "tracking_code": "9400100208303109500720", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:32Z", "updated_at": - "2025-03-06T19:48:32Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:32Z", "shipment_id": "shp_c472b7b0b457413a9fdf31a7843a199e", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:32Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:32Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzkwZjAwMzNlNjNmNzQyMGY4Y2U3ZGVkMTk4MDVlOWY2"}, - {"id": "trk_213b27933f19450cbb6096e57a372e0e", "object": "Tracker", "mode": - "test", "tracking_code": "9400100208303109500713", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:30Z", "updated_at": - "2025-03-06T19:48:30Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:30Z", "shipment_id": "shp_9cb9c80740454d9ba08fb92d49256ec9", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:30Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:30Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrXzIxM2IyNzkzM2YxOTQ1MGNiYjYwOTZlNTdhMzcyZTBl"}, - {"id": "trk_a2af9f98be1f4922abb5bf8c970a86c5", "object": "Tracker", "mode": - "test", "tracking_code": "9434600208303109492683", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:30Z", "updated_at": - "2025-03-06T19:48:30Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:30Z", "shipment_id": "shp_481597ab57634eea9a07f99e967f6aa5", - "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", "message": - "Pre-Shipment Info Sent to USPS", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-06T19:48:30Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:30Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2EyYWY5Zjk4YmUxZjQ5MjJhYmI1YmY4Yzk3MGE4NmM1"}, - {"id": "trk_e7e8f143f3eb40d38be9562e3767c36a", "object": "Tracker", "mode": - "test", "tracking_code": "EZ1000000001", "status": "pre_transit", "status_detail": - "status_update", "created_at": "2025-03-06T19:48:26Z", "updated_at": "2025-03-06T19:48:26Z", - "signed_by": null, "weight": null, "est_delivery_date": "2025-03-06T19:48:26Z", - "shipment_id": null, "carrier": "USPS", "tracking_details": [{"object": "TrackingDetail", - "message": "Pre-Shipment Info Sent to USPS", "description": "", "status": - "pre_transit", "status_detail": "status_update", "datetime": "2025-02-06T19:48:26Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": null, "state": null, "country": null, "zip": null}}, {"object": "TrackingDetail", - "message": "Shipping Label Created", "description": "", "status": "pre_transit", - "status_detail": "status_update", "datetime": "2025-02-07T08:25:26Z", "source": - "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}}], "fees": - [], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "public_url": "https://track.easypost.com/djE6dHJrX2U3ZThmMTQzZjNlYjQwZDM4YmU5NTYyZTM3NjdjMzZh"}], - "has_more": true}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '8176' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc2ae2b97ef30018b8a0 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.185605' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_tracker_retrieve.yaml b/tests/cassettes/test_tracker_retrieve.yaml deleted file mode 100644 index 3ef7c974..00000000 --- a/tests/cassettes/test_tracker_retrieve.yaml +++ /dev/null @@ -1,170 +0,0 @@ -interactions: -- request: - body: '{"tracker": {"tracking_code": "EZ1000000001"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '46' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/trackers - response: - body: - string: '{"id": "trk_e7e8f143f3eb40d38be9562e3767c36a", "object": "Tracker", - "mode": "test", "tracking_code": "EZ1000000001", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:26Z", "updated_at": - "2025-03-06T19:48:26Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:26Z", "shipment_id": null, "carrier": "USPS", "tracking_details": - [{"object": "TrackingDetail", "message": "Pre-Shipment Info Sent to USPS", - "description": "", "status": "pre_transit", "status_detail": "status_update", - "datetime": "2025-02-06T19:48:26Z", "source": "USPS", "carrier_code": "", - "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:25:26Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "carrier_detail": {"object": - "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "finalized": - true, "is_return": false, "public_url": "https://track.easypost.com/djE6dHJrX2U3ZThmMTQzZjNlYjQwZDM4YmU5NTYyZTM3NjdjMzZh"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1618' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/trackers/trk_e7e8f143f3eb40d38be9562e3767c36a - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc29e2b97ef10018b7e5 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.073847' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/trackers/trk_e7e8f143f3eb40d38be9562e3767c36a - response: - body: - string: '{"id": "trk_e7e8f143f3eb40d38be9562e3767c36a", "object": "Tracker", - "mode": "test", "tracking_code": "EZ1000000001", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-03-06T19:48:26Z", "updated_at": - "2025-03-06T19:48:26Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-03-06T19:48:26Z", "shipment_id": null, "carrier": "USPS", "tracking_details": - [{"object": "TrackingDetail", "message": "Pre-Shipment Info Sent to USPS", - "description": "", "status": "pre_transit", "status_detail": "status_update", - "datetime": "2025-02-06T19:48:26Z", "source": "USPS", "carrier_code": "", - "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}}, {"object": "TrackingDetail", "message": - "Shipping Label Created", "description": "", "status": "pre_transit", "status_detail": - "status_update", "datetime": "2025-02-07T08:25:26Z", "source": "USPS", "carrier_code": - "", "tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}}], "fees": [], "carrier_detail": - {"object": "CarrierDetail", "service": "First-Class Package Service", "container_type": - null, "est_delivery_date_local": null, "est_delivery_time_local": null, "origin_location": - "HOUSTON TX, 77001", "origin_tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "destination_location": - "CHARLESTON SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "public_url": - "https://track.easypost.com/djE6dHJrX2U3ZThmMTQzZjNlYjQwZDM4YmU5NTYyZTM3NjdjMzZh"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1593' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc29e2b97ef10018b806 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.053849' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_tracker_retrieve_batch.yaml b/tests/cassettes/test_tracker_retrieve_batch.yaml deleted file mode 100644 index 56316877..00000000 --- a/tests/cassettes/test_tracker_retrieve_batch.yaml +++ /dev/null @@ -1,180 +0,0 @@ -interactions: -- request: - body: '{"tracker": {"tracking_code": "EZ1000000001"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '46' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/trackers - response: - body: - string: '{"id": "trk_52d78046d6a14e8b92af8b8546080a05", "object": "Tracker", - "mode": "test", "tracking_code": "EZ1000000001", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-11-05T21:59:07Z", "updated_at": - "2025-11-05T21:59:07Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-11-05T21:59:07Z", "shipment_id": null, "carrier": "USPS", "tracking_details": - [{"object": "TrackingDetail", "message": "Pre-Shipment Info Sent to USPS", - "description": null, "status": "pre_transit", "status_detail": "status_update", - "datetime": "2025-10-05T21:59:07Z", "source": "USPS", "carrier_code": null, - "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}, "est_delivery_date": null}, {"object": - "TrackingDetail", "message": "Shipping Label Created", "description": null, - "status": "pre_transit", "status_detail": "status_update", "datetime": "2025-10-06T10:36:07Z", - "source": "USPS", "carrier_code": null, "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "est_delivery_date": - null}], "carrier_detail": {"object": "CarrierDetail", "service": "First-Class - Package Service", "container_type": null, "est_delivery_date_local": null, - "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", "origin_tracking_location": - {"object": "TrackingLocation", "city": "HOUSTON", "state": "TX", "country": - null, "zip": "77063"}, "destination_location": "CHARLESTON SC, 29401", "destination_tracking_location": - null, "guaranteed_delivery_date": null, "alternate_identifier": null, "initial_delivery_attempt": - null}, "delivery_evidence": [], "finalized": true, "is_return": false, "public_url": - "https://track.easypost.com/djE6dHJrXzUyZDc4MDQ2ZDZhMTRlOGI5MmFmOGI4NTQ2MDgwYTA1", - "fees": [{"object": "Fee", "type": "TrackerFee", "amount": "0.02000", "charged": - false, "refunded": false}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1797' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/trackers/trk_52d78046d6a14e8b92af8b8546080a05 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 38fab072690bc8aae7994c3e024d2342 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb64nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq c0061e0a2e - - extlb2nuq cbbd141214 - x-runtime: - - '0.122872' - x-version-label: - - easypost-202511052124-83d556159a-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"tracking_codes": ["EZ1000000001"]}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '36' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/trackers/batch - response: - body: - string: '{"trackers": [{"id": "trk_52d78046d6a14e8b92af8b8546080a05", "object": - "Tracker", "mode": "test", "tracking_code": "EZ1000000001", "status": "pre_transit", - "status_detail": "status_update", "created_at": "2025-11-05T21:59:07Z", "updated_at": - "2025-11-05T21:59:07Z", "signed_by": null, "weight": null, "est_delivery_date": - "2025-11-05T21:59:07Z", "shipment_id": null, "carrier": "USPS", "tracking_details": - [{"object": "TrackingDetail", "message": "Pre-Shipment Info Sent to USPS", - "description": "", "status": "pre_transit", "status_detail": "status_update", - "datetime": "2025-10-05T21:59:07Z", "source": "USPS", "carrier_code": "", - "tracking_location": {"object": "TrackingLocation", "city": null, "state": - null, "country": null, "zip": null}, "est_delivery_date": null}, {"object": - "TrackingDetail", "message": "Shipping Label Created", "description": "", - "status": "pre_transit", "status_detail": "status_update", "datetime": "2025-10-06T10:36:07Z", - "source": "USPS", "carrier_code": "", "tracking_location": {"object": "TrackingLocation", - "city": "HOUSTON", "state": "TX", "country": null, "zip": "77063"}, "est_delivery_date": - null}], "fees": [{"object": "Fee", "type": "TrackerFee", "amount": "0.02000", - "charged": true, "refunded": false}], "carrier_detail": {"object": "CarrierDetail", - "service": "First-Class Package Service", "container_type": null, "est_delivery_date_local": - null, "est_delivery_time_local": null, "origin_location": "HOUSTON TX, 77001", - "origin_tracking_location": {"object": "TrackingLocation", "city": "HOUSTON", - "state": "TX", "country": null, "zip": "77063"}, "destination_location": "CHARLESTON - SC, 29401", "destination_tracking_location": null, "guaranteed_delivery_date": - null, "alternate_identifier": null, "initial_delivery_attempt": null}, "delivery_evidence": - [], "public_url": "https://track.easypost.com/djE6dHJrXzUyZDc4MDQ2ZDZhMTRlOGI5MmFmOGI4NTQ2MDgwYTA1"}], - "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1785' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 38fab075690bc8abe7994c40024d239e - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq c0061e0a2e - - extlb2nuq cbbd141214 - x-runtime: - - '0.055965' - x-version-label: - - easypost-202511052124-83d556159a-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_unsubscribe_hooks.yaml b/tests/cassettes/test_unsubscribe_hooks.yaml deleted file mode 100644 index ca0311bf..00000000 --- a/tests/cassettes/test_unsubscribe_hooks.yaml +++ /dev/null @@ -1,72 +0,0 @@ -interactions: -- request: - body: '{"parcel": {"length": 10, "width": 8, "height": 4, "weight": 15.4}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '67' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/parcels - response: - body: - string: '{"id": "prcl_660cf465fc394c1287e6277c20562e27", "object": "Parcel", - "created_at": "2025-03-06T19:48:21Z", "updated_at": "2025-03-06T19:48:21Z", - "length": 10.0, "width": 8.0, "height": 4.0, "predefined_package": null, "weight": - 15.4, "mode": "test"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '229' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - location: - - /api/v2/parcels/prcl_660cf465fc394c1287e6277c20562e27 - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fc05e2b97b1500188fbe - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb39nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.026539' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -version: 1 diff --git a/tests/cassettes/test_user_all_children.yaml b/tests/cassettes/test_user_all_children.yaml deleted file mode 100644 index 9f162ca4..00000000 --- a/tests/cassettes/test_user_all_children.yaml +++ /dev/null @@ -1,77 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users/children?page_size=5 - response: - body: - string: '{"children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "", "verified": true, "created_at": "2023-12-11T17:13:38Z"}, - {"id": "user_437e724f37de412db6df8821968d8d3c", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test User2", "phone_number": - "", "verified": true, "created_at": "2023-12-11T17:13:43Z"}, {"id": - "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", - "name": "Child Account Name22", "phone_number": "", "verified": - true, "created_at": "2024-01-04T19:56:21Z"}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "", "verified": true, "created_at": - "2024-01-19T21:42:21Z"}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "", "verified": true, "created_at": "2024-01-19T21:44:18Z"}], - "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1114' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fc2ee2b97f120018bbfc - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.081047' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_user_children_get_next_page.yaml b/tests/cassettes/test_user_children_get_next_page.yaml deleted file mode 100644 index a9e31e01..00000000 --- a/tests/cassettes/test_user_children_get_next_page.yaml +++ /dev/null @@ -1,77 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users/children?page_size=5 - response: - body: - string: '{"children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "", "verified": true, "created_at": "2023-12-11T17:13:38Z"}, - {"id": "user_437e724f37de412db6df8821968d8d3c", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test User2", "phone_number": - "", "verified": true, "created_at": "2023-12-11T17:13:43Z"}, {"id": - "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", - "name": "Child Account Name22", "phone_number": "", "verified": - true, "created_at": "2024-01-04T19:56:21Z"}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "", "verified": true, "created_at": - "2024-01-19T21:42:21Z"}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "", "verified": true, "created_at": "2024-01-19T21:44:18Z"}], - "has_more": false}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '1114' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc2ee2b97f130018bc27 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.222282' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_user_create.yaml b/tests/cassettes/test_user_create.yaml deleted file mode 100644 index ce9873d9..00000000 --- a/tests/cassettes/test_user_create.yaml +++ /dev/null @@ -1,131 +0,0 @@ -interactions: -- request: - body: '{"user": {"name": "Test User"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '31' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/users - response: - body: - string: '{"id": "user_609e5b8141864b9f877f8c4ef6e85685", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test User", "phone_number": - "", "verified": true, "created_at": "2025-03-06T19:48:59Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": [], "api_keys": [{"object": - "ApiKey", "key": "", "mode": "test", "created_at": "2025-03-06T19:48:59Z", - "active": true, "id": "ak_11b4fc4f06ec42939c4996055b9f5565"}, {"object": "ApiKey", - "key": "", "mode": "production", "created_at": "2025-03-06T19:48:59Z", - "active": true, "id": "ak_bb682f6cbcc545458268103db6bccc80"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '691' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc2ae2b97ef40018b8ee - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.455733' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/users/user_609e5b8141864b9f877f8c4ef6e85685 - response: - body: - string: '' - headers: - cache-control: - - private, no-cache, no-store - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc2be2b97ef40018b977 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.052111' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 204 - message: No Content -version: 1 diff --git a/tests/cassettes/test_user_delete.yaml b/tests/cassettes/test_user_delete.yaml deleted file mode 100644 index a110ca7d..00000000 --- a/tests/cassettes/test_user_delete.yaml +++ /dev/null @@ -1,131 +0,0 @@ -interactions: -- request: - body: '{"user": {"name": "Test User"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '31' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/users - response: - body: - string: '{"id": "user_52052a31d26445e39e298b175d00f70a", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test User", "phone_number": - "", "verified": true, "created_at": "2025-03-06T19:49:01Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": [], "api_keys": [{"object": - "ApiKey", "key": "", "mode": "test", "created_at": "2025-03-06T19:49:01Z", - "active": true, "id": "ak_4572bd6453034cfd9308739d57fd59b5"}, {"object": "ApiKey", - "key": "", "mode": "production", "created_at": "2025-03-06T19:49:01Z", - "active": true, "id": "ak_4ccbc18c84cc4b0692ef0bf99361f93d"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '691' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc2ce2b97f100018baf3 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb36nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.472353' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/users/user_52052a31d26445e39e298b175d00f70a - response: - body: - string: '' - headers: - cache-control: - - private, no-cache, no-store - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc2de2b97f100018bb54 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb57nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.150000' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 204 - message: No Content -version: 1 diff --git a/tests/cassettes/test_user_retrieve.yaml b/tests/cassettes/test_user_retrieve.yaml deleted file mode 100644 index ddcc7b4b..00000000 --- a/tests/cassettes/test_user_retrieve.yaml +++ /dev/null @@ -1,174 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "object": "User", "parent_id": - null, "name": "New Name", "phone_number": "", "verified": true, - "created_at": "2017-03-01T03:01:34Z", "default_carbon_offset": false, "has_elevate_access": - false, "balance": "0.00000", "price_per_shipment": "0.00000", "recharge_amount": - "100.00", "secondary_recharge_amount": "100.00", "recharge_threshold": "0.00", - "has_billing_method": false, "cc_fee_rate": "0.03", "default_insurance_amount": - null, "insurance_fee_rate": "0.01", "insurance_fee_minimum": "1.00", "email": - "", "children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User2", "phone_number": "8005550100", "verified": true, "created_at": - "2023-12-11T17:13:38Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "8005550100", "verified": true, "created_at": "2023-12-11T17:13:43Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}, - {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Child Account Name22", "phone_number": - "8005550100", "verified": true, "created_at": "2024-01-04T19:56:21Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": []}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "8005550100", "verified": true, "created_at": - "2024-01-19T21:42:21Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "8005550100", "verified": true, "created_at": "2024-01-19T21:44:18Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2010' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc2be2b97ef50018b99b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.179651' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users/user_54356a6b96c940d8913961a3c7b909f2 - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "object": "User", "parent_id": - null, "name": "New Name", "phone_number": "", "verified": true, - "created_at": "2017-03-01T03:01:34Z", "default_carbon_offset": false, "has_elevate_access": - false, "balance": "0.00000", "price_per_shipment": "0.00000", "recharge_amount": - "100.00", "secondary_recharge_amount": "100.00", "recharge_threshold": "0.00", - "has_billing_method": false, "cc_fee_rate": "0.03", "default_insurance_amount": - null, "insurance_fee_rate": "0.01", "insurance_fee_minimum": "1.00", "email": - "", "children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User2", "phone_number": "8005550100", "verified": true, "created_at": - "2023-12-11T17:13:38Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "8005550100", "verified": true, "created_at": "2023-12-11T17:13:43Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}, - {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Child Account Name22", "phone_number": - "8005550100", "verified": true, "created_at": "2024-01-04T19:56:21Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": []}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "8005550100", "verified": true, "created_at": - "2024-01-19T21:42:21Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "8005550100", "verified": true, "created_at": "2024-01-19T21:44:18Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2010' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62967c9fc2be2b97ef50018b9d2 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.123282' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_user_retrieve_me.yaml b/tests/cassettes/test_user_retrieve_me.yaml deleted file mode 100644 index 89fc0edc..00000000 --- a/tests/cassettes/test_user_retrieve_me.yaml +++ /dev/null @@ -1,88 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "object": "User", "parent_id": - null, "name": "New Name", "phone_number": "", "verified": true, - "created_at": "2017-03-01T03:01:34Z", "default_carbon_offset": false, "has_elevate_access": - false, "balance": "0.00000", "price_per_shipment": "0.00000", "recharge_amount": - "100.00", "secondary_recharge_amount": "100.00", "recharge_threshold": "0.00", - "has_billing_method": false, "cc_fee_rate": "0.03", "default_insurance_amount": - null, "insurance_fee_rate": "0.01", "insurance_fee_minimum": "1.00", "email": - "", "children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User2", "phone_number": "8005550100", "verified": true, "created_at": - "2023-12-11T17:13:38Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "8005550100", "verified": true, "created_at": "2023-12-11T17:13:43Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}, - {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Child Account Name22", "phone_number": - "8005550100", "verified": true, "created_at": "2024-01-04T19:56:21Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": []}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "8005550100", "verified": true, "created_at": - "2024-01-19T21:42:21Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "8005550100", "verified": true, "created_at": "2024-01-19T21:44:18Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2010' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc2ce2b97f0e0018ba3f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb40nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.137121' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_user_retrieve_no_id.yaml b/tests/cassettes/test_user_retrieve_no_id.yaml deleted file mode 100644 index 64dc1c7a..00000000 --- a/tests/cassettes/test_user_retrieve_no_id.yaml +++ /dev/null @@ -1,88 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "object": "User", "parent_id": - null, "name": "New Name", "phone_number": "", "verified": true, - "created_at": "2017-03-01T03:01:34Z", "default_carbon_offset": false, "has_elevate_access": - false, "balance": "0.00000", "price_per_shipment": "0.00000", "recharge_amount": - "100.00", "secondary_recharge_amount": "100.00", "recharge_threshold": "0.00", - "has_billing_method": false, "cc_fee_rate": "0.03", "default_insurance_amount": - null, "insurance_fee_rate": "0.01", "insurance_fee_minimum": "1.00", "email": - "", "children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User2", "phone_number": "8005550100", "verified": true, "created_at": - "2023-12-11T17:13:38Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "8005550100", "verified": true, "created_at": "2023-12-11T17:13:43Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}, - {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Child Account Name22", "phone_number": - "8005550100", "verified": true, "created_at": "2024-01-04T19:56:21Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": []}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "8005550100", "verified": true, "created_at": - "2024-01-19T21:42:21Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "8005550100", "verified": true, "created_at": "2024-01-19T21:44:18Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2010' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fc2be2b97ef60018ba07 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.085156' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_user_update.yaml b/tests/cassettes/test_user_update.yaml deleted file mode 100644 index 63acf6a5..00000000 --- a/tests/cassettes/test_user_update.yaml +++ /dev/null @@ -1,178 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "object": "User", "parent_id": - null, "name": "New Name", "phone_number": "", "verified": true, - "created_at": "2017-03-01T03:01:34Z", "default_carbon_offset": false, "has_elevate_access": - false, "balance": "0.00000", "price_per_shipment": "0.00000", "recharge_amount": - "100.00", "secondary_recharge_amount": "100.00", "recharge_threshold": "0.00", - "has_billing_method": false, "cc_fee_rate": "0.03", "default_insurance_amount": - null, "insurance_fee_rate": "0.01", "insurance_fee_minimum": "1.00", "email": - "", "children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User2", "phone_number": "8005550100", "verified": true, "created_at": - "2023-12-11T17:13:38Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "8005550100", "verified": true, "created_at": "2023-12-11T17:13:43Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}, - {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Child Account Name22", "phone_number": - "8005550100", "verified": true, "created_at": "2024-01-04T19:56:21Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": []}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "8005550100", "verified": true, "created_at": - "2024-01-19T21:42:21Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "8005550100", "verified": true, "created_at": "2024-01-19T21:44:18Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2010' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc2ce2b97f0f0018ba94 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.084156' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"user": {"name": "New Name"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '30' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: PATCH - uri: https://api.easypost.com/v2/users/user_54356a6b96c940d8913961a3c7b909f2 - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "object": "User", "parent_id": - null, "name": "New Name", "phone_number": "", "verified": true, - "created_at": "2017-03-01T03:01:34Z", "default_carbon_offset": false, "has_elevate_access": - false, "balance": "0.00000", "price_per_shipment": "0.00000", "recharge_amount": - "100.00", "secondary_recharge_amount": "100.00", "recharge_threshold": "0.00", - "has_billing_method": false, "cc_fee_rate": "0.03", "default_insurance_amount": - null, "insurance_fee_rate": "0.01", "insurance_fee_minimum": "1.00", "email": - "", "children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User2", "phone_number": "8005550100", "verified": true, "created_at": - "2023-12-11T17:13:38Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "8005550100", "verified": true, "created_at": "2023-12-11T17:13:43Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}, - {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Child Account Name22", "phone_number": - "8005550100", "verified": true, "created_at": "2024-01-04T19:56:21Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": []}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "8005550100", "verified": true, "created_at": - "2024-01-19T21:42:21Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "8005550100", "verified": true, "created_at": "2024-01-19T21:44:18Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2010' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62867c9fc2ce2b97f0f0018babd - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb59nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.114779' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_user_update_brand.yaml b/tests/cassettes/test_user_update_brand.yaml deleted file mode 100644 index 37d0ce49..00000000 --- a/tests/cassettes/test_user_update_brand.yaml +++ /dev/null @@ -1,158 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/users - response: - body: - string: '{"id": "user_54356a6b96c940d8913961a3c7b909f2", "object": "User", "parent_id": - null, "name": "New Name", "phone_number": "", "verified": true, - "created_at": "2017-03-01T03:01:34Z", "default_carbon_offset": false, "has_elevate_access": - false, "balance": "0.00000", "price_per_shipment": "0.00000", "recharge_amount": - "100.00", "secondary_recharge_amount": "100.00", "recharge_threshold": "0.00", - "has_billing_method": false, "cc_fee_rate": "0.03", "default_insurance_amount": - null, "insurance_fee_rate": "0.01", "insurance_fee_minimum": "1.00", "email": - "", "children": [{"id": "user_584be78af2f141e988b6c60dda9dd8fd", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User2", "phone_number": "8005550100", "verified": true, "created_at": - "2023-12-11T17:13:38Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_437e724f37de412db6df8821968d8d3c", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User2", "phone_number": "8005550100", "verified": true, "created_at": "2023-12-11T17:13:43Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}, - {"id": "user_2553102e90de43dea0b9fa7f8c8d7e33", "object": "User", "parent_id": - "user_54356a6b96c940d8913961a3c7b909f2", "name": "Child Account Name22", "phone_number": - "8005550100", "verified": true, "created_at": "2024-01-04T19:56:21Z", "default_carbon_offset": - false, "has_elevate_access": false, "children": []}, {"id": "user_31754439d4524fbb8867d138de537e12", - "object": "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": - "Test User", "phone_number": "8005550100", "verified": true, "created_at": - "2024-01-19T21:42:21Z", "default_carbon_offset": false, "has_elevate_access": - false, "children": []}, {"id": "user_d26377e80676431d88c17d8b140d365a", "object": - "User", "parent_id": "user_54356a6b96c940d8913961a3c7b909f2", "name": "Test - User", "phone_number": "8005550100", "verified": true, "created_at": "2024-01-19T21:44:18Z", - "default_carbon_offset": false, "has_elevate_access": false, "children": []}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2010' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc2de2b97f110018bba0 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb32nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.148950' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"color": "#123456"}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '20' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: PATCH - uri: https://api.easypost.com/v2/users/user_54356a6b96c940d8913961a3c7b909f2/brand - response: - body: - string: '{"ad": null, "ad_href": null, "background_color": "#FFFFFF", "color": - "#123456", "id": "brd_79967d34dc894866850bc8342c84dc41", "logo": "https://assets.easypost.com/assets/images/branding/easypost-primary-logo.7324aa54b64b34d6cd70ca5ba4d1842d.svg", - "logo_href": "https://www.easypost.com", "name": "EasyPost", "object": "Brand", - "theme": "theme1", "user_id": "user_54356a6b96c940d8913961a3c7b909f2"}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '378' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62b67c9fc2de2b97f110018bbc4 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb35nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.092006' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_webhook_all.yaml b/tests/cassettes/test_webhook_all.yaml deleted file mode 100644 index e1911c81..00000000 --- a/tests/cassettes/test_webhook_all.yaml +++ /dev/null @@ -1,63 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/webhooks?page_size=5 - response: - body: - string: '{"webhooks": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '15' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62c67c9fc30e2b97f160018be35 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.023394' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_webhook_create.yaml b/tests/cassettes/test_webhook_create.yaml deleted file mode 100644 index 784a7f03..00000000 --- a/tests/cassettes/test_webhook_create.yaml +++ /dev/null @@ -1,133 +0,0 @@ -interactions: -- request: - body: '{"webhook": {"url": "http://example.com", "webhook_secret": "s\u00e9cret", - "custom_headers": [{"name": "test", "value": "header"}]}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '132' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/webhooks - response: - body: - string: '{"id": "hook_0dfff13cfac411ef87a6010e985f89d4", "object": "Webhook", - "mode": "test", "url": "http://example.com", "created_at": "2025-03-06T19:49:03Z", - "disabled_at": null, "custom_headers": [{"name": "test", "value": "header"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '213' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fc2ee2b97f140018bc8b - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.392111' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/webhooks/hook_0dfff13cfac411ef87a6010e985f89d4 - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fc2fe2b97f140018bd0f - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb55nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.280536' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_webhook_delete.yaml b/tests/cassettes/test_webhook_delete.yaml deleted file mode 100644 index 44b48794..00000000 --- a/tests/cassettes/test_webhook_delete.yaml +++ /dev/null @@ -1,134 +0,0 @@ -interactions: -- request: - body: '{"webhook": {"url": "http://example.com"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '42' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/webhooks - response: - body: - string: '{"id": "hook_0fcc09e2fac411efbde06158eced6bfc", "object": "Webhook", - "mode": "test", "url": "http://example.com", "created_at": "2025-03-06T19:49:06Z", - "disabled_at": null, "custom_headers": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '181' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-canary: - - direct - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc31e2b97f2f0018bf99 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb43nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.176059' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/webhooks/hook_0fcc09e2fac411efbde06158eced6bfc - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62667c9fc31e2b97f2f0018bfc8 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb53nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.375339' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_webhook_retrieve.yaml b/tests/cassettes/test_webhook_retrieve.yaml deleted file mode 100644 index 3e7164ec..00000000 --- a/tests/cassettes/test_webhook_retrieve.yaml +++ /dev/null @@ -1,195 +0,0 @@ -interactions: -- request: - body: '{"webhook": {"url": "http://example.com"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '42' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/webhooks - response: - body: - string: '{"id": "hook_0e83e2dafac411efac9a1daf3c26a49f", "object": "Webhook", - "mode": "test", "url": "http://example.com", "created_at": "2025-03-06T19:49:04Z", - "disabled_at": null, "custom_headers": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '181' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fc2fe2b97f150018bd9a - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.142343' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - authorization: - - - user-agent: - - - method: GET - uri: https://api.easypost.com/v2/webhooks/hook_0e83e2dafac411efac9a1daf3c26a49f - response: - body: - string: '{"id": "hook_0e83e2dafac411efac9a1daf3c26a49f", "object": "Webhook", - "mode": "test", "url": "http://example.com", "created_at": "2025-03-06T19:49:04Z", - "disabled_at": null, "custom_headers": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '181' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fc2fe2b97f150018bdd7 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb38nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.030906' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/webhooks/hook_0e83e2dafac411efac9a1daf3c26a49f - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62a67c9fc2fe2b97f150018bde4 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb54nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.218994' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_webhook_update.yaml b/tests/cassettes/test_webhook_update.yaml deleted file mode 100644 index bfe45cb1..00000000 --- a/tests/cassettes/test_webhook_update.yaml +++ /dev/null @@ -1,200 +0,0 @@ -interactions: -- request: - body: '{"webhook": {"url": "http://example.com"}}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '42' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: POST - uri: https://api.easypost.com/v2/webhooks - response: - body: - string: '{"id": "hook_0efb3bf0fac411ef8ef87bb79a980ca0", "object": "Webhook", - "mode": "test", "url": "http://example.com", "created_at": "2025-03-06T19:49:04Z", - "disabled_at": null, "custom_headers": []}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '181' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fc30e2b97f170018be5e - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb41nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.159288' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: '{"webhook_secret": "s\u00e9cret", "custom_headers": [{"name": "test", "value": - "header"}]}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '90' - Content-Type: - - application/json - authorization: - - - user-agent: - - - method: PATCH - uri: https://api.easypost.com/v2/webhooks/hook_0efb3bf0fac411ef8ef87bb79a980ca0 - response: - body: - string: '{"id": "hook_0efb3bf0fac411ef8ef87bb79a980ca0", "object": "Webhook", - "mode": "test", "url": "http://example.com", "created_at": "2025-03-06T19:49:04Z", - "disabled_at": null, "custom_headers": [{"name": "test", "value": "header"}]}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '213' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fc30e2b97f170018be92 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb4nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.701134' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - authorization: - - - user-agent: - - - method: DELETE - uri: https://api.easypost.com/v2/webhooks/hook_0efb3bf0fac411ef8ef87bb79a980ca0 - response: - body: - string: '{}' - headers: - cache-control: - - private, no-cache, no-store - content-length: - - '2' - content-type: - - application/json; charset=utf-8 - expires: - - '0' - pragma: - - no-cache - referrer-policy: - - strict-origin-when-cross-origin - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - transfer-encoding: - - chunked - x-backend: - - easypost - x-content-type-options: - - nosniff - x-download-options: - - noopen - x-ep-request-uuid: - - 8e8eb62767c9fc31e2b97f170018bf41 - x-frame-options: - - SAMEORIGIN - x-node: - - bigweb34nuq - x-permitted-cross-domain-policies: - - none - x-proxied: - - intlb3nuq 51d74985a2 - - extlb1nuq 99aac35317 - x-runtime: - - '0.281700' - x-version-label: - - easypost-202503061913-8f39069a2d-master - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/tests/conftest.py b/tests/conftest.py deleted file mode 100644 index 855cdd54..00000000 --- a/tests/conftest.py +++ /dev/null @@ -1,399 +0,0 @@ -import datetime -import json -import os -import warnings -from typing import ( - Any, - Tuple, -) - -import pytest - -from easypost.easypost_client import EasyPostClient - -EASYPOST_TEST_API_KEY = os.getenv("EASYPOST_TEST_API_KEY") -EASYPOST_PROD_API_KEY = os.getenv("EASYPOST_PROD_API_KEY") -PARTNER_USER_PROD_API_KEY = os.getenv("PARTNER_USER_PROD_API_KEY", "123") -REFERRAL_CUSTOMER_PROD_API_KEY = os.getenv("REFERRAL_CUSTOMER_PROD_API_KEY", "123") - -SCRUBBED_STRING = "" -SCRUBBED_ARRAY: list = [] -SCRUBBED_DICT: dict = {} - - -def pytest_sessionstart(session): - """This is for local unit testing with google appengine, otherwise you get a - 'No api proxy found for service "urlfetch"' response. - """ - try: - from google.appengine.ext import testbed # type: ignore - - session.appengine_testbed = testbed.Testbed() # type: ignore - session.appengine_testbed.activate() # type: ignore - session.appengine_testbed.init_urlfetch_stub() # type: ignore - except ImportError: - # if the import fails then we're not using the appengine sdk, so just - # keep going without initializing the testbed stub - pass - - -def pytest_sessionfinish(session, exitstatus): - if hasattr(session, "appengine_testbed"): - session.appengine_testbed.deactivate() # type: ignore - - -@pytest.fixture(autouse=True) -def check_expired_cassettes(expiration_days: int = 365, throw_error: bool = False): - """Checks for expired cassettes and throws errors if they are too old and must be re-recorded.""" - test_name = os.environ.get("PYTEST_CURRENT_TEST").split(":")[-1].split(" ")[0] # type: ignore - cassette_filepath = os.path.join("tests", "cassettes", f"{test_name}.yaml") - - if os.path.exists(cassette_filepath): - cassette_timestamp = datetime.datetime.fromtimestamp(os.stat(cassette_filepath).st_mtime) - expiration_timestamp = cassette_timestamp + datetime.timedelta(days=expiration_days) - current_timestamp = datetime.datetime.now() - - if current_timestamp > expiration_timestamp: - error_message = f"{cassette_filepath} is older than {expiration_days} days and has expired. Please re-record the cassette." # noqa - if throw_error: - raise Exception(error_message) - else: - warnings.warn(error_message) - - -@pytest.fixture(scope="session") -def vcr_config(): - """Setup the VCR config for the test suite.""" - return { - "match_on": [ - "body", - "headers", - "method", - "query", - "uri", - ], - "decode_compressed_response": True, - "filter_headers": [ - ("authorization", SCRUBBED_STRING), - ("user-agent", SCRUBBED_STRING), - ], - "filter_query_parameters": [ - "card[number]", - "card[cvc]", - ], - "before_record_response": scrub_response_bodies( - scrubbers=[ - ["client_ip", SCRUBBED_STRING], - ["credentials", SCRUBBED_DICT], - ["email", SCRUBBED_STRING], - ["fields", SCRUBBED_ARRAY], - ["key", SCRUBBED_STRING], - ["phone_number", SCRUBBED_STRING], - ["phone", SCRUBBED_STRING], - ["test_credentials", SCRUBBED_DICT], - ] - ), - } - - -def scrub_response_bodies(scrubbers: list[Tuple[str, Any]]) -> Any: - """Scrub sensitive data from response bodies prior to recording the cassette.""" - - def before_record_response(response: Any) -> Any: - """This function fires prior to persisting data to a cassette.""" - if response["body"]["string"]: - response_body = json.loads(response["body"]["string"].decode()) - - for scrubber in scrubbers: - response_body = scrub_data(response_body, scrubber) - - response["body"]["string"] = json.dumps(response_body).encode() - return response - - def scrub_data(data: Any, scrubber: Tuple[str, Any]) -> Any: - """Scrub data from a cassette recursively.""" - key = scrubber[0] - replacement = scrubber[1] - - # Root-level list scrubbing - if isinstance(data, list): - for index, item in enumerate(data): - if key in item: - data[index][key] = replacement - elif isinstance(data, dict): - # Root-level key scrubbing - if key in data: - data[key] = replacement - else: - # Nested scrubbing - for item in data: - element = data[item] - if isinstance(element, list): - for nested_index, nested_item in enumerate(element): - data[item][nested_index] = scrub_data(nested_item, scrubber) - elif isinstance(element, dict): - data[item] = scrub_data(element, scrubber) - return data - - return before_record_response - - -@pytest.fixture -def synchronous_sleep_seconds(): - """Use this fixture for sleeping between API calls where synchronous flows happen.""" - return 5 - - -@pytest.fixture -def test_client(): - """If a test needs to use the EasyPost test mode, make it depend on this fixture.""" - return EasyPostClient(EASYPOST_TEST_API_KEY) - - -@pytest.fixture -def prod_client(): - """If a test needs to use the EasyPost prod mode, make it depend on this fixture.""" - return EasyPostClient(EASYPOST_PROD_API_KEY) - - -@pytest.fixture -def partner_user_prod_client(): - """If a test needs to use prod mode with a partner user's API key, make it depend on this fixture.""" - return EasyPostClient(PARTNER_USER_PROD_API_KEY) - - -@pytest.fixture -def referral_customer_prod_client(): - """If a test needs to use prod mode with a referral customer API key, make it depend on this fixture.""" - return EasyPostClient(REFERRAL_CUSTOMER_PROD_API_KEY) - - -def read_fixture_data(): - """Reads fixture data from the fixtures JSON file.""" - with open(os.path.join("examples", "official", "fixtures", "client-library-fixtures.json")) as data: - fixtures = json.load(data) - - return fixtures - - -@pytest.fixture -def page_size(): - """We keep the page_size of retrieving `all` records small so cassettes stay small.""" - return read_fixture_data()["page_sizes"]["five_results"] - - -@pytest.fixture -def usps_carrier_account_id(): - """This is the USPS carrier account ID that comes with your - EasyPost account by default and should be used for all tests. - """ - # Fallback to the EasyPost Python Client Library Test User USPS carrier account ID due to strict matching - return os.getenv("USPS_CARRIER_ACCOUNT_ID", "ca_b25657e9896e4d63ac8151ac346ac41e") - - -@pytest.fixture -def usps(): - return read_fixture_data()["carrier_strings"]["usps"] - - -@pytest.fixture -def usps_service(): - return read_fixture_data()["service_names"]["usps"]["first_service"] - - -@pytest.fixture -def pickup_service(): - return read_fixture_data()["service_names"]["usps"]["pickup_service"] - - -@pytest.fixture -def report_type(): - return read_fixture_data()["report_types"]["shipment"] - - -@pytest.fixture -def report_date(): - return "2022-05-04" - - -@pytest.fixture -def ca_address_1(): - return read_fixture_data()["addresses"]["ca_address_1"] - - -@pytest.fixture -def ca_address_2(): - return read_fixture_data()["addresses"]["ca_address_2"] - - -@pytest.fixture -def incorrect_address(): - return read_fixture_data()["addresses"]["incorrect"] - - -@pytest.fixture -def basic_parcel(): - return read_fixture_data()["parcels"]["basic"] - - -@pytest.fixture -def basic_customs_item(): - return read_fixture_data()["customs_items"]["basic"] - - -@pytest.fixture -def basic_customs_info(): - return read_fixture_data()["customs_infos"]["basic"] - - -@pytest.fixture -def tax_identifier(): - return read_fixture_data()["tax_identifiers"]["basic"] - - -@pytest.fixture -def basic_shipment(): - return read_fixture_data()["shipments"]["basic_domestic"] - - -@pytest.fixture -def full_shipment(): - return read_fixture_data()["shipments"]["full"] - - -@pytest.fixture -def one_call_buy_shipment( - ca_address_1, - ca_address_2, - basic_parcel, - usps_service, - usps_carrier_account_id, - usps, -): - return { - "to_address": ca_address_1, - "from_address": ca_address_2, - "parcel": basic_parcel, - "service": usps_service, - "carrier_accounts": [usps_carrier_account_id], - "carrier": usps, - } - - -@pytest.fixture -def basic_pickup(): - """This fixture will require you to add a `shipment` key with a Shipment object from a test. - If you need to re-record cassettes, increment the date below and ensure it is one day in the future, - USPS only does "next-day" pickups including Saturday but not Sunday or Holidays. - """ - pickup_date = "2025-03-08" - - pickup_data = read_fixture_data()["pickups"]["basic"] - pickup_data["min_datetime"] = pickup_date - pickup_data["max_datetime"] = pickup_date - - return pickup_data - - -@pytest.fixture -def basic_carrier_account(): - return read_fixture_data()["carrier_accounts"]["basic"] - - -@pytest.fixture -def basic_insurance(): - """This fixture will require you to append a `tracking_code` key with the shipment's tracking code.""" - return read_fixture_data()["insurances"]["basic"] - - -@pytest.fixture -def basic_claim(): - """This fixture will require you to append a `tracking_code` key with the shipment's tracking code, - and a `amount` key with the insurance amount.""" - return read_fixture_data()["claims"]["basic"] - - -@pytest.fixture -def basic_order(): - return read_fixture_data()["orders"]["basic"] - - -@pytest.fixture -def event_json(): - with open(os.path.join("examples", "official", "fixtures", "event-body.json")) as data: - event_body = json.load(data) - - return json.dumps(event_body) - - -@pytest.fixture -def event_bytes(): - with open(os.path.join("examples", "official", "fixtures", "event-body.json")) as data: - event_body = json.load(data) - - return json.dumps(event_body, separators=(",", ":")).encode() - - -@pytest.fixture -def webhook_hmac_signature(): - return read_fixture_data()["webhooks"]["hmac_signature"] - - -@pytest.fixture -def webhook_secret(): - return read_fixture_data()["webhooks"]["secret"] - - -@pytest.fixture -def webhook_url(): - return read_fixture_data()["webhooks"]["url"] - - -@pytest.fixture -def webhook_custom_headers(): - return read_fixture_data()["webhooks"]["custom_headers"] - - -@pytest.fixture -def credit_card_details(): - """The credit card details below are for a valid proxy card usable - for tests only and cannot be used for real transactions. - - DO NOT alter these details with real credit card information. - """ - return read_fixture_data()["credit_cards"]["test"] - - -@pytest.fixture -def rma_form_options(): - return read_fixture_data()["form_options"]["rma"] - - -@pytest.fixture -def planned_ship_date(): - return "2025-03-08" - - -@pytest.fixture -def desired_delivery_date(): - return "2025-03-08" - - -@pytest.fixture -def billing(): - return read_fixture_data()["billing"] - - -@pytest.fixture -def luma_ruleset_name(): - return read_fixture_data()["luma"]["ruleset_name"] - - -@pytest.fixture -def luma_planned_ship_date(): - return "2025-06-12" - - -@pytest.fixture -def referral_user(): - return read_fixture_data()["users"]["referral"] diff --git a/tests/test_address.py b/tests/test_address.py deleted file mode 100644 index ff2a71ac..00000000 --- a/tests/test_address.py +++ /dev/null @@ -1,183 +0,0 @@ -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.errors import ApiError -from easypost.models import Address - - -@pytest.mark.vcr() -def test_address_create(ca_address_1, test_client): - address = test_client.address.create(**ca_address_1) - - assert isinstance(address, Address) - assert str.startswith(address.id, "adr_") - assert address.street1 == "388 Townsend St" - - -@pytest.mark.vcr() -def test_address_create_verify(incorrect_address, test_client): - """ - Test creating an address with the `verify` param. - """ - # Creating normally (without specifying "verify") will make the address and perform no verifications - address = test_client.address.create(**incorrect_address) - - assert isinstance(address, Address) - assert hasattr(address.verifications, "delivery") is False - - # Creating with verify would make the address and perform verifications - incorrect_address["verify"] = True - address = test_client.address.create(**incorrect_address) - - assert isinstance(address, Address) - - # Delivery verification assertions - assert address.verifications.delivery.success is False - assert address.verifications.delivery.details.to_dict() == {} - assert address.verifications.delivery.errors[0].code == "E.ADDRESS.NOT_FOUND" - assert address.verifications.delivery.errors[0].field == "address" - assert address.verifications.delivery.errors[0].suggestion is None - assert address.verifications.delivery.errors[0].message == "Address not found" - - # Zip4 verification assertions - assert address.verifications.zip4.success is False - assert address.verifications.zip4.details is None - assert address.verifications.zip4.errors[0].code == "E.ADDRESS.NOT_FOUND" - assert address.verifications.zip4.errors[0].field == "address" - assert address.verifications.zip4.errors[0].suggestion is None - assert address.verifications.zip4.errors[0].message == "Address not found" - - -@pytest.mark.vcr() -def test_address_create_verify_strict(ca_address_1, test_client): - """Test creating an address with the `verify_strict` param. - - We purposefully pass in slightly incorrect data to get the corrected address back once verified. - """ - address_data = ca_address_1 - address_data["verify_strict"] = True - - address = test_client.address.create(**address_data) - - assert isinstance(address, Address) - assert str.startswith(address.id, "adr_") - assert address.street1 == "388 TOWNSEND ST APT 20" - - -@pytest.mark.vcr() -def test_address_create_verify_array(incorrect_address, test_client): - """ - Test creating an address with the `verify` param as an array. - """ - # Creating normally (without specifying "verify") will make the address, perform no verifications - address = test_client.address.create(**incorrect_address) - - assert isinstance(address, Address) - assert hasattr(address.verifications, "delivery") is False - - # Creating with verify would make the address and perform verifications - incorrect_address["verify"] = [True] - address = test_client.address.create(**incorrect_address) - - assert isinstance(address, Address) - assert address.verifications.delivery.success is False - - -@pytest.mark.vcr() -def test_address_create_and_verify(ca_address_1, test_client): - address = test_client.address.create_and_verify(**ca_address_1) - - assert isinstance(address, Address) - assert str.startswith(address.id, "adr_") - assert address.street1 == "388 TOWNSEND ST APT 20" - - -@pytest.mark.vcr() -def test_address_retrieve(ca_address_1, test_client): - address = test_client.address.create(**ca_address_1) - - retrieved_address = test_client.address.retrieve(address.id) - - assert isinstance(retrieved_address, Address) - assert retrieved_address == address - - -@pytest.mark.vcr() -def test_address_all(page_size, test_client): - addresses = test_client.address.all(page_size=page_size) - - addresses_array = addresses["addresses"] - - assert len(addresses_array) <= page_size - assert addresses["has_more"] is not None - assert all(isinstance(address, Address) for address in addresses_array) - - -@pytest.mark.vcr() -def test_address_get_next_page(page_size, test_client): - try: - first_page = test_client.address.all(page_size=page_size) - next_page = test_client.address.get_next_page(addresses=first_page, page_size=page_size) - - first_id_of_first_page = first_page["addresses"][0].id - first_id_of_second_page = next_page["addresses"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) - - -@pytest.mark.vcr() -def test_address_verify(ca_address_1, test_client): - """Test verifying an already created address.""" - address = test_client.address.create(**ca_address_1) - test_client.address.verify(address.id) - - assert isinstance(address, Address) - assert str.startswith(address.id, "adr_") - assert address.street1 == "388 Townsend St" - - -@pytest.mark.vcr() -def test_address_verify_invalid_address(test_client): - """Test verifying an already created address.""" - with pytest.raises(ApiError) as error: - address = test_client.address.create( - street1="invalid", - ) - test_client.address.verify(address.id) - - assert str(error.value) == "Unable to verify address." - - -@pytest.mark.vcr() -def test_address_create_verify_carrier(incorrect_address, test_client): - """Test creating an address with the `verify_carrier` param.""" - incorrect_address["verify"] = True - incorrect_address["verify_carrier"] = "UPS" - address = test_client.address.create(**incorrect_address) - - assert isinstance(address, Address) - - assert address.verifications.delivery.errors[0].message == "Address not found" - assert address.verifications.zip4.errors[0].message == "Address not found" - - -@pytest.mark.vcr() -def test_address_create_and_verify_carrier(incorrect_address, test_client): - """Test creating and verifying an address with the `verify_carrier` param.""" - incorrect_address["verify_carrier"] = "UPS" - address = test_client.address.create_and_verify(**incorrect_address) - - assert isinstance(address, Address) - - assert address.verifications.delivery.errors[0].message == "Address not found" - assert address.verifications.zip4.errors[0].message == "Address not found" diff --git a/tests/test_api_key.py b/tests/test_api_key.py deleted file mode 100644 index 8817e6d2..00000000 --- a/tests/test_api_key.py +++ /dev/null @@ -1,61 +0,0 @@ -import os - -import pytest - -from easypost import EasyPostClient -from easypost.models import ApiKey - - -@pytest.mark.vcr() -def test_api_key_retrieve_authenticated_user(prod_client): - """Tests that we can retrieve the authenticated user's API keys.""" - user = prod_client.user.retrieve_me() - api_keys = prod_client.api_keys.retrieve_api_keys_for_user(user.id) - - assert all(isinstance(key, ApiKey) for key in api_keys) - - -@pytest.mark.vcr() -def test_api_key_retrieve_child_user(prod_client): - """Tests that we can retrieve a child user's API keys as the parent.""" - user = prod_client.user.create(name="Test User") - child_user = prod_client.user.retrieve(user.id) - - api_keys = prod_client.api_keys.retrieve_api_keys_for_user(child_user.id) - - assert all(isinstance(key, ApiKey) for key in api_keys) - - # Delete the user so we don't clutter up the test environment - prod_client.user.delete(child_user.id) - - -@pytest.mark.vcr() -def test_api_key_all(prod_client): - """Tests that we can retrieve all API keys.""" - api_keys = prod_client.api_keys.all() - - assert all(isinstance(key, ApiKey) for key in api_keys.keys) - for child in api_keys.children: - assert all(isinstance(key, ApiKey) for key in child["keys"]) - - -@pytest.mark.vcr() -def test_api_key_lifecycle(): - """Tests creating an API key for a child user.""" - # Create an API key - referral_client = EasyPostClient(os.getenv("REFERRAL_CUSTOMER_PROD_API_KEY")) - api_key = referral_client.api_keys.create("production") - assert isinstance(api_key, ApiKey) - assert api_key.id.startswith("ak_") - assert api_key.mode == "production" - - # Disable the API key - api_key = referral_client.api_keys.disable(api_key.id) - assert api_key.active is False - - # Enable the API key - api_key = referral_client.api_keys.enable(api_key.id) - assert api_key.active is True - - # Delete the API key - referral_client.api_keys.delete(api_key.id) diff --git a/tests/test_base_service.py b/tests/test_base_service.py deleted file mode 100644 index 766ba73a..00000000 --- a/tests/test_base_service.py +++ /dev/null @@ -1,70 +0,0 @@ -from unittest.mock import patch - -import pytest - -from easypost.constant import NO_MORE_PAGES_ERROR -from easypost.errors import EndOfPaginationError - - -@pytest.mark.vcr() # Cassette not needed due to mocking, but used to avoid making real bogus API calls -def test_get_next_page_collects_all_pages(test_client): - page_size = 1 # Doesn't matter what this is, we're mocking the response - all_results = [] - - # Using scanforms as an example, but this should work for any service since it's a base class method - first_page_response = { - "scan_forms": [ - { - "id": "sf_123", - } - ], - "has_more": True, - } - - # Mock the initial "get all scanforms" call - with patch("easypost.requestor.Requestor.request", return_value=first_page_response): - first_page = test_client.scan_form.all(page_size=page_size) - all_results += first_page["scan_forms"] - previous_page = first_page - - second_page_response = { - "scan_forms": [ - { - "id": "sf_456", - } - ], - "has_more": True, - } - - # Mock the first "get next page" call with more to collect after - # (current page "has_more" = True, next page "has_more" = True) - with patch("easypost.requestor.Requestor.request", return_value=second_page_response): - next_page = test_client.scan_form.get_next_page(scan_forms=previous_page, page_size=page_size) # type: ignore - all_results += next_page["scan_forms"] - previous_page = next_page - - third_page_response = { - "scan_forms": [ - { - "id": "sf_789", - } - ], - "has_more": False, - } - - # Mock the second "get next page" call with no more to collect - # (current page "has_more" = True, next page "has_more" = False) - with patch("easypost.requestor.Requestor.request", return_value=third_page_response): - next_page = test_client.scan_form.get_next_page(scan_forms=previous_page, page_size=page_size) # type: ignore - all_results += next_page["scan_forms"] - previous_page = next_page - - # Verify we have all scan_forms (from the initial "get all scanforms" and two subsequent "get next page" calls) - # Ensures that no guard clauses inside the "get next page" method are preventing us from collecting all scanforms - assert len(all_results) == 3 - - # Now that the previous page has "has_more" = False, it should throw an error before even making the API call - with pytest.raises(EndOfPaginationError) as error: - _ = test_client.scan_form.get_next_page(scan_forms=previous_page, page_size=page_size) # type: ignore - - assert error.value.message == NO_MORE_PAGES_ERROR diff --git a/tests/test_batch.py b/tests/test_batch.py deleted file mode 100644 index 9e7ddee2..00000000 --- a/tests/test_batch.py +++ /dev/null @@ -1,112 +0,0 @@ -import inspect -import os -import time - -import pytest - -from easypost.models import Batch - - -@pytest.mark.vcr() -def test_batch_create(one_call_buy_shipment, test_client): - batch = test_client.batch.create(shipments=[one_call_buy_shipment]) - - assert isinstance(batch, Batch) - assert str.startswith(batch.id, "batch_") - assert batch.shipments is not None - - -@pytest.mark.vcr() -def test_batch_retrieve(one_call_buy_shipment, test_client): - batch = test_client.batch.create(shipments=[one_call_buy_shipment]) - - retrieved_batch = test_client.batch.retrieve(batch.id) - - assert isinstance(batch, Batch) - # status changes between creation and retrieval, so we can't compare the whole object - assert retrieved_batch.id == batch.id - - -@pytest.mark.vcr() -def test_batch_all(page_size, test_client): - batches = test_client.batch.all(page_size=page_size) - - batches_array = batches["batches"] - - assert len(batches_array) <= page_size - assert batches["has_more"] is not None - assert all(isinstance(batch, Batch) for batch in batches_array) - - -@pytest.mark.vcr() -def test_batch_buy(one_call_buy_shipment, test_client, synchronous_sleep_seconds): - function_name = inspect.stack()[0][3] - shipment_data = one_call_buy_shipment - - batch = test_client.batch.create(shipments=[shipment_data]) - - if not os.path.exists(os.path.join("tests", "cassettes", f"{function_name}.yaml")): - time.sleep(synchronous_sleep_seconds) # Wait enough time for the batch to process before moving on - - bought_batch = test_client.batch.buy(batch.id) - - assert isinstance(bought_batch, Batch) - assert bought_batch.num_shipments == 1 - - -@pytest.mark.vcr() -def test_batch_create_scanform(one_call_buy_shipment, test_client, synchronous_sleep_seconds): - function_name = inspect.stack()[0][3] - shipment_data = one_call_buy_shipment - - batch = test_client.batch.create(shipments=[shipment_data]) - - if not os.path.exists(os.path.join("tests", "cassettes", f"{function_name}.yaml")): - time.sleep(synchronous_sleep_seconds) # Wait enough time for the batch to process before moving on - - bought_batch = test_client.batch.buy(batch.id) - - if not os.path.exists(os.path.join("tests", "cassettes", f"{function_name}.yaml")): - time.sleep(synchronous_sleep_seconds) # Wait enough time for the batch to process before moving on - - batch_with_scanform = test_client.batch.create_scan_form(bought_batch.id) - - # We can't assert anything meaningful here because the scanform gets queued - # for generation and may not be immediately available - assert isinstance(batch_with_scanform, Batch) - - -@pytest.mark.vcr() -def test_batch_add_remove_shipment(one_call_buy_shipment, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - - batch = test_client.batch.create() - - batch_with_shipments = test_client.batch.add_shipments(batch.id, shipments=[shipment]) - - assert batch_with_shipments.num_shipments == 1 - - batch_without_shipments = test_client.batch.remove_shipments(batch_with_shipments.id, shipments=[shipment]) - - assert batch_without_shipments.num_shipments == 0 - - -@pytest.mark.vcr() -def test_batch_label(one_call_buy_shipment, test_client, synchronous_sleep_seconds): - function_name = inspect.stack()[0][3] - - batch = test_client.batch.create(shipments=[one_call_buy_shipment]) - - if not os.path.exists(os.path.join("tests", "cassettes", f"{function_name}.yaml")): - time.sleep(synchronous_sleep_seconds) # Wait enough time for the batch to process before moving on - - bought_batch = test_client.batch.buy(batch.id) - - if not os.path.exists(os.path.join("tests", "cassettes", f"{function_name}.yaml")): - time.sleep(synchronous_sleep_seconds) # Wait enough time for the batch to process before moving on - - batch_with_label = test_client.batch.label(bought_batch.id, file_format="ZPL") - - # We can't assert anything meaningful here because the label gets queued - # for generation and may not be immediately available - assert isinstance(batch_with_label, Batch) diff --git a/tests/test_beta_rate.py b/tests/test_beta_rate.py deleted file mode 100644 index 6d1e579d..00000000 --- a/tests/test_beta_rate.py +++ /dev/null @@ -1,21 +0,0 @@ -import pytest - -from easypost.util import get_lowest_stateless_rate - - -@pytest.mark.vcr() -def test_beta_retrieve_stateless_rates(basic_shipment, test_client): - """Tests that we can retrieve stateless rates when basic shipment data.""" - stateless_rates = test_client.beta_rate.retrieve_stateless_rates(**basic_shipment) - - assert all(rate["object"] == "Rate" for rate in stateless_rates) - - -@pytest.mark.vcr() -def test_beta_get_lowest_stateless_rate(basic_shipment, test_client): - """Tests that we can return the lowest stateless rate from a list of stateless rates.""" - stateless_rates = test_client.beta_rate.retrieve_stateless_rates(**basic_shipment) - - lowest_stateless_rate = get_lowest_stateless_rate(stateless_rates) - - assert lowest_stateless_rate["service"] == "GroundAdvantage" diff --git a/tests/test_beta_referral_customer.py b/tests/test_beta_referral_customer.py deleted file mode 100644 index 4860ddf8..00000000 --- a/tests/test_beta_referral_customer.py +++ /dev/null @@ -1,59 +0,0 @@ -import pytest - -from easypost.errors.api.api_error import ApiError - - -@pytest.mark.vcr() -def test_beta_referral_customer_add_payment_method(referral_customer_prod_client, billing): - """This test requires a referral customer's production API key via REFERRAL_CUSTOMER_PROD_API_KEY. - - We expect this test to fail because we don't have valid Stripe details to use. Assert the correct error. - """ - with pytest.raises(ApiError) as error: - referral_customer_prod_client.beta_referral_customer.add_payment_method( - stripe_customer_id="cus_123", - payment_method_reference="ba_123", - priority=billing["priority"], - ) - - assert str(error.value) == "Invalid connect integration." - - -@pytest.mark.vcr() -def test_beta_referral_customer_refund_by_amount(referral_customer_prod_client): - """This test requires a referral customer's production API key via REFERRAL_CUSTOMER_PROD_API_KEY. - - We expect this test to fail because we don't have valid billing details to use. Assert the correct error. - """ - with pytest.raises(ApiError) as error: - referral_customer_prod_client.beta_referral_customer.refund_by_amount(refund_amount=2000) - - assert str(error.value) == "Refund amount is invalid. Please use a valid amount or escalate to finance." - - -@pytest.mark.vcr() -def test_beta_referral_customer_refund_by_payment_log(referral_customer_prod_client): - """This test requires a referral customer's production API key via REFERRAL_CUSTOMER_PROD_API_KEY. - - We expect this test to fail because we don't have valid billing details to use. Assert the correct error. - """ - with pytest.raises(ApiError) as error: - referral_customer_prod_client.beta_referral_customer.refund_by_payment_log(payment_log_id="paylog_123") - - assert str(error.value) == "We could not find a transaction with that id." - - -@pytest.mark.vcr() -def test_beta_referral_customer_create_credit_card_client_secret(referral_customer_prod_client): - """This test requires a referral customer's production API key via REFERRAL_CUSTOMER_PROD_API_KEY.""" - response = referral_customer_prod_client.beta_referral_customer.create_credit_card_client_secret() - - assert str.startswith(response.client_secret, "seti_") - - -@pytest.mark.vcr() -def test_beta_referral_customer_create_bank_account_client_secret(referral_customer_prod_client): - """This test requires a referral customer's production API key via REFERRAL_CUSTOMER_PROD_API_KEY.""" - response = referral_customer_prod_client.beta_referral_customer.create_bank_account_client_secret() - - assert str.startswith(response.client_secret, "fcsess_client_secret_") diff --git a/tests/test_billing.py b/tests/test_billing.py deleted file mode 100644 index 320dbb4b..00000000 --- a/tests/test_billing.py +++ /dev/null @@ -1,133 +0,0 @@ -from unittest.mock import patch - -import pytest - -import easypost -from easypost.errors import InvalidObjectError - - -@patch( - "easypost.services.billing_service.BillingService._get_payment_method_info", - return_value=["/endpoint", "card_123"], -) -@patch( - "easypost.services.billing_service.Requestor.request", - return_value={"mock": "response"}, -) -def test_billing_fund_wallet(mock_request, mock_get_payment_info, prod_client, billing): - prod_client.billing.fund_wallet(amount="2000", priority=billing["priority"]) - - mock_request.assert_called_once_with( - method=easypost.requestor.RequestMethod.POST, - url="/endpoint/card_123/charges", - params={"amount": "2000"}, - ) - - -@patch( - "easypost.services.billing_service.BillingService.retrieve_payment_methods", - return_value={"primary_payment_method": {"id": "pm_123", "object": "CreditCard"}}, -) -@patch( - "easypost.services.billing_service.Requestor.request", - return_value={"mock": "response"}, -) -def test_billing_payment_method_delete_credit_card(mock_request, mock_payment_methods, prod_client, billing): - """Tests we make a valid call to delete a credit card.""" - prod_client.billing.delete_payment_method(priority=billing["priority"]) - - mock_request.assert_called_once_with(method=easypost.requestor.RequestMethod.DELETE, url="/credit_cards/pm_123") - - -@patch( - "easypost.services.billing_service.BillingService.retrieve_payment_methods", - return_value={"primary_payment_method": {"id": "pm_123", "object": "BankAccount"}}, -) -@patch( - "easypost.services.billing_service.Requestor.request", - return_value={"mock": "response"}, -) -def test_billing_payment_method_delete_bank_account(mock_request, mock_payment_methods, prod_client, billing): - """Tests we make a valid call to delete a bank account.""" - prod_client.billing.delete_payment_method( - priority=billing["priority"], - ) - - mock_request.assert_called_once_with(method=easypost.requestor.RequestMethod.DELETE, url="/bank_accounts/pm_123") - - -@patch( - "easypost.services.billing_service.BillingService.retrieve_payment_methods", - return_value={"primary_payment_method": {"id": "bad_id"}}, -) -@patch( - "easypost.services.billing_service.Requestor.request", - return_value={"mock": "response"}, -) -def test_billing_payment_method_delete_invalid(mock_request, mock_payment_methods, prod_client, billing): - """Tests we raise an error when we receive an invalid payment method""" - with pytest.raises(InvalidObjectError): - _ = prod_client.billing.delete_payment_method( - priority=billing["priority"], - ) - - -@patch( - "easypost.services.billing_service.BillingService.retrieve_payment_methods", - return_value={"primary_payment_methods": {"id": "bad_id"}}, -) -@patch( - "easypost.services.billing_service.Requestor.request", - return_value={"mock": "response"}, -) -def test_billing_payment_method_delete_bad_request(mock_request, mock_payment_methods, prod_client): - """Tests we raise an error when we cannot retrieve a payment method.""" - with pytest.raises(InvalidObjectError): - _ = prod_client.billing.delete_payment_method(priority="tertiary") - - -@patch( - "easypost.services.billing_service.Requestor.request", - return_value={"id": "card_123"}, -) -def test_billing_retrieve_payment_methods(mock_request, prod_client): - """Tests that we throw an error when we cannot retrieve payment methods due to no billing being setup.""" - response = prod_client.billing.retrieve_payment_methods() - - mock_request.assert_called_once_with(method=easypost.requestor.RequestMethod.GET, url="/payment_methods", params={}) - assert isinstance(response, easypost.easypost_object.EasyPostObject) - - -@patch( - "easypost.services.billing_service.Requestor.request", - return_value={"mock": "response"}, -) -def test_billing_retrieve_payment_methods_no_billing_setup(mock_request, prod_client): - """Tests that we throw an error when we cannot retrieve payment methods due to no billing being setup.""" - with pytest.raises(InvalidObjectError) as error: - _ = prod_client.billing.retrieve_payment_methods() - - mock_request.assert_called_once() - assert str(error.value) == "Billing has not been setup for this user. Please add a payment method." - - -@patch( - "easypost.services.billing_service.BillingService.retrieve_payment_methods", - return_value={ - "primary_payment_method": {"id": "pm_123", "object": "CreditCard"}, - "secondary_payment_method": {"id": "pm_456", "object": "BankAccount"}, - }, -) -def test_billing_get_payment_method_info_by_object_type(mock_request, prod_client, billing): - """Tests we can determine the payment method type/endpoint by object type.""" - endpoint, payment_method_id = prod_client.billing._get_payment_method_info( - priority=billing["priority"], - ) - - assert endpoint == "/credit_cards" - assert payment_method_id == "pm_123" - - endpoint, payment_method_id = prod_client.billing._get_payment_method_info(priority="secondary") - - assert endpoint == "/bank_accounts" - assert payment_method_id == "pm_456" diff --git a/tests/test_carrier_account.py b/tests/test_carrier_account.py deleted file mode 100644 index a708c665..00000000 --- a/tests/test_carrier_account.py +++ /dev/null @@ -1,139 +0,0 @@ -import pytest - -from easypost.constant import _CARRIER_ACCOUNT_CREATE_ENDPOINT_TYPES -from easypost.errors.api.api_error import ApiError -from easypost.models import CarrierAccount -from easypost.requestor import Requestor - - -@pytest.fixture -def vcr_cassette_name(request): - return request.node.name.replace("[", "_").replace("]", "") - - -def _flatten_custom_carrier_route_mapping(): - return [ - (carrier_account_type, endpoint) - for endpoint, carrier_account_types in _CARRIER_ACCOUNT_CREATE_ENDPOINT_TYPES.items() - for carrier_account_type in carrier_account_types - ] - - -def _carrier_create_payload_for_endpoint(endpoint: str) -> dict: - if endpoint in ("/carrier_accounts/open", "/carrier_accounts/register"): - return {"registration_data": {}} - - return {} - - -@pytest.mark.vcr() -def test_carrier_account_create(prod_client, basic_carrier_account): - carrier_account = prod_client.carrier_account.create(**basic_carrier_account) - - assert isinstance(carrier_account, CarrierAccount) - assert str.startswith(carrier_account.id, "ca_") - assert carrier_account.type == "DhlEcsAccount" - - prod_client.carrier_account.delete(carrier_account.id) # Delete the carrier account once it's done being tested. - - -@pytest.mark.vcr() -def test_carrier_account_retrieve(prod_client, basic_carrier_account): - carrier_account = prod_client.carrier_account.create(**basic_carrier_account) - - retrieved_carrier_account = prod_client.carrier_account.retrieve(carrier_account.id) - - assert isinstance(retrieved_carrier_account, CarrierAccount) - # status changes between creation and retrieval, so we can't compare the whole object - assert carrier_account.id == retrieved_carrier_account.id - - prod_client.carrier_account.delete( - retrieved_carrier_account.id - ) # Delete the carrier account once it's done being tested. - - -@pytest.mark.vcr() -def test_carrier_account_all(prod_client, page_size): - carrier_accounts = prod_client.carrier_account.all(page_size=page_size) - - assert all(isinstance(carrier_account, CarrierAccount) for carrier_account in carrier_accounts) - - -@pytest.mark.vcr() -def test_carrier_account_update(prod_client, basic_carrier_account): - carrier_account = prod_client.carrier_account.create(**basic_carrier_account) - - test_description = "My custom description" - - updated_carrier_account = prod_client.carrier_account.update( - carrier_account.id, - description=test_description, - ) - - assert isinstance(updated_carrier_account, CarrierAccount) - assert str.startswith(updated_carrier_account.id, "ca_") - assert updated_carrier_account.description == test_description - - prod_client.carrier_account.delete( - updated_carrier_account.id - ) # Delete the carrier account once it's done being tested. - - -@pytest.mark.vcr() -def test_carrier_account_delete(prod_client, basic_carrier_account): - carrier_account = prod_client.carrier_account.create(**basic_carrier_account) - - try: - prod_client.carrier_account.delete(carrier_account.id) - except Exception: - assert False - - -@pytest.mark.vcr() -def test_carrier_account_type(prod_client): - types = prod_client.carrier_account.types() - - assert isinstance(types, list) - - -@pytest.mark.vcr() -@pytest.mark.parametrize( - "carrier_account_type,expected_endpoint,params", - [ - pytest.param( - carrier_account_type, - endpoint, - _carrier_create_payload_for_endpoint(endpoint), - id=carrier_account_type, - ) - for carrier_account_type, endpoint in _flatten_custom_carrier_route_mapping() - ], -) -def test_carrier_account_create_url_routing(prod_client, monkeypatch, carrier_account_type, expected_endpoint, params): - payload = {"type": carrier_account_type, **params} - captured_request = {} - - original_request = Requestor.request - - def spy_request(self, method, url, params=None, *args, **kwargs): - if "url" not in captured_request and url.startswith("/carrier_accounts"): - captured_request["url"] = url - captured_request["params"] = params - return original_request(self, method, url, params, *args, **kwargs) - - monkeypatch.setattr(Requestor, "request", spy_request) - - try: - carrier_account = prod_client.carrier_account.create(**payload) - except ApiError as error: - assert error.http_status not in (404, 500) - else: - assert isinstance(carrier_account, CarrierAccount) - assert str.startswith(carrier_account.id, "ca_") - prod_client.carrier_account.delete(carrier_account.id) - - assert captured_request["url"] == expected_endpoint - if expected_endpoint == "/carrier_accounts/register_oauth": - assert "carrier_account_oauth_registrations" in captured_request["params"] - else: - assert "carrier_account" in captured_request["params"] diff --git a/tests/test_carrier_metadata.py b/tests/test_carrier_metadata.py deleted file mode 100644 index 7d6a0f8d..00000000 --- a/tests/test_carrier_metadata.py +++ /dev/null @@ -1,27 +0,0 @@ -import pytest - - -@pytest.mark.vcr() -def test_retrieve_carrier_metadata(test_client): - """Tests that we can retrieve all carriers and all metadata from the API when no params are provided.""" - carrier_metadata = test_client.carrier_metadata.retrieve() - - # Assert we get multiple carriers - assert any(carrier.name == "usps" for carrier in carrier_metadata) - assert any(carrier.name == "fedex" for carrier in carrier_metadata) - - -@pytest.mark.vcr() -def test_retrieve_carrier_metadata_with_filters(test_client): - """Tests that we can retrieve metadata based on the filters provided.""" - carrier_metadata = test_client.carrier_metadata.retrieve( - carriers=["usps"], - types=["service_levels", "predefined_packages"], - ) - - # Assert we get the single carrier we asked for and only the types we asked for - assert all(carrier.name == "usps" for carrier in carrier_metadata) - assert len(carrier_metadata) == 1 - assert carrier_metadata[0]["service_levels"] - assert carrier_metadata[0]["predefined_packages"] - assert not carrier_metadata[0].get("supported_features") diff --git a/tests/test_claim.py b/tests/test_claim.py deleted file mode 100644 index 7f474901..00000000 --- a/tests/test_claim.py +++ /dev/null @@ -1,104 +0,0 @@ -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.models import ( - Claim, - Shipment, -) - - -def _prepare_insured_shipment(client, shipment_data, claim_amount) -> Shipment: - shipment = client.shipment.create(**shipment_data) - rate = shipment.lowest_rate() - purchased_shipment = client.shipment.buy(shipment.id, rate=rate) - _ = client.shipment.insure(shipment.id, amount=claim_amount) - - return purchased_shipment - - -@pytest.mark.vcr() -def test_claim_create(full_shipment, basic_claim, test_client): - claim_amount = "100.00" - - insured_shipment = _prepare_insured_shipment(test_client, full_shipment, claim_amount) - - claim_data = basic_claim - claim_data["tracking_code"] = insured_shipment.tracking_code - claim_data["amount"] = claim_amount - - claim = test_client.claim.create(**claim_data) - - assert isinstance(claim, Claim) - assert str.startswith(claim.id, "clm_") - assert claim.type == claim_data["type"] - - -@pytest.mark.vcr() -def test_claim_retrieve(full_shipment, basic_claim, test_client): - claim_amount = "100.00" - - insured_shipment = _prepare_insured_shipment(test_client, full_shipment, claim_amount) - - claim_data = basic_claim - claim_data["tracking_code"] = insured_shipment.tracking_code - claim_data["amount"] = claim_amount - - claim = test_client.claim.create(**claim_data) - - retrieved_claim = test_client.claim.retrieve(claim.id) - - assert isinstance(retrieved_claim, Claim) - # status changes between creation and retrieval, so we can't compare the whole object - assert claim.id == retrieved_claim.id - - -@pytest.mark.vcr() -def test_claim_all(page_size, test_client): - claims = test_client.claim.all(page_size=page_size) - - claim_array = claims["claims"] - - assert len(claim_array) <= page_size - assert claims["has_more"] is not None - assert all(isinstance(claim, Claim) for claim in claim_array) - - -@pytest.mark.vcr() -def test_claim_get_next_page(page_size, test_client): - try: - first_page = test_client.claim.all(page_size=page_size) - next_page = test_client.claim.get_next_page(claims=first_page, page_size=page_size) - - first_id_of_first_page = first_page["claims"][0].id - first_id_of_second_page = next_page["claims"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) - - -@pytest.mark.vcr() -def test_claim_cancel(test_client, full_shipment, basic_claim): - claim_amount = "100.00" - - insured_shipment = _prepare_insured_shipment(test_client, full_shipment, claim_amount) - - claim_data = basic_claim - claim_data["tracking_code"] = insured_shipment.tracking_code - claim_data["amount"] = claim_amount - - claim = test_client.claim.create(**claim_data) - - cancelled_claim = test_client.claim.cancel(id=claim.id) - - assert isinstance(cancelled_claim, Claim) - assert str.startswith(cancelled_claim.id, "clm_") - assert cancelled_claim.status == "cancelled" diff --git a/tests/test_customer_portal.py b/tests/test_customer_portal.py deleted file mode 100644 index 82e655b1..00000000 --- a/tests/test_customer_portal.py +++ /dev/null @@ -1,15 +0,0 @@ -import pytest - - -@pytest.mark.vcr() -def test_customer_portal_account_link_create(full_shipment, basic_claim, prod_client): - user = prod_client.user.all_children()["children"][0] - - account_link = prod_client.customer_portal.create_account_link( - session_type="account_onboarding", - user_id=user.id, - refresh_url="https://example.com/refresh", - return_url="https://example.com/return", - ) - - assert account_link.object == "CustomerPortalAccountLink" diff --git a/tests/test_customs_info.py b/tests/test_customs_info.py deleted file mode 100644 index 34a49ca3..00000000 --- a/tests/test_customs_info.py +++ /dev/null @@ -1,22 +0,0 @@ -import pytest - -from easypost.models import CustomsInfo - - -@pytest.mark.vcr() -def test_customs_info_create(basic_customs_info, test_client): - customs_info = test_client.customs_info.create(**basic_customs_info) - - assert isinstance(customs_info, CustomsInfo) - assert str.startswith(customs_info.id, "cstinfo_") - assert customs_info.eel_pfc == "NOEEI 30.37(a)" - - -@pytest.mark.vcr() -def test_customs_info_retrieve(basic_customs_info, test_client): - customs_info = test_client.customs_info.create(**basic_customs_info) - - retrieved_customs_info = test_client.customs_info.retrieve(customs_info.id) - - assert isinstance(retrieved_customs_info, CustomsInfo) - assert retrieved_customs_info == customs_info diff --git a/tests/test_customs_item.py b/tests/test_customs_item.py deleted file mode 100644 index 2427394e..00000000 --- a/tests/test_customs_item.py +++ /dev/null @@ -1,22 +0,0 @@ -import pytest - -from easypost.models import CustomsItem - - -@pytest.mark.vcr() -def test_customs_item_create(basic_customs_item, test_client): - customs_item = test_client.customs_item.create(**basic_customs_item) - - assert isinstance(customs_item, CustomsItem) - assert str.startswith(customs_item.id, "cstitem_") - assert customs_item.value == "23.25" - - -@pytest.mark.vcr() -def test_customs_item_retrieve(basic_customs_item, test_client): - customs_item = test_client.customs_item.create(**basic_customs_item) - - retrieved_customs_item = test_client.customs_item.retrieve(customs_item.id) - - assert isinstance(retrieved_customs_item, CustomsItem) - assert retrieved_customs_item == customs_item diff --git a/tests/test_easypost_client.py b/tests/test_easypost_client.py deleted file mode 100644 index 65de3f54..00000000 --- a/tests/test_easypost_client.py +++ /dev/null @@ -1,67 +0,0 @@ -import os -from unittest.mock import patch - -import pytest -import requests - -from easypost.easypost_client import EasyPostClient -from easypost.errors import TimeoutError -from easypost.requestor import RequestMethod - - -def test_easypost_client_api_key(): - """Tests setting and getting API keys from different client objects.""" - client1 = EasyPostClient(api_key="123") - assert client1.api_key == "123" - - client2 = EasyPostClient(api_key="456") - assert client2.api_key == "456" - - -def test_easypost_client_no_api_key(): - """Tests that we raise an error when no API key is passed to the client.""" - with pytest.raises(TypeError) as error: - EasyPostClient() - - assert "missing 1 required positional argument: 'api_key'" in str(error.value) - - -def test_easypost_client_invalid_client_property(): - """Tests that we throw an error when attempting to use an invalid property of a client.""" - with pytest.raises(AttributeError) as error: - EasyPostClient("123").invalid_property() - - assert str(error.value) == "'EasyPostClient' object has no attribute 'invalid_property'" - - -def test_easypost_client_api_base(): - """Tests that we can override the API base of the client object.""" - client1 = EasyPostClient(api_key="123") - assert client1.api_base == "https://api.easypost.com/v2" - - client2 = EasyPostClient(api_key="123", api_base="http://example.com") - assert client2.api_base == "http://example.com" - - -@patch("requests.Session") -def test_easypost_client_timeout(mock_session, basic_shipment): - """Tests that the timeout gets used properly in requests when set.""" - mock_session().request.side_effect = requests.exceptions.Timeout() - client = EasyPostClient(api_key=os.getenv("EASYPOST_TEST_API_KEY"), timeout=0.1) - - try: - client.shipment.create(**basic_shipment) - assert False - except TimeoutError as error: - assert error.message == "Request timed out." - - -@pytest.mark.vcr() -def test_client_make_api_call(): - """Tests that we can make an API call using the generic make_api_call method.""" - client = EasyPostClient(api_key=os.getenv("EASYPOST_TEST_API_KEY")) - - response = client.make_api_call(method=RequestMethod.GET, endpoint="/addresses", params={"page_size": 1}) - - assert len(response["addresses"]) == 1 - assert response["addresses"][0]["object"] == "Address" diff --git a/tests/test_embeddable.py b/tests/test_embeddable.py deleted file mode 100644 index 688370b6..00000000 --- a/tests/test_embeddable.py +++ /dev/null @@ -1,13 +0,0 @@ -import pytest - - -@pytest.mark.vcr() -def test_embeddable_session_create(full_shipment, basic_claim, prod_client): - user = prod_client.user.all_children()["children"][0] - - session = prod_client.embeddable.create_session( - origin_host="https://example.com", - user_id=user.id, - ) - - assert session.object == "EmbeddablesSession" diff --git a/tests/test_end_shipper.py b/tests/test_end_shipper.py deleted file mode 100644 index 8602810c..00000000 --- a/tests/test_end_shipper.py +++ /dev/null @@ -1,55 +0,0 @@ -import pytest - -from easypost.models import EndShipper - - -@pytest.mark.vcr() -def test_endshipper_create(ca_address_1, test_client): - endshipper = test_client.end_shipper.create(**ca_address_1) - - assert isinstance(endshipper, EndShipper) - assert str.startswith(endshipper.id, "es_") - assert endshipper.street1 == "388 TOWNSEND ST APT 20" - - -@pytest.mark.vcr() -def test_endshipper_retrieve(ca_address_1, test_client): - endshipper = test_client.end_shipper.create(**ca_address_1) - - retrieved_endshipper = test_client.end_shipper.retrieve(endshipper.id) - - assert isinstance(retrieved_endshipper, EndShipper) - assert endshipper.street1 == retrieved_endshipper.street1 - - -@pytest.mark.vcr() -def test_endshipper_all(page_size, test_client): - endshippers = test_client.end_shipper.all(page_size=page_size) - - endshipper_array = endshippers["end_shippers"] - - assert len(endshipper_array) <= page_size - assert all(isinstance(endshipper, EndShipper) for endshipper in endshipper_array) - - -@pytest.mark.vcr() -def test_endshipper_update(ca_address_1, test_client): - endshipper = test_client.end_shipper.create(**ca_address_1) - - updated_endshipper = test_client.end_shipper.update( - endshipper.id, - name="Captain Sparrow", - company="EasyPost", - street1="388 Townsend St", - street2="Apt 20", - city="San Francisco", - state="CA", - zip="94107", - country="US", - phone="9999999999", - email="test@example.com", - ) - - assert isinstance(updated_endshipper, EndShipper) - assert str.startswith(updated_endshipper.id, "es") - assert updated_endshipper.name == "CAPTAIN SPARROW" # Name is capitalized becasue API will autocapitalize response diff --git a/tests/test_error.py b/tests/test_error.py deleted file mode 100644 index 32c77849..00000000 --- a/tests/test_error.py +++ /dev/null @@ -1,91 +0,0 @@ -import pytest - -from easypost.errors.api.api_error import ApiError - - -@pytest.mark.vcr() -def test_error(test_client): - """Tests that we assign properties of an error correctly.""" - try: - # Create a purposefully empty shipment so we can work with the returned error - _ = test_client.shipment.create() - except ApiError as error: - assert error.http_status == 422 - assert error.code == "PARAMETER.REQUIRED" - assert error.message == "Missing required parameter." - assert error.errors[0] == {"field": "shipment", "message": "cannot be blank"} - assert ( - error.http_body - == '{"error": {"code": "PARAMETER.REQUIRED", "message": "Missing required parameter.", "errors": [{"field": "shipment", "message": "cannot be blank"}]}}' # noqa - ) - - -@pytest.mark.vcr() -def test_error_alternative_format(test_client, basic_claim): - """Tests that we assign properties of an error correctly when returned via the alternative format. - - NOTE: Claims (among other things) uses the alternative errors format. - """ - try: - claim_data = basic_claim - claim_data["tracking_code"] = "123" # Intentionally pass a bad tracking code - - test_client.claim.create(**claim_data) - except ApiError as error: - assert error.http_status == 404 - assert error.code == "NOT_FOUND" - assert error.message == "The requested resource could not be found." - assert error.errors[0] == "No eligible insurance found with provided tracking code." - assert ( - error.http_body - == '{"error": {"code": "NOT_FOUND", "errors": ["No eligible insurance found with provided tracking code."], "message": "The requested resource could not be found."}}' # noqa - ) - - -def test_error_no_json(): - """Tests if we don't have valid JSON that we don't set the JSON body of an error.""" - error = ApiError(message="", http_body="bad json") - - assert error.json_body is None - - -def test_error_list_message(): - """Tests that we concatenate error messages that are a list (they should be a string from the - API but aren't always so we protect against that here). - """ - error = ApiError(message=["Error1", "Error2"]) - - assert error.message == "Error1, Error2" - - -def test_error_dict_message(): - """Tests that we concatenate error messages that are a dict. - - Error messages from the API should be a string but aren't always, we protect against that here. - """ - message_data = {"errors": ["Bad format 1", "Bad format 2"]} - - error = ApiError(message=message_data) - - assert error.message == "Bad format 1, Bad format 2" - - -def test_error_bad_format_message(): - """Tests that we concatenate error messages that has an invalid format. - - Error messages from the API should be a string but aren't always, we protect against that here. - """ - message_data = { - "errors": ["Bad format 1", "Bad format 2"], - "bad_data": [ - { - "first_message": "Bad format 3", - "second_message": "Bad format 4", - "thrid_message": "Bad format 5", - } - ], - } - - error = ApiError(message=message_data) - - assert error.message == "Bad format 1, Bad format 2, Bad format 3, Bad format 4, Bad format 5" diff --git a/tests/test_event.py b/tests/test_event.py deleted file mode 100644 index d7f5eebb..00000000 --- a/tests/test_event.py +++ /dev/null @@ -1,110 +0,0 @@ -import inspect -import os -import time - -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.errors import ApiError -from easypost.models import ( - Event, - Payload, -) -from easypost.util import receive_event - - -@pytest.mark.vcr() -def test_event_all(page_size, test_client): - events = test_client.event.all(page_size=page_size) - - events_array = events["events"] - - assert len(events_array) <= page_size - assert events["has_more"] is not None - assert all(isinstance(event, Event) for event in events_array) - - -@pytest.mark.vcr() -def test_event_get_next_page(page_size, test_client): - try: - first_page = test_client.event.all(page_size=page_size) - next_page = test_client.event.get_next_page(events=first_page, page_size=page_size) - - first_id_of_first_page = first_page["events"][0].id - first_id_of_second_page = next_page["events"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) - - -@pytest.mark.vcr() -def test_event_retrieve(page_size, test_client): - events = test_client.event.all(page_size=page_size) - - event = events["events"][0] - - assert isinstance(event, Event) - assert str.startswith(event.id, "evt_") - - -@pytest.mark.vcr() -def test_event_retrieve_all_payloads( - page_size, webhook_url, one_call_buy_shipment, synchronous_sleep_seconds, test_client -): - function_name = inspect.stack()[0][3] - webhook = test_client.webhook.create(url=webhook_url) - - test_client.batch.create(shipments=[one_call_buy_shipment]) - - if not os.path.exists(os.path.join("tests", "cassettes", f"{function_name}.yaml")): - time.sleep(synchronous_sleep_seconds) # Wait enough time for the batch to process before getting events - - events = test_client.event.all(page_size=page_size) - payloads = test_client.event.retrieve_all_payloads(events["events"][0]["id"]) - - # Payloads may not be populated due to the webhook delivery system being on a queue - assert all(isinstance(payload, Payload) for payload in payloads["payloads"]) - - test_client.webhook.delete( - webhook.id - ) # we are deleting the webhook here so we don't keep sending events to a dead webhook. - - -@pytest.mark.vcr() -def test_event_retrieve_payload(page_size, webhook_url, one_call_buy_shipment, synchronous_sleep_seconds, test_client): - function_name = inspect.stack()[0][3] - webhook = test_client.webhook.create(url=webhook_url) - - test_client.batch.create(shipments=[one_call_buy_shipment]) - - if not os.path.exists(os.path.join("tests", "cassettes", f"{function_name}.yaml")): - time.sleep(synchronous_sleep_seconds) # Wait enough time for the batch to process before getting events - - events = test_client.event.all(page_size=page_size) - - try: - # Need a valid-length, invalid payload ID here - test_client.event.retrieve_payload(events["events"][0]["id"], "payload_11111111111111111111111111111111") - except ApiError as error: - assert error.message == "The payload(s) could not be found." - assert error.http_status == 404 - - test_client.webhook.delete( - webhook.id - ) # we are deleting the webhook here so we don't keep sending events to a dead webhook. - - -def test_event_receive(event_json): - event = receive_event(event_json) - - assert isinstance(event, Event) - assert str.startswith(event.id, "evt_") diff --git a/tests/test_fedex_registration.py b/tests/test_fedex_registration.py deleted file mode 100644 index ea4e5347..00000000 --- a/tests/test_fedex_registration.py +++ /dev/null @@ -1,137 +0,0 @@ -from unittest.mock import MagicMock - -from easypost.easypost_object import EasyPostObject -from easypost.models import CarrierAccount - - -def test_register_address(prod_client, monkeypatch): - """Tests registering a billing address.""" - fedex_account_number = "123456789" - address_validation = { - "name": "BILLING NAME", - "street1": "1234 BILLING STREET", - "city": "BILLINGCITY", - "state": "ST", - "postal_code": "12345", - "country_code": "US", - } - easypost_details = {"carrier_account_id": "ca_123"} - params = { - "address_validation": address_validation, - "easypost_details": easypost_details, - } - - json_response = { - "email_address": None, - "options": ["SMS", "CALL", "INVOICE"], - "phone_number": "***-***-9721", - } - - mock_requestor = MagicMock() - mock_requestor.return_value.request.return_value = json_response - - monkeypatch.setattr("easypost.services.fedex_registration_service.Requestor", mock_requestor) - - response = prod_client.fedex_registration.register_address(fedex_account_number, **params) - assert isinstance(response, EasyPostObject) - assert response.email_address is None - assert "SMS" in response.options - assert "CALL" in response.options - assert "INVOICE" in response.options - assert response.phone_number == "***-***-9721" - - -def test_request_pin(prod_client, monkeypatch): - """Tests requesting a pin.""" - fedex_account_number = "123456789" - params = { - "easypost_details": {"carrier_account_id": "ca_123"}, - } - - json_response = {"message": "sent secured Pin"} - - mock_requestor = MagicMock() - mock_requestor.return_value.request.return_value = json_response - - monkeypatch.setattr("easypost.services.fedex_registration_service.Requestor", mock_requestor) - - response = prod_client.fedex_registration.request_pin(fedex_account_number, "SMS", **params) - assert isinstance(response, EasyPostObject) - assert response.message == "sent secured Pin" - - -def test_validate_pin(prod_client, monkeypatch): - """Tests validating a pin.""" - fedex_account_number = "123456789" - pin_validation = { - "pin_code": "123456", - "name": "BILLING NAME", - } - easypost_details = {"carrier_account_id": "ca_123"} - params = { - "pin_validation": pin_validation, - "easypost_details": easypost_details, - } - - json_response = { - "id": "ca_123", - "object": "CarrierAccount", - "type": "FedexAccount", - "credentials": { - "account_number": "123456789", - "mfa_key": "123456789-XXXXX", - }, - } - - mock_requestor = MagicMock() - mock_requestor.return_value.request.return_value = json_response - - monkeypatch.setattr("easypost.services.fedex_registration_service.Requestor", mock_requestor) - - response = prod_client.fedex_registration.validate_pin(fedex_account_number, **params) - assert isinstance(response, CarrierAccount) - assert response.id == "ca_123" - assert response.object == "CarrierAccount" - assert response.type == "FedexAccount" - assert response.credentials["account_number"] == "123456789" - assert response.credentials["mfa_key"] == "123456789-XXXXX" - - -def test_submit_invoice(prod_client, monkeypatch): - """Tests submitting details about an invoice.""" - fedex_account_number = "123456789" - invoice_validation = { - "name": "BILLING NAME", - "invoice_number": "INV-12345", - "invoice_date": "2025-12-08", - "invoice_amount": "100.00", - "invoice_currency": "USD", - } - easypost_details = {"carrier_account_id": "ca_123"} - params = { - "invoice_validation": invoice_validation, - "easypost_details": easypost_details, - } - - json_response = { - "id": "ca_123", - "object": "CarrierAccount", - "type": "FedexAccount", - "credentials": { - "account_number": "123456789", - "mfa_key": "123456789-XXXXX", - }, - } - - mock_requestor = MagicMock() - mock_requestor.return_value.request.return_value = json_response - - monkeypatch.setattr("easypost.services.fedex_registration_service.Requestor", mock_requestor) - - response = prod_client.fedex_registration.submit_invoice(fedex_account_number, **params) - assert isinstance(response, CarrierAccount) - assert response.id == "ca_123" - assert response.object == "CarrierAccount" - assert response.type == "FedexAccount" - assert response.credentials["account_number"] == "123456789" - assert response.credentials["mfa_key"] == "123456789-XXXXX" diff --git a/tests/test_hook.py b/tests/test_hook.py deleted file mode 100644 index 44af38d5..00000000 --- a/tests/test_hook.py +++ /dev/null @@ -1,56 +0,0 @@ -import datetime -import uuid - -import pytest - - -@pytest.mark.vcr() -def test_request_hooks(basic_parcel, test_client): - def assert_request(**kwargs): - """Make assertions about a request once the RequestHook fires.""" - assert kwargs.get("method").value == "post" - assert kwargs.get("path") == "https://api.easypost.com/v2/parcels" - assert "parcel" in kwargs.get("request_body") - assert "Authorization" in kwargs.get("headers") - assert isinstance(kwargs.get("request_timestamp"), datetime.datetime) - assert uuid.UUID(str(kwargs.get("request_uuid"))) - - """Test that we fire a RequestHook prior to making an HTTP request.""" - test_client.subscribe_to_request_hook(assert_request) - _ = test_client.parcel.create(**basic_parcel) - - -@pytest.mark.vcr() -def test_response_hooks(basic_parcel, test_client): - def assert_response(**kwargs): - """Make assertions about a response once the ResponseHook fires.""" - assert kwargs.get("http_status") == 201 - assert kwargs.get("method").value == "post" - assert kwargs.get("path") == "https://api.easypost.com/v2/parcels" - assert "object" in kwargs.get("response_body") - assert "location" in kwargs.get("headers") - assert kwargs.get("response_timestamp") > kwargs.get("request_timestamp") - assert uuid.UUID(str(kwargs.get("request_uuid"))) - - """Test that we fire a ResponseHook after receiving an HTTP response.""" - test_client.subscribe_to_response_hook(assert_response) - _ = test_client.parcel.create(**basic_parcel) - - -@pytest.mark.vcr() -def test_unsubscribe_hooks(basic_parcel, test_client): - """Test that we do not fire a hook once unsubscribed.""" - - def fail_if_subscribed(**kwargs): - """This function should never run since we unsubscribe from HTTP hooks.""" - raise Exception("Unsubscribing from HTTP hooks did not work as intended") - - test_client.subscribe_to_request_hook(fail_if_subscribed) - test_client.unsubscribe_from_request_hook(fail_if_subscribed) - - test_client.subscribe_to_response_hook(fail_if_subscribed) - test_client.unsubscribe_from_response_hook(fail_if_subscribed) - - _ = test_client.parcel.create(**basic_parcel) - - assert True diff --git a/tests/test_insurance.py b/tests/test_insurance.py deleted file mode 100644 index 20f4b18d..00000000 --- a/tests/test_insurance.py +++ /dev/null @@ -1,81 +0,0 @@ -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.models import Insurance - - -@pytest.mark.vcr() -def test_insurance_create(one_call_buy_shipment, basic_insurance, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - - insurance_data = basic_insurance - insurance_data["tracking_code"] = shipment.tracking_code - - insurance = test_client.insurance.create(**insurance_data) - - assert isinstance(insurance, Insurance) - assert str.startswith(insurance.id, "ins_") - assert insurance.amount == "100.00000" - - -@pytest.mark.vcr() -def test_insurance_retrieve(one_call_buy_shipment, basic_insurance, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - - insurance_data = basic_insurance - insurance_data["tracking_code"] = shipment.tracking_code - - insurance = test_client.insurance.create(**insurance_data) - - retrieved_insurance = test_client.insurance.retrieve(insurance.id) - - assert isinstance(retrieved_insurance, Insurance) - # status changes between creation and retrieval, so we can't compare the whole object - assert insurance.id == retrieved_insurance.id - - -@pytest.mark.vcr() -def test_insurance_all(page_size, test_client): - insurances = test_client.insurance.all(page_size=page_size) - - insurance_array = insurances["insurances"] - - assert len(insurance_array) <= page_size - assert insurances["has_more"] is not None - assert all(isinstance(insurance, Insurance) for insurance in insurance_array) - - -@pytest.mark.vcr() -def test_insurance_get_next_page(page_size, test_client): - try: - first_page = test_client.insurance.all(page_size=page_size) - next_page = test_client.insurance.get_next_page(insurances=first_page, page_size=page_size) - - first_id_of_first_page = first_page["insurances"][0].id - first_id_of_second_page = next_page["insurances"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) - - -@pytest.mark.vcr() -def test_insurance_refund(test_client, basic_insurance): - insurance_data = basic_insurance - insurance_data["tracking_code"] = "EZ1000000001" - - insurance = test_client.insurance.create(**insurance_data) - cancelled_insurance = test_client.insurance.refund(id=insurance.id) - - assert isinstance(cancelled_insurance, Insurance) - assert str.startswith(cancelled_insurance.id, "ins_") - assert cancelled_insurance.status == "cancelled" - assert cancelled_insurance.messages[0] == "Insurance was cancelled by the user." diff --git a/tests/test_luma.py b/tests/test_luma.py deleted file mode 100644 index 03380a35..00000000 --- a/tests/test_luma.py +++ /dev/null @@ -1,17 +0,0 @@ -import pytest - - -@pytest.mark.vcr() -def test_luma_get_promise( - basic_shipment, - luma_ruleset_name, - luma_planned_ship_date, - test_client, -): - """Test that we get service recommendations from Luma based on your ruleset.""" - basic_shipment["ruleset_name"] = luma_ruleset_name - basic_shipment["planned_ship_date"] = luma_planned_ship_date - - response = test_client.luma.get_promise(**basic_shipment) - - assert response.luma_selected_rate is not None diff --git a/tests/test_order.py b/tests/test_order.py deleted file mode 100644 index a500b9c2..00000000 --- a/tests/test_order.py +++ /dev/null @@ -1,72 +0,0 @@ -import pytest - -from easypost.errors import FilteringError -from easypost.models import ( - Order, - Rate, -) - - -@pytest.mark.vcr() -def test_order_create(basic_order, test_client): - order = test_client.order.create(**basic_order) - - assert isinstance(order, Order) - assert str.startswith(order.id, "order_") - assert order.rates is not None - - -@pytest.mark.vcr() -def test_order_retrieve(basic_order, test_client): - order = test_client.order.create(**basic_order) - - retrieved_order = test_client.order.retrieve(order.id) - - assert isinstance(retrieved_order, Order) - # status changes between creation and retrieval, so we can't compare the whole object - assert retrieved_order.id == order.id - - -@pytest.mark.vcr() -def test_order_get_rates(basic_order, test_client): - order = test_client.order.create(**basic_order) - - rates = test_client.order.get_rates(order.id) - - rates_array = rates["rates"] - - assert isinstance(rates_array, list) - assert all(isinstance(rate, Rate) for rate in rates_array) - - -@pytest.mark.vcr() -def test_order_buy(usps, usps_service, basic_order, test_client): - order = test_client.order.create(**basic_order) - bought_order = test_client.order.buy(order.id, carrier=usps, service=usps_service) - - shipment_array = bought_order["shipments"] - - assert all(shipment.postage_label is not None for shipment in shipment_array) - - -@pytest.mark.vcr() -def test_order_lowest_rate(basic_order, test_client): - """Test various usage alterations of the lowest_rate method.""" - order = test_client.order.create(**basic_order) - - # Test lowest rate with no filters - lowest_rate = order.lowest_rate() - assert lowest_rate.service == "GroundAdvantage" - assert lowest_rate.rate == "11.74" - assert lowest_rate.carrier == "USPS" - - # Test lowest rate with service filter (this rate is higher than the lowest but should filter) - lowest_rate_service = order.lowest_rate(services=["Priority"]) - assert lowest_rate_service.service == "Priority" - assert lowest_rate_service.rate == "15.64" - assert lowest_rate_service.carrier == "USPS" - - # Test lowest rate with carrier filter (should error due to bad carrier) - with pytest.raises(FilteringError) as error: - order.lowest_rate(carriers=["BAD CARRIER"]) - assert str(error.value) == "No rates found." diff --git a/tests/test_parcel.py b/tests/test_parcel.py deleted file mode 100644 index acfdb858..00000000 --- a/tests/test_parcel.py +++ /dev/null @@ -1,22 +0,0 @@ -import pytest - -from easypost.models import Parcel - - -@pytest.mark.vcr() -def test_parcel_create(basic_parcel, test_client): - parcel = test_client.parcel.create(**basic_parcel) - - assert isinstance(parcel, Parcel) - assert str.startswith(parcel.id, "prcl_") - assert parcel.weight == 15.4 - - -@pytest.mark.vcr() -def test_parcel_retrieve(basic_parcel, test_client): - parcel = test_client.parcel.create(**basic_parcel) - - retrieved_parcel = test_client.parcel.retrieve(parcel.id) - - assert isinstance(retrieved_parcel, Parcel) - assert retrieved_parcel == parcel diff --git a/tests/test_pickup.py b/tests/test_pickup.py deleted file mode 100644 index 9a6d90b2..00000000 --- a/tests/test_pickup.py +++ /dev/null @@ -1,129 +0,0 @@ -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.errors import FilteringError -from easypost.models import Pickup - - -@pytest.mark.vcr() -def test_pickup_create(one_call_buy_shipment, basic_pickup, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - - pickup_data = basic_pickup - pickup_data["shipment"] = shipment - - pickup = test_client.pickup.create(**pickup_data) - - assert isinstance(pickup, Pickup) - assert str.startswith(pickup.id, "pickup_") - assert pickup.pickup_rates is not None - - -@pytest.mark.vcr() -def test_pickup_all(page_size, test_client): - pickups = test_client.pickup.all(page_size=page_size) - - pickup_array = pickups["pickups"] - - assert len(pickup_array) <= page_size - assert pickups["has_more"] is not None - assert all(isinstance(pickup, Pickup) for pickup in pickup_array) - - -@pytest.mark.vcr() -def test_pickup_get_next_page(page_size, test_client): - try: - first_page = test_client.pickup.all(page_size=page_size) - next_page = test_client.pickup.get_next_page(pickups=first_page, page_size=page_size) - - first_id_of_first_page = first_page["pickups"][0].id - first_id_of_second_page = next_page["pickups"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) - - -@pytest.mark.vcr() -def test_pickup_retrieve(one_call_buy_shipment, basic_pickup, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - - pickup_data = basic_pickup - pickup_data["shipment"] = shipment - - pickup = test_client.pickup.create(**pickup_data) - - retrieved_pickup = test_client.pickup.retrieve(pickup.id) - - assert isinstance(retrieved_pickup, Pickup) - assert retrieved_pickup.id == pickup.id - - -@pytest.mark.vcr() -def test_pickup_buy(usps, one_call_buy_shipment, basic_pickup, pickup_service, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - - pickup_data = basic_pickup - pickup_data["shipment"] = shipment - - pickup = test_client.pickup.create(**pickup_data) - - bought_pickup = test_client.pickup.buy(pickup.id, carrier=usps, service=pickup_service) - - assert isinstance(bought_pickup, Pickup) - assert str.startswith(bought_pickup.id, "pickup_") - assert bought_pickup.confirmation is not None - assert bought_pickup.status == "scheduled" - - -@pytest.mark.vcr() -def test_pickup_cancel(usps, one_call_buy_shipment, basic_pickup, pickup_service, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - - pickup_data = basic_pickup - pickup_data["shipment"] = shipment - - pickup = test_client.pickup.create(**pickup_data) - - bought_pickup = test_client.pickup.buy(pickup.id, carrier=usps, service=pickup_service) - - cancelled_pickup = test_client.pickup.cancel(bought_pickup.id) - - assert isinstance(cancelled_pickup, Pickup) - assert str.startswith(cancelled_pickup.id, "pickup_") - assert cancelled_pickup.status == "canceled" - - -@pytest.mark.vcr() -def test_pickup_lowest_rate(one_call_buy_shipment, basic_pickup, test_client): - """Test various usage alterations of the lowest_rate method.""" - shipment = test_client.shipment.create(**one_call_buy_shipment) - - pickup_data = basic_pickup - pickup_data["shipment"] = shipment - - pickup = test_client.pickup.create(**pickup_data) - - # Test lowest rate with no filters - lowest_rate = pickup.lowest_rate() - assert lowest_rate.service == "NextDay" - assert lowest_rate.rate == "0.00" - assert lowest_rate.carrier == "USPS" - - # Test lowest rate with service filter (should error due to bad service) - with pytest.raises(FilteringError) as error: - pickup.lowest_rate(services=["BAD SERVICE"]) - assert str(error.value) == "No rates found." - - # Test lowest rate with carrier filter (should error due to bad carrier) - with pytest.raises(FilteringError) as error: - pickup.lowest_rate(carriers=["BAD CARRIER"]) - assert str(error.value) == "No rates found." diff --git a/tests/test_rate.py b/tests/test_rate.py deleted file mode 100644 index 993c9bd5..00000000 --- a/tests/test_rate.py +++ /dev/null @@ -1,13 +0,0 @@ -import pytest - -from easypost.models import Rate - - -@pytest.mark.vcr() -def test_rate_retrieve(basic_shipment, test_client): - shipment = test_client.shipment.create(**basic_shipment) - - rate = test_client.rate.retrieve(shipment.rates[0].id) - - assert isinstance(rate, Rate) - assert str.startswith(rate.id, "rate_") diff --git a/tests/test_referral_customer.py b/tests/test_referral_customer.py deleted file mode 100644 index d7990b87..00000000 --- a/tests/test_referral_customer.py +++ /dev/null @@ -1,117 +0,0 @@ -import os - -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.errors.api.api_error import ApiError -from easypost.models import User - -REFERRAL_CUSTOMER_PROD_API_KEY = os.getenv("REFERRAL_CUSTOMER_PROD_API_KEY", "123") - - -@pytest.mark.vcr() -def test_referral_customer_create(partner_user_prod_client, referral_user): - """This test requires a partner customer's production API key via PARTNER_USER_PROD_API_KEY.""" - created_referral_customer = partner_user_prod_client.referral_customer.create( - name=referral_user["name"], - email=referral_user["email"], - phone=referral_user["phone"], - ) - - assert isinstance(created_referral_customer, User) - assert str.startswith(created_referral_customer.id, "user_") - assert created_referral_customer.name == "Test Referral" - - -@pytest.mark.vcr() -def test_referral_customer_update(partner_user_prod_client): - """This test requires a partner customer's production API key via PARTNER_USER_PROD_API_KEY.""" - referral_customers = partner_user_prod_client.referral_customer.all() - - try: - partner_user_prod_client.referral_customer.update_email( - referral_customers.referral_customers[0].id, - "email@example.com", - ) - except Exception: - assert False - - -@pytest.mark.vcr() -def test_referral_customer_all(partner_user_prod_client, page_size): - """This test requires a partner customer's production API key via PARTNER_USER_PROD_API_KEY.""" - referral_customers = partner_user_prod_client.referral_customer.all(page_size=page_size) - - referral_customers_array = referral_customers["referral_customers"] - - assert len(referral_customers_array) <= page_size - assert referral_customers["has_more"] is not None - assert all(isinstance(referral_customer, User) for referral_customer in referral_customers_array) - - -@pytest.mark.vcr() -def test_referral_get_next_page(partner_user_prod_client, page_size): - try: - first_page = partner_user_prod_client.referral_customer.all(page_size=page_size) - next_page = partner_user_prod_client.referral_customer.get_next_page( - referral_customers=first_page, page_size=page_size - ) - - first_id_of_first_page = first_page["referral_customers"][0].id - first_id_of_second_page = next_page["referral_customers"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) - - -@pytest.mark.vcr() -def test_referral_customer_add_credit_card_from_stripe(partner_user_prod_client, credit_card_details, billing): - """This test requires a referral customer's production API key via REFERRAL_CUSTOMER_PROD_API_KEY. - - We expect this test to fail because we don't have valid billing details to use. Assert the correct error. - """ - with pytest.raises(ApiError) as error: - partner_user_prod_client.referral_customer.add_credit_card_from_stripe( - referral_api_key=REFERRAL_CUSTOMER_PROD_API_KEY, - payment_method_id=billing["payment_method_id"], - priority=billing["priority"], - ) - - assert str(error.value) == "Stripe::PaymentMethod does not exist for the specified reference_id" - - -@pytest.mark.vcr() -def test_referral_customer_add_bank_account_from_stripe(partner_user_prod_client, credit_card_details, billing): - """This test requires a referral customer's production API key via REFERRAL_CUSTOMER_PROD_API_KEY. - - We expect this test to fail because we don't have valid billing details to use. Assert the correct error. - """ - with pytest.raises(ApiError) as error: - partner_user_prod_client.referral_customer.add_bank_account_from_stripe( - referral_api_key=REFERRAL_CUSTOMER_PROD_API_KEY, - financial_connections_id=billing["financial_connections_id"], - mandate_data=billing["mandate_data"], - priority=billing["priority"], - ) - - assert ( - str(error.value) == "account_holder_name must be present when creating a Financial Connections payment method" - ) - - -@pytest.mark.vcr() -def test_referral_customer_retrieve_easypost_stripe_api_key(partner_user_prod_client): - """This test requires a partner customer's production API key via PARTNER_USER_PROD_API_KEY.""" - public_key = partner_user_prod_client.referral_customer.retrieve_easypost_stripe_api_key() - - assert isinstance(public_key, str) - assert public_key.startswith("pk_") diff --git a/tests/test_refund.py b/tests/test_refund.py deleted file mode 100644 index 16a751ce..00000000 --- a/tests/test_refund.py +++ /dev/null @@ -1,63 +0,0 @@ -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.models import Refund - - -@pytest.mark.vcr() -def test_refund_create(one_call_buy_shipment, usps, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - - # We need to retrieve the shipment so that the tracking_code has time to populate - retrieved_shipment = test_client.shipment.retrieve(shipment["id"]) - - refund = test_client.refund.create( - carrier=usps, - tracking_codes=[retrieved_shipment.tracking_code], - ) - - assert str.startswith(refund[0].id, "rfnd_") - assert refund[0].status == "submitted" - - -@pytest.mark.vcr() -def test_refund_all(page_size, test_client): - refunds = test_client.refund.all(page_size=page_size) - - refunds_array = refunds["refunds"] - - assert len(refunds_array) <= page_size - assert refunds["has_more"] is not None - assert all(isinstance(refund, Refund) for refund in refunds_array) - - -@pytest.mark.vcr() -def test_refund_get_next_page(page_size, test_client): - try: - first_page = test_client.refund.all(page_size=page_size) - next_page = test_client.refund.get_next_page(refunds=first_page, page_size=page_size) - - first_id_of_first_page = first_page["refunds"][0].id - first_id_of_second_page = next_page["refunds"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) - - -@pytest.mark.vcr() -def test_refund_retrieve(page_size, test_client): - refunds = test_client.refund.all(page_size=page_size) - - retrieved_refund = test_client.refund.retrieve(refunds["refunds"][0]["id"]) - - assert isinstance(retrieved_refund, Refund) - assert retrieved_refund.id == refunds["refunds"][0].id diff --git a/tests/test_report.py b/tests/test_report.py deleted file mode 100644 index cda07a2b..00000000 --- a/tests/test_report.py +++ /dev/null @@ -1,96 +0,0 @@ -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.models import Report - - -@pytest.mark.vcr() -def test_report_create_report(report_type, report_date, test_client): - report = test_client.report.create( - type=report_type, - start_date=report_date, - end_date=report_date, - ) - - assert isinstance(report, Report) - assert str.startswith(report.id, "shprep_") - - -@pytest.mark.vcr() -def test_report_create_with_additional_columns(report_type, report_date, test_client): - report = test_client.report.create( - type=report_type, - start_date=report_date, - end_date=report_date, - additional_columns=["from_name", "from_company"], - ) - - # Reports are queued, so we can't wait for completion. - # Verifying columns would require parsing CSV. Verify correct parameters via URL in cassette - assert isinstance(report, Report) - - -@pytest.mark.vcr() -def test_report_create_with_columns(report_type, report_date, test_client): - report = test_client.report.create( - type=report_type, - start_date=report_date, - end_date=report_date, - columns=["usps_zone"], - ) - - # Reports are queued, so we can't wait for completion. - # Verifying columns would require parsing CSV. Verify correct parameters via URL in cassette - assert isinstance(report, Report) - - -@pytest.mark.vcr() -def test_report_retrieve_shipment_report(report_type, report_date, test_client): - report = test_client.report.create( - type=report_type, - start_date=report_date, - end_date=report_date, - ) - - retrieved_report = test_client.report.retrieve(report.id) - - assert isinstance(retrieved_report, Report) - assert report.start_date == retrieved_report.start_date - assert report.end_date == retrieved_report.end_date - - -@pytest.mark.vcr() -def test_report_all(report_type, page_size, test_client): - reports = test_client.report.all(type=report_type, page_size=page_size) - - reports_array = reports["reports"] - - assert len(reports_array) <= page_size - assert reports["has_more"] is not None - assert all(isinstance(report, Report) for report in reports_array) - - -@pytest.mark.vcr() -def test_report_get_next_page(report_type, page_size, test_client): - try: - first_page = test_client.report.all(type=report_type, page_size=page_size) - next_page = test_client.report.get_next_page(reports=first_page, page_size=page_size) - - first_id_of_first_page = first_page["reports"][0].id - first_id_of_second_page = next_page["reports"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - - # Verify that the report type is being passed along for behind-the-scenes reference - assert first_page["filters"]["type"] == report_type - assert next_page["filters"]["type"] == report_type - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) diff --git a/tests/test_scan_form.py b/tests/test_scan_form.py deleted file mode 100644 index 2a87d728..00000000 --- a/tests/test_scan_form.py +++ /dev/null @@ -1,59 +0,0 @@ -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.models import ScanForm - - -@pytest.mark.vcr() -def test_scanform_create(one_call_buy_shipment, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - - scanform = test_client.scan_form.create(shipment=[shipment]) - - assert isinstance(scanform, ScanForm) - assert str.startswith(scanform.id, "sf_") - - -@pytest.mark.vcr() -def test_scanform_retrieve(one_call_buy_shipment, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - - scanform = test_client.scan_form.create(shipment=[shipment]) - - retrieved_scanform = test_client.scan_form.retrieve(scanform.id) - - assert isinstance(retrieved_scanform, ScanForm) - assert retrieved_scanform == scanform - - -@pytest.mark.vcr() -def test_scanform_all(page_size, test_client): - scanforms = test_client.scan_form.all(page_size=page_size) - - scanforms_array = scanforms["scan_forms"] - - assert len(scanforms_array) <= page_size - assert scanforms["has_more"] is not None - assert all(isinstance(scanform, ScanForm) for scanform in scanforms_array) - - -@pytest.mark.vcr() -def test_scanform_get_next_page(page_size, test_client): - try: - first_page = test_client.scan_form.all(page_size=page_size) - next_page = test_client.scan_form.get_next_page(scan_forms=first_page, page_size=page_size) - - first_id_of_first_page = first_page["scan_forms"][0].id - first_id_of_second_page = next_page["scan_forms"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) diff --git a/tests/test_shipment.py b/tests/test_shipment.py deleted file mode 100644 index 3d557352..00000000 --- a/tests/test_shipment.py +++ /dev/null @@ -1,367 +0,0 @@ -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.errors import ( - FilteringError, - InvalidParameterError, -) -from easypost.models import ( - Rate, - Shipment, -) -from easypost.util import get_lowest_smart_rate - - -@pytest.mark.vcr() -def test_shipment_create(full_shipment, test_client): - shipment = test_client.shipment.create(**full_shipment) - - assert isinstance(shipment, Shipment) - assert str.startswith(shipment.id, "shp_") - assert shipment.rates is not None - assert shipment.options.label_format == "PNG" - assert shipment.options.invoice_number == "123" - assert shipment.reference == "123" - - -@pytest.mark.vcr() -def test_shipment_retrieve(full_shipment, test_client): - shipment = test_client.shipment.create(**full_shipment) - - retrieved_shipment = test_client.shipment.retrieve(shipment.id) - - assert isinstance(retrieved_shipment, Shipment) - assert retrieved_shipment == shipment - - -@pytest.mark.vcr() -def test_shipment_all(page_size, test_client): - shipments = test_client.shipment.all(page_size=page_size) - - shipment_array = shipments["shipments"] - - assert len(shipment_array) <= page_size - assert shipments["has_more"] is not None - assert all(isinstance(shipment, Shipment) for shipment in shipment_array) - - -@pytest.mark.vcr() -def test_shipment_get_next_page(page_size, test_client): - try: - first_page = test_client.shipment.all(page_size=page_size) - next_page = test_client.shipment.get_next_page(shipments=first_page, page_size=page_size) - - first_id_of_first_page = first_page["shipments"][0].id - first_id_of_second_page = next_page["shipments"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) - - -@pytest.mark.vcr() -def test_shipment_buy(full_shipment, test_client): - shipment = test_client.shipment.create(**full_shipment) - bought_shipment = test_client.shipment.buy(shipment.id, rate=shipment.lowest_rate()) - - assert bought_shipment.postage_label is not None - - -@pytest.mark.vcr() -def test_shipment_regenerate_rates(full_shipment, test_client): - shipment = test_client.shipment.create(**full_shipment) - - rates = test_client.shipment.regenerate_rates(shipment.id) - - rates_array = rates["rates"] - - assert isinstance(rates_array, list) - assert all(isinstance(rate, Rate) for rate in rates_array) - - -@pytest.mark.vcr() -def test_shipment_convert_label(full_shipment, test_client): - shipment = test_client.shipment.create(**full_shipment) - bought_shipment = test_client.shipment.buy(shipment.id, rate=shipment.lowest_rate()) - shipment_with_label = test_client.shipment.label(bought_shipment.id, file_format="ZPL") - - assert shipment_with_label.postage_label.label_zpl_url is not None - - -@pytest.mark.vcr() -def test_shipment_insure(one_call_buy_shipment, test_client): - """Set insurnace to `0` when buying a shipment. - - If the shipment was purchased with a USPS rate, it must have had its insurance set to `0` when bought - so that USPS doesn't automatically insure it so we could manually insure it here. - """ - # Set to 0 so USPS doesn't insure this automatically and we can insure the shipment manually - one_call_buy_shipment["insurance"] = 0 - - shipment = test_client.shipment.create(**one_call_buy_shipment) - insured_shipment = test_client.shipment.insure(shipment.id, amount="100") - - assert insured_shipment.insurance == "100.00" - - -@pytest.mark.vcr() -def test_shipment_refund(one_call_buy_shipment, test_client): - """Refunding a test shipment must happen within seconds of the shipment being created as test shipments naturally. - - Follow a flow of created -> delivered to cycle through tracking events in test mode - as such anything older - than a few seconds in test mode may not be refundable. - """ - shipment = test_client.shipment.create(**one_call_buy_shipment) - refunded_shipment = test_client.shipment.refund(shipment.id) - - assert refunded_shipment.refund_status == "submitted" - - -@pytest.mark.vcr() -def test_shipment_smart_rate(basic_shipment, test_client): - shipment = test_client.shipment.create(**basic_shipment) - - assert shipment.rates is not None - - smart_rates = test_client.shipment.get_smart_rates(shipment.id) - - assert smart_rates[0]["time_in_transit"]["percentile_50"] is not None - assert smart_rates[0]["time_in_transit"]["percentile_75"] is not None - assert smart_rates[0]["time_in_transit"]["percentile_85"] is not None - assert smart_rates[0]["time_in_transit"]["percentile_90"] is not None - assert smart_rates[0]["time_in_transit"]["percentile_95"] is not None - assert smart_rates[0]["time_in_transit"]["percentile_97"] is not None - assert smart_rates[0]["time_in_transit"]["percentile_99"] is not None - - -@pytest.mark.vcr() -def test_shipment_create_empty_objects(basic_shipment, test_client): - shipment_data = basic_shipment - shipment_data["customs_info"] = {} - shipment_data["options"] = None - shipment_data["tax_identifiers"] = None - shipment_data["reference"] = "" - - shipment = test_client.shipment.create(**shipment_data) - - assert isinstance(shipment, Shipment) - assert str.startswith(shipment.id, "shp_") - assert shipment.options is not None - assert shipment.customs_info is None - assert shipment.reference is None - - -@pytest.mark.vcr() -def test_shipment_create_tax_identifier(basic_shipment, tax_identifier, test_client): - shipment_data = basic_shipment - shipment_data["tax_identifiers"] = [tax_identifier] - - shipment = test_client.shipment.create(**shipment_data) - - assert isinstance(shipment, Shipment) - assert str.startswith(shipment.id, "shp_") - assert shipment.tax_identifiers[0]["tax_id_type"] == "IOSS" - - -@pytest.mark.vcr() -def test_shipment_create_with_ids(ca_address_1, basic_parcel, test_client): - from_address = test_client.address.create(**ca_address_1) - to_address = test_client.address.create(**ca_address_1) - parcel = test_client.parcel.create(**basic_parcel) - - shipment = test_client.shipment.create( - from_address={"id": from_address.id}, - to_address={"id": to_address.id}, - parcel={"id": parcel.id}, - ) - - assert isinstance(shipment, Shipment) - assert str.startswith(shipment.id, "shp_") - assert str.startswith(shipment.from_address.id, "adr_") - assert str.startswith(shipment.to_address.id, "adr_") - assert str.startswith(shipment.parcel.id, "prcl_") - assert shipment.from_address.street1 == "388 Townsend St" - - -@pytest.mark.vcr() -def test_shipment_lowest_rate(full_shipment, test_client): - """Test various usage alterations of the lowest_rate method.""" - shipment = test_client.shipment.create(**full_shipment) - - # Test lowest rate with no filters - lowest_rate = shipment.lowest_rate() - assert lowest_rate.service == "GroundAdvantage" - assert lowest_rate.rate == "6.07" - assert lowest_rate.carrier == "USPS" - - # Test lowest rate with service filter (this rate is higher than the lowest but should filter) - lowest_rate_service = shipment.lowest_rate(services=["Priority"]) - assert lowest_rate_service.service == "Priority" - assert lowest_rate_service.rate == "7.42" - assert lowest_rate_service.carrier == "USPS" - - # Test lowest rate with carrier filter (should error due to bad carrier) - with pytest.raises(FilteringError) as error: - shipment.lowest_rate(carriers=["BAD CARRIER"]) - assert str(error.value) == "No rates found." - - -@pytest.mark.vcr() -def test_shipment_lowest_smart_rate(basic_shipment, test_client): - shipment = test_client.shipment.create(**basic_shipment) - - # Test lowest smart_rate with valid filters - lowest_smart_rate_filters = test_client.shipment.lowest_smart_rate( - shipment.id, - delivery_days=3, - delivery_accuracy="percentile_90", - ) - assert lowest_smart_rate_filters["service"] == "GroundAdvantage" - assert lowest_smart_rate_filters["rate"] == 6.07 - assert lowest_smart_rate_filters["carrier"] == "USPS" - - # Test lowest smart_rate with invalid filters (should error due to strict delivery_days) - with pytest.raises(FilteringError) as error: - _ = test_client.shipment.lowest_smart_rate( - shipment.id, - delivery_days=0, - delivery_accuracy="percentile_90", - ) - assert str(error.value) == "No rates found." - - # Test lowest smart_rate with invalid filters (should error due to invalid delivery_accuracy) - with pytest.raises(InvalidParameterError) as error: - _ = test_client.shipment.lowest_smart_rate( - shipment.id, - delivery_days=3, - delivery_accuracy="BAD_ACCURACY", - ) - assert "Invalid delivery_accuracy value" in str(error.value) - - -@pytest.mark.vcr() -def test_shipment_get_lowest_smart_rate(basic_shipment, test_client): - shipment = test_client.shipment.create(**basic_shipment) - smart_rates = test_client.shipment.get_smart_rates(shipment.id) - - # Test lowest smart_rate with valid filters - lowest_smart_rate_filters = get_lowest_smart_rate( - smart_rates, - delivery_days=3, - delivery_accuracy="percentile_90", - ) - assert lowest_smart_rate_filters["service"] == "GroundAdvantage" - assert lowest_smart_rate_filters["rate"] == 6.07 - assert lowest_smart_rate_filters["carrier"] == "USPS" - - # Test lowest smart_rate with invalid filters (should error due to strict delivery_days) - with pytest.raises(FilteringError) as error: - _ = get_lowest_smart_rate( - smart_rates, - delivery_days=0, - delivery_accuracy="percentile_90", - ) - assert str(error.value) == "No rates found." - - # Test lowest smart_rate with invalid filters (should error due to bad delivery_accuracy) - with pytest.raises(InvalidParameterError) as error: - _ = get_lowest_smart_rate( - smart_rates, - delivery_days=3, - delivery_accuracy="BAD_ACCURACY", - ) - assert "Invalid delivery_accuracy value" in str(error.value) - - -@pytest.mark.vcr() -def test_shipment_generate_form(one_call_buy_shipment, rma_form_options, test_client): - shipment = test_client.shipment.create(**one_call_buy_shipment) - form_type = "return_packing_slip" - - shipment_with_form = test_client.shipment.generate_form( - shipment.id, - form_type, - rma_form_options, - ) - - assert len(shipment_with_form.forms) > 0 - - form = shipment_with_form.forms[0] - - assert form.form_type == form_type - assert form.form_url is not None - - -@pytest.mark.vcr() -def test_shipment_buy_with_end_shipper_id(ca_address_1, basic_shipment, test_client): - end_shipper = test_client.end_shipper.create(**ca_address_1) - - shipment = test_client.shipment.create(**basic_shipment) - bought_shipment = test_client.shipment.buy( - shipment.id, rate=shipment.lowest_rate(), end_shipper_id=end_shipper["id"] - ) - - assert bought_shipment.postage_label is not None - - -@pytest.mark.vcr() -def test_shipment_retrieve_estimated_delivery_date(basic_shipment, planned_ship_date, test_client): - """Tests that we retrieve time-in-transit data for each of the Rates of a Shipment.""" - shipment = test_client.shipment.create(**basic_shipment) - - rates = test_client.shipment.retrieve_estimated_delivery_date(shipment.id, planned_ship_date=planned_ship_date) - - assert all(entry.get("easypost_time_in_transit_data") for entry in rates) - - -@pytest.mark.vcr() -def test_shipment_recommend_ship_date(basic_shipment, desired_delivery_date, test_client): - """Test that we retrieve SmartRates when providing a shipment and desired delivery date.""" - shipment = test_client.shipment.create(**basic_shipment) - - rates = test_client.shipment.recommend_ship_date(shipment.id, desired_delivery_date=desired_delivery_date) - - assert all(entry.get("easypost_time_in_transit_data") for entry in rates) - - -@pytest.mark.vcr() -def test_shipment_create_and_buy_luma( - one_call_buy_shipment, - luma_ruleset_name, - luma_planned_ship_date, - test_client, -): - """Test that we create and buy a Shipment with Luma.""" - del one_call_buy_shipment["service"] - one_call_buy_shipment["ruleset_name"] = luma_ruleset_name - one_call_buy_shipment["planned_ship_date"] = luma_planned_ship_date - shipment = test_client.shipment.create_and_buy_luma(**one_call_buy_shipment) - - assert shipment.postage_label is not None - - -@pytest.mark.vcr() -def test_shipment_buy_luma( - basic_shipment, - luma_ruleset_name, - luma_planned_ship_date, - test_client, -): - """Test that we buy a Shipment with Luma.""" - shipment = test_client.shipment.create(**basic_shipment) - - bought_shipment = test_client.shipment.buy_luma( - shipment.id, - ruleset_name=luma_ruleset_name, - planned_ship_date=luma_planned_ship_date, - ) - - assert bought_shipment.postage_label is not None diff --git a/tests/test_smartrate.py b/tests/test_smartrate.py deleted file mode 100644 index 8ab2d1e0..00000000 --- a/tests/test_smartrate.py +++ /dev/null @@ -1,45 +0,0 @@ -import pytest - - -@pytest.mark.vcr() -def test_smartrate_estimate_delivery_date( - basic_shipment, - ca_address_1, - ca_address_2, - planned_ship_date, - usps, - test_client, -): - """Test that we retrieve SmartRates when provided a from/to zip and planned ship date.""" - params = { - "from_zip": ca_address_1["zip"], - "to_zip": ca_address_2["zip"], - "planned_ship_date": planned_ship_date, - "carriers": [usps], - } - - rates = test_client.smart_rate.estimate_delivery_date(**params) - - assert all(entry.get("easypost_time_in_transit_data") for entry in rates["results"]) - - -@pytest.mark.vcr() -def test_smartrate_recommend_ship_date( - basic_shipment, - ca_address_1, - ca_address_2, - desired_delivery_date, - usps, - test_client, -): - """Test that we retrieve SmartRates when provided a from/to zip and desired delivery date.""" - params = { - "from_zip": ca_address_1["zip"], - "to_zip": ca_address_2["zip"], - "desired_delivery_date": desired_delivery_date, - "carriers": [usps], - } - - rates = test_client.smart_rate.recommend_ship_date(**params) - - assert all(entry.get("easypost_time_in_transit_data") for entry in rates["results"]) diff --git a/tests/test_tracker.py b/tests/test_tracker.py deleted file mode 100644 index f57468a7..00000000 --- a/tests/test_tracker.py +++ /dev/null @@ -1,76 +0,0 @@ -import pytest - -from easypost.constant import ( - _FILTERS_KEY, - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.models import Tracker - - -@pytest.mark.vcr() -def test_tracker_create(test_client): - tracker = test_client.tracker.create(tracking_code="EZ1000000001") - - assert isinstance(tracker, Tracker) - assert str.startswith(tracker.id, "trk_") - assert tracker.status == "pre_transit" - - -@pytest.mark.vcr() -def test_tracker_retrieve(test_client): - tracker = test_client.tracker.create(tracking_code="EZ1000000001") - - retrieved_tracker = test_client.tracker.retrieve(tracker.id) - - assert isinstance(retrieved_tracker, Tracker) - # status changes between creation and retrieval, so we can't compare the whole object - assert retrieved_tracker.id == tracker.id - - -@pytest.mark.vcr() -def test_tracker_all(page_size, test_client): - trackers = test_client.tracker.all(page_size=page_size) - - trackers_array = trackers["trackers"] - - assert len(trackers_array) <= page_size - assert trackers["has_more"] is not None - assert all(isinstance(tracker, Tracker) for tracker in trackers_array) - - -@pytest.mark.vcr() -def test_tracker_retrieve_batch(page_size, test_client): - tracker = test_client.tracker.create(tracking_code="EZ1000000001") - - trackers = test_client.tracker.retrieve_batch(tracking_codes=[tracker.tracking_code]) - - trackers_array = trackers["trackers"] - - assert all(isinstance(tracker, Tracker) for tracker in trackers_array) - - -@pytest.mark.vcr() -def test_tracker_get_next_page(page_size, test_client): - try: - first_page = test_client.tracker.all(page_size=page_size) - next_page = test_client.tracker.get_next_page(trackers=first_page, page_size=page_size) - - first_id_of_first_page = first_page["trackers"][0].id - first_id_of_second_page = next_page["trackers"][0].id - - assert first_id_of_first_page != first_id_of_second_page - - # Verify that the filters are being passed along for behind-the-scenes reference - assert first_page[_FILTERS_KEY] == next_page[_FILTERS_KEY] - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) - - -@pytest.mark.vcr() -def test_tracker_delete(test_client): - tracker = test_client.tracker.create(tracking_code="EZ1000000001") - - # Nothing gets returned here, simply ensure no error gets raised - test_client.tracker.delete(tracker.id) diff --git a/tests/test_user.py b/tests/test_user.py deleted file mode 100644 index deab7f4a..00000000 --- a/tests/test_user.py +++ /dev/null @@ -1,110 +0,0 @@ -import pytest - -from easypost.constant import ( - _TEST_FAILED_INTENTIONALLY_ERROR, - NO_MORE_PAGES_ERROR, -) -from easypost.models import ( - Brand, - User, -) - - -@pytest.mark.vcr() -def test_user_create(prod_client): - user = prod_client.user.create(name="Test User") - - assert isinstance(user, User) - assert str.startswith(user.id, "user_") - assert user.name == "Test User" - - # Delete the user so we don't clutter up the test environment - prod_client.user.delete(user.id) - - -@pytest.mark.vcr() -def test_user_retrieve(prod_client): - authenticated_user = prod_client.user.retrieve_me() - - user = prod_client.user.retrieve(authenticated_user["id"]) - - assert isinstance(user, User) - assert str.startswith(user.id, "user_") - - -@pytest.mark.vcr() -def test_user_retrieve_no_id(prod_client): - """If no ID is specified when retrieving a user, we'll retrieve the authenticated user.""" - user = prod_client.user.retrieve() - - assert isinstance(user, User) - assert str.startswith(user.id, "user_") - - -@pytest.mark.vcr() -def test_user_retrieve_me(prod_client): - user = prod_client.user.retrieve_me() - - assert isinstance(user, User) - assert str.startswith(user.id, "user_") - - -@pytest.mark.vcr() -def test_user_update(prod_client): - user = prod_client.user.retrieve_me() - - test_name = "New Name" - - updated_user = prod_client.user.update(user.id, name=test_name) - - assert isinstance(updated_user, User) - assert str.startswith(updated_user.id, "user_") - assert updated_user.name == test_name - - -@pytest.mark.vcr() -def test_user_delete(prod_client): - user = prod_client.user.create(name="Test User") - - # Nothing gets returned here, simply ensure no error gets raised - prod_client.user.delete(user.id) - - -@pytest.mark.vcr() -def test_user_update_brand(prod_client): - user = prod_client.user.retrieve_me() - - color = "#123456" - - brand = prod_client.user.update_brand(user.id, color=color) - - assert isinstance(brand, Brand) - assert str.startswith(brand.id, "brd_") - assert brand.color == color - - -@pytest.mark.vcr() -def test_user_all_children(prod_client, page_size): - children_data = prod_client.user.all_children(page_size=page_size) - - children_array = children_data["children"] - assert len(children_array) <= page_size - assert all(isinstance(child, User) for child in children_array) - - has_more = children_data["has_more"] - assert isinstance(has_more, bool) - - -@pytest.mark.vcr() -def test_user_children_get_next_page(prod_client, page_size): - try: - first_page = prod_client.user.all_children(page_size=page_size) - next_page = prod_client.user.get_next_page_of_children(children=first_page, page_size=page_size) - - first_id_of_first_page = first_page["children"][0].id - first_id_of_second_page = next_page["children"][0].id - - assert first_id_of_first_page != first_id_of_second_page - except Exception as e: - if e.message != NO_MORE_PAGES_ERROR: - raise Exception(_TEST_FAILED_INTENTIONALLY_ERROR) diff --git a/tests/test_webhook.py b/tests/test_webhook.py deleted file mode 100644 index 13c5e648..00000000 --- a/tests/test_webhook.py +++ /dev/null @@ -1,123 +0,0 @@ -import pytest - -from easypost.errors import SignatureVerificationError -from easypost.models import Webhook -from easypost.util import validate_webhook - - -@pytest.mark.vcr() -def test_webhook_create(webhook_url, webhook_secret, webhook_custom_headers, test_client): - webhook = test_client.webhook.create( - url=webhook_url, - webhook_secret=webhook_secret, - custom_headers=webhook_custom_headers, - ) - - assert isinstance(webhook, Webhook) - assert str.startswith(webhook.id, "hook_") - assert webhook.url == webhook_url - assert webhook.custom_headers[0]["name"] == "test" - assert webhook.custom_headers[0]["value"] == "header" - - test_client.webhook.delete( - webhook.id - ) # we are deleting the webhook here so we don't keep sending events to a dead webhook. - - -@pytest.mark.vcr() -def test_webhook_retrieve(webhook_url, test_client): - webhook = test_client.webhook.create(url=webhook_url) - - retrieved_webhook = test_client.webhook.retrieve(webhook.id) - - assert isinstance(retrieved_webhook, Webhook) - assert retrieved_webhook == webhook - - test_client.webhook.delete( - retrieved_webhook.id - ) # we are deleting the webhook here so we don't keep sending events to a dead webhook. - - -@pytest.mark.vcr() -def test_webhook_all(page_size, test_client): - webhooks = test_client.webhook.all(page_size=page_size) - - webhooks_array = webhooks["webhooks"] - - assert len(webhooks_array) <= page_size - assert all(isinstance(webhook, Webhook) for webhook in webhooks_array) - - -@pytest.mark.vcr() -def test_webhook_update(webhook_url, webhook_secret, webhook_custom_headers, test_client): - webhook = test_client.webhook.create(url=webhook_url) - updated_webhook = test_client.webhook.update( - webhook.id, - webhook_secret=webhook_secret, - custom_headers=webhook_custom_headers, - ) - - assert isinstance(updated_webhook, Webhook) - assert updated_webhook.custom_headers[0]["name"] == "test" - assert updated_webhook.custom_headers[0]["value"] == "header" - - test_client.webhook.delete( - webhook.id - ) # we are deleting the webhook here so we don't keep sending events to a dead webhook. - - -@pytest.mark.vcr() -def test_webhook_delete(webhook_url, test_client): - webhook = test_client.webhook.create(url=webhook_url) - - try: - test_client.webhook.delete(webhook.id) - except Exception: - assert False - - -def test_validate_webhook(event_bytes, webhook_secret, webhook_hmac_signature): - headers = { - "X-Hmac-Signature": webhook_hmac_signature, - } - - webhook_body = validate_webhook( - event_body=event_bytes, - headers=headers, - webhook_secret=webhook_secret, - ) - - assert webhook_body["description"] == "tracker.updated" - assert webhook_body["result"]["weight"] == 614.4 # Ensure we convert floats properly - - -def test_validate_webhook_invalid_secret(event_bytes): - webhook_secret = "invalid_secret" - headers = { - "X-Hmac-Signature": "some-signature", - } - - with pytest.raises(SignatureVerificationError) as error: - _ = validate_webhook( - event_body=event_bytes, - headers=headers, - webhook_secret=webhook_secret, - ) - - assert str(error.value) == "Webhook received did not originate from EasyPost or had a webhook secret mismatch." - - -def test_validate_webhook_missing_secret(event_bytes): - webhook_secret = "123" - headers = { - "some-header": "some-value", - } - - with pytest.raises(SignatureVerificationError) as error: - _ = validate_webhook( - event_body=event_bytes, - headers=headers, - webhook_secret=webhook_secret, - ) - - assert str(error.value) == "Webhook received does not contain an HMAC signature."