click_and_drop_api 3.3.0__tar.gz → 3.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {click_and_drop_api-3.3.0/click_and_drop_api.egg-info → click_and_drop_api-3.4.0}/PKG-INFO +1 -1
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/__init__.py +18 -1
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/api.py +42 -5
- click_and_drop_api-3.4.0/click_and_drop_api/simple/base.py +1139 -0
- click_and_drop_api-3.4.0/click_and_drop_api/simple/errors.py +29 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/mock.py +266 -24
- click_and_drop_api-3.4.0/click_and_drop_api/simple/strategy.py +221 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/types.py +30 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0/click_and_drop_api.egg-info}/PKG-INFO +1 -1
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api.egg-info/SOURCES.txt +2 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/pyproject.toml +1 -1
- click_and_drop_api-3.4.0/test/test_shipping_edge_cases.py +114 -0
- click_and_drop_api-3.3.0/click_and_drop_api/simple/base.py +0 -593
- click_and_drop_api-3.3.0/click_and_drop_api/simple/errors.py +0 -12
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/LICENSE +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/MANIFEST.in +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/README.md +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/__init__.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/__init__.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/carriers_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/labels_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/manifests_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/olp_services_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/orders_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/returns_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/services_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/version_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api_client.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/configuration.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/__init__.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/__main__.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/check_oba.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/create_order.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/generate_label.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/mock-label-cn.pdf +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/mock-label.pdf +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/mock-manifest.pdf +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/oba_full_workflow.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/package_size_and_cost.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/shipping_countries.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/view_order.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/view_specific_orders.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/view_version.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/exceptions.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/__init__.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/address.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/address_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/billing_details_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_order_error_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_order_label_error_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_order_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_order_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_orders_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_orders_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_packages_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_return_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_return_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_return_response_shipment.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/customer_reference.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/delete_orders_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/deleted_order_info.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/dimensions_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/error_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/failed_order_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_carrier_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_carrier_services_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_order_details_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_order_info_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_order_line_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_orders_details_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_orders_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_postal_details_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_service_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_services_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_shipping_details_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_tag_details_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_version_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/importer.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/label_generation_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/manifest_details_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/manifest_eligible_orders_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/manifest_errors_error_details_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/manifest_errors_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/manifest_orders_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/olp_service_option.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/olp_services_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/order_error_info.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/order_error_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/order_field_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/order_update_error.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/postage_details_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/product_item_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/recipient_details_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/sender_details_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/service_code.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/service_item.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/shipment.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/shipment_package_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/tag_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/update_order_status_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/update_order_status_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/update_orders_status_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/updated_order_info.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/py.typed +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/rest.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/addresses.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/compatibility.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/__init__.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/db.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/documents.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/format_dimensions.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/large_letter.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/large_parcel.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/letter.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/medium_parcel.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/large_letter-DE.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/large_letter-GB.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/large_parcel-DE.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/large_parcel-GB.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/letter-DE.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/letter-GB.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/medium_parcel-DE.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/medium_parcel-GB.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/small_parcel-DE.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/small_parcel-GB.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/documents-DE.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/large_letter-DE.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/large_letter-GB.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/letter-DE.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/letter-GB.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/parcel-DE.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/parcel-GB.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba_parser.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/package_shipping_option.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/parcel.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/parser.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/small_parcel.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping_test_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api.egg-info/dependency_links.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api.egg-info/requires.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api.egg-info/top_level.txt +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/setup.cfg +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_address.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_address_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_billing_details_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_carriers_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_choose_size_by_weight.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_order_error_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_order_label_error_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_order_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_order_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_orders_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_orders_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_packages_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_return_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_return_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_return_response_shipment.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_customer_reference.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_delete_orders_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_deleted_order_info.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_dimensions_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_error_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_failed_order_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_carrier_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_carrier_services_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_order_details_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_order_info_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_order_line_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_orders_details_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_orders_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_postal_details_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_service_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_services_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_shipping_details_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_tag_details_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_version_resource.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_guess_order_status.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_importer.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_label_generation_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_labels_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifest_details_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifest_eligible_orders_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifest_errors_error_details_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifest_errors_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifest_orders_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifests_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_oba_parser.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_olp_service_option.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_olp_services_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_olp_services_result.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_order_error_info.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_order_error_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_order_field_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_order_info_tracking_link.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_order_update_error.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_orders_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_parcel_constraints.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_parcel_weights.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_postage_details_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_product_item_manufacturer.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_product_item_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_recipient_details_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_returns_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_sender_details_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_service_code.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_service_item.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_services_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_shipment.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_shipment_package_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_shipping_option_model.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_shipping_options.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_simple_create_api.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_tag_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_update_order_status_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_update_order_status_response.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_update_orders_status_request.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_updated_order_info.py +0 -0
- {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_version_api.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: click_and_drop_api
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.4.0
|
|
4
4
|
Summary: ChannelShipper & Royal Mail Public API
|
|
5
5
|
Author-email: Nicco Kunzmann <niccokunzmann@rambler.ru>, OpenAPI Generator Community <team@openapitools.org>
|
|
6
6
|
Project-URL: Documentation, https://niccokunzmann.github.io/python-royal-mail-click-and-drop-api/
|
|
@@ -20,6 +20,7 @@ from .types import (
|
|
|
20
20
|
UpdateOrdersStatus,
|
|
21
21
|
ManifestedOrders,
|
|
22
22
|
OrderInfo,
|
|
23
|
+
ReferenceLookup,
|
|
23
24
|
)
|
|
24
25
|
from .api import ClickAndDrop
|
|
25
26
|
from .mock import MockClickAndDrop
|
|
@@ -29,7 +30,15 @@ from .shipping.db import (
|
|
|
29
30
|
db,
|
|
30
31
|
)
|
|
31
32
|
from .shipping import check_service_codes
|
|
32
|
-
from .errors import
|
|
33
|
+
from .errors import ClickAndDropError, InvalidDimensions, InvalidWeight
|
|
34
|
+
from .strategy import (
|
|
35
|
+
CreateOrderStrategy,
|
|
36
|
+
NullStrategy,
|
|
37
|
+
PreparedOrders,
|
|
38
|
+
RejectDuplicateReferences,
|
|
39
|
+
ReplaceDuplicateReferences,
|
|
40
|
+
StrategyErrorCode,
|
|
41
|
+
)
|
|
33
42
|
|
|
34
43
|
__all__ = [
|
|
35
44
|
"ClickAndDrop",
|
|
@@ -37,6 +46,13 @@ __all__ = [
|
|
|
37
46
|
"CreateOrder",
|
|
38
47
|
"InvalidWeight",
|
|
39
48
|
"InvalidDimensions",
|
|
49
|
+
"ClickAndDropError",
|
|
50
|
+
"CreateOrderStrategy",
|
|
51
|
+
"NullStrategy",
|
|
52
|
+
"PreparedOrders",
|
|
53
|
+
"RejectDuplicateReferences",
|
|
54
|
+
"ReplaceDuplicateReferences",
|
|
55
|
+
"StrategyErrorCode",
|
|
40
56
|
"check_service_codes",
|
|
41
57
|
"RecipientDetails",
|
|
42
58
|
"Address",
|
|
@@ -49,6 +65,7 @@ __all__ = [
|
|
|
49
65
|
"UpdateOrderStatusResponse",
|
|
50
66
|
"LabelGeneration",
|
|
51
67
|
"OrderInfo",
|
|
68
|
+
"ReferenceLookup",
|
|
52
69
|
"ManifestedOrders",
|
|
53
70
|
"ManifestEligibleOrders",
|
|
54
71
|
"ManifestDetailsResponse",
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"""The simple API interface."""
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
+
from datetime import datetime
|
|
4
5
|
from typing import Literal, Optional, Union
|
|
5
6
|
from .base import AbstractClickAndDrop
|
|
7
|
+
from .strategy import CreateOrderStrategy, NullStrategy
|
|
6
8
|
from .types import CreateOrder
|
|
7
9
|
import click_and_drop_api
|
|
8
10
|
|
|
@@ -43,15 +45,23 @@ class ClickAndDrop(AbstractClickAndDrop):
|
|
|
43
45
|
|
|
44
46
|
host = "https://api.parcel.royalmail.com/api/v1"
|
|
45
47
|
"""The Click & Drop API host.
|
|
46
|
-
|
|
48
|
+
|
|
47
49
|
There seems to be only one host available.
|
|
48
50
|
"""
|
|
49
51
|
|
|
50
|
-
def __init__(
|
|
52
|
+
def __init__(
|
|
53
|
+
self, key: str, create_order_strategy: Optional[CreateOrderStrategy] = None
|
|
54
|
+
):
|
|
51
55
|
"""Create a new API object.
|
|
52
56
|
|
|
53
57
|
Parameters:
|
|
54
58
|
key: The Click & Drop API authorisation key.
|
|
59
|
+
create_order_strategy: The strategy to check orders before they are created.
|
|
60
|
+
See :mod:`click_and_drop_api.simple.strategy`.
|
|
61
|
+
|
|
62
|
+
Raises:
|
|
63
|
+
TypeError: The key is not a string.
|
|
64
|
+
ValueError: The key does not have about 36 characters or contains whitespace.
|
|
55
65
|
"""
|
|
56
66
|
if not isinstance(key, str):
|
|
57
67
|
raise TypeError(f"Expected str, got {key}.")
|
|
@@ -61,6 +71,9 @@ class ClickAndDrop(AbstractClickAndDrop):
|
|
|
61
71
|
if "".join(key.split()) != key:
|
|
62
72
|
raise ValueError(f"Expected no whitespace in {key!r}.")
|
|
63
73
|
self._key = key
|
|
74
|
+
self.create_order_strategy = (
|
|
75
|
+
NullStrategy() if create_order_strategy is None else create_order_strategy
|
|
76
|
+
)
|
|
64
77
|
self._configuration = click_and_drop_api.Configuration(host=self.host)
|
|
65
78
|
self._configuration.api_key["Bearer"] = self._key
|
|
66
79
|
self._api_client = click_and_drop_api.ApiClient(self._configuration)
|
|
@@ -72,6 +85,9 @@ class ClickAndDrop(AbstractClickAndDrop):
|
|
|
72
85
|
def get_version(self) -> click_and_drop_api.GetVersionResource:
|
|
73
86
|
"""Get the version of the Click & Drop API.
|
|
74
87
|
|
|
88
|
+
Raises:
|
|
89
|
+
click_and_drop_api.exceptions.ApiException: The request failed, see :class:`~click_and_drop_api.simple.base.AbstractClickAndDrop`.
|
|
90
|
+
|
|
75
91
|
https://api.parcel.royalmail.com/#tag/Version
|
|
76
92
|
"""
|
|
77
93
|
return self._version_api.get_version_async()
|
|
@@ -89,6 +105,9 @@ class ClickAndDrop(AbstractClickAndDrop):
|
|
|
89
105
|
"""Wether this is an OBA account.
|
|
90
106
|
|
|
91
107
|
Check wether this is an OBA account by trying to create an order service code.
|
|
108
|
+
|
|
109
|
+
Raises:
|
|
110
|
+
click_and_drop_api.exceptions.ApiException: The request failed, see :class:`~click_and_drop_api.simple.base.AbstractClickAndDrop`.
|
|
92
111
|
"""
|
|
93
112
|
if self._account_cache.is_oba is not None:
|
|
94
113
|
return self._account_cache.is_oba
|
|
@@ -108,6 +127,20 @@ class ClickAndDrop(AbstractClickAndDrop):
|
|
|
108
127
|
order_identifiers=order_identifiers_to_string(order_identifiers)
|
|
109
128
|
)
|
|
110
129
|
|
|
130
|
+
def _get_orders_page(
|
|
131
|
+
self,
|
|
132
|
+
page_size: int,
|
|
133
|
+
start: Optional[datetime],
|
|
134
|
+
end: Optional[datetime],
|
|
135
|
+
continuation_token: Optional[str],
|
|
136
|
+
) -> click_and_drop_api.GetOrdersResponse:
|
|
137
|
+
return self._orders_api.get_orders_async(
|
|
138
|
+
page_size=page_size,
|
|
139
|
+
start_date_time=start,
|
|
140
|
+
end_date_time=end,
|
|
141
|
+
continuation_token=continuation_token,
|
|
142
|
+
)
|
|
143
|
+
|
|
111
144
|
def _get_orders_details(
|
|
112
145
|
self, order_identifiers: list[Union[str, int]]
|
|
113
146
|
) -> list[click_and_drop_api.GetOrderDetailsResource]:
|
|
@@ -123,10 +156,8 @@ class ClickAndDrop(AbstractClickAndDrop):
|
|
|
123
156
|
)
|
|
124
157
|
|
|
125
158
|
def _create_orders(
|
|
126
|
-
self, orders:
|
|
159
|
+
self, orders: list[CreateOrder]
|
|
127
160
|
) -> click_and_drop_api.CreateOrdersResponse:
|
|
128
|
-
if not isinstance(orders, list):
|
|
129
|
-
orders = [orders]
|
|
130
161
|
request = click_and_drop_api.CreateOrdersRequest(items=orders)
|
|
131
162
|
return self._orders_api.create_orders_async(request)
|
|
132
163
|
|
|
@@ -168,6 +199,12 @@ class ClickAndDrop(AbstractClickAndDrop):
|
|
|
168
199
|
|
|
169
200
|
Label generation only available for orders with postage applied status.
|
|
170
201
|
|
|
202
|
+
Raises:
|
|
203
|
+
click_and_drop_api.exceptions.ForbiddenException: The account is not an OBA account.
|
|
204
|
+
click_and_drop_api.exceptions.BadRequestException: An order does not exist
|
|
205
|
+
or has no postage applied.
|
|
206
|
+
click_and_drop_api.exceptions.ApiException: The request failed, see :class:`~click_and_drop_api.simple.base.AbstractClickAndDrop`.
|
|
207
|
+
|
|
171
208
|
https://api.parcel.royalmail.com/#tag/Labels/operation/GetOrdersLabelAsync
|
|
172
209
|
"""
|
|
173
210
|
return self._labels_api.get_orders_label_async(
|