karrio-fedex 2025.5rc1__py3-none-any.whl
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.
- karrio/mappers/fedex/__init__.py +3 -0
- karrio/mappers/fedex/mapper.py +89 -0
- karrio/mappers/fedex/proxy.py +144 -0
- karrio/mappers/fedex/settings.py +24 -0
- karrio/plugins/fedex/__init__.py +23 -0
- karrio/providers/fedex/__init__.py +24 -0
- karrio/providers/fedex/document.py +88 -0
- karrio/providers/fedex/error.py +66 -0
- karrio/providers/fedex/pickup/__init__.py +9 -0
- karrio/providers/fedex/pickup/cancel.py +79 -0
- karrio/providers/fedex/pickup/create.py +148 -0
- karrio/providers/fedex/pickup/update.py +162 -0
- karrio/providers/fedex/rate.py +357 -0
- karrio/providers/fedex/shipment/__init__.py +9 -0
- karrio/providers/fedex/shipment/cancel.py +46 -0
- karrio/providers/fedex/shipment/create.py +748 -0
- karrio/providers/fedex/tracking.py +154 -0
- karrio/providers/fedex/units.py +501 -0
- karrio/providers/fedex/utils.py +199 -0
- karrio/schemas/fedex/__init__.py +0 -0
- karrio/schemas/fedex/cancel_pickup_request.py +31 -0
- karrio/schemas/fedex/cancel_pickup_response.py +24 -0
- karrio/schemas/fedex/cancel_request.py +17 -0
- karrio/schemas/fedex/cancel_response.py +25 -0
- karrio/schemas/fedex/error_response.py +16 -0
- karrio/schemas/fedex/paperless_request.py +30 -0
- karrio/schemas/fedex/paperless_response.py +21 -0
- karrio/schemas/fedex/pickup_request.py +106 -0
- karrio/schemas/fedex/pickup_response.py +25 -0
- karrio/schemas/fedex/rating_request.py +478 -0
- karrio/schemas/fedex/rating_responses.py +208 -0
- karrio/schemas/fedex/shipping_request.py +731 -0
- karrio/schemas/fedex/shipping_responses.py +584 -0
- karrio/schemas/fedex/tracking_document_request.py +30 -0
- karrio/schemas/fedex/tracking_document_response.py +30 -0
- karrio/schemas/fedex/tracking_request.py +23 -0
- karrio/schemas/fedex/tracking_response.py +350 -0
- karrio_fedex-2025.5rc1.dist-info/METADATA +45 -0
- karrio_fedex-2025.5rc1.dist-info/RECORD +42 -0
- karrio_fedex-2025.5rc1.dist-info/WHEEL +5 -0
- karrio_fedex-2025.5rc1.dist-info/entry_points.txt +2 -0
- karrio_fedex-2025.5rc1.dist-info/top_level.txt +3 -0
@@ -0,0 +1,46 @@
|
|
1
|
+
import karrio.schemas.fedex.cancel_request as fedex
|
2
|
+
import typing
|
3
|
+
import karrio.lib as lib
|
4
|
+
import karrio.core.models as models
|
5
|
+
import karrio.providers.fedex.error as error
|
6
|
+
import karrio.providers.fedex.utils as provider_utils
|
7
|
+
import karrio.providers.fedex.units as provider_units
|
8
|
+
|
9
|
+
|
10
|
+
def parse_shipment_cancel_response(
|
11
|
+
_response: lib.Deserializable[dict],
|
12
|
+
settings: provider_utils.Settings,
|
13
|
+
) -> typing.Tuple[models.ConfirmationDetails, typing.List[models.Message]]:
|
14
|
+
response = _response.deserialize()
|
15
|
+
messages = error.parse_error_response(response, settings)
|
16
|
+
success = lib.failsafe(lambda: response["output"]["cancelledShipment"])
|
17
|
+
|
18
|
+
confirmation = (
|
19
|
+
models.ConfirmationDetails(
|
20
|
+
carrier_id=settings.carrier_id,
|
21
|
+
carrier_name=settings.carrier_name,
|
22
|
+
operation="Cancel Shipment",
|
23
|
+
success=success,
|
24
|
+
)
|
25
|
+
if success is True
|
26
|
+
else None
|
27
|
+
)
|
28
|
+
|
29
|
+
return confirmation, messages
|
30
|
+
|
31
|
+
|
32
|
+
def shipment_cancel_request(
|
33
|
+
payload: models.ShipmentCancelRequest,
|
34
|
+
settings: provider_utils.Settings,
|
35
|
+
) -> lib.Serializable:
|
36
|
+
request = fedex.CancelRequestType(
|
37
|
+
accountNumber=fedex.AccountNumberType(
|
38
|
+
value=settings.account_number,
|
39
|
+
),
|
40
|
+
emailShipment=None,
|
41
|
+
senderCountryCode=None,
|
42
|
+
deletionControl="DELETE_ALL_PACKAGES",
|
43
|
+
trackingNumber=payload.shipment_identifier,
|
44
|
+
)
|
45
|
+
|
46
|
+
return lib.Serializable(request, lib.to_dict)
|