karrio-parcelone 2026.1.4__py3-none-any.whl → 2026.1.5__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/plugins/parcelone/__init__.py +1 -0
- karrio/providers/parcelone/shipment/cancel.py +5 -1
- karrio/providers/parcelone/tracking.py +2 -0
- karrio/providers/parcelone/units.py +46 -0
- karrio/schemas/parcelone/__init__.py +67 -4
- karrio/schemas/parcelone/cancel_response.py +37 -0
- karrio/schemas/parcelone/error.py +3 -9
- karrio/schemas/parcelone/shipping_request.py +129 -131
- karrio/schemas/parcelone/shipping_response.py +48 -117
- karrio/schemas/parcelone/tracking_response.py +4 -12
- {karrio_parcelone-2026.1.4.dist-info → karrio_parcelone-2026.1.5.dist-info}/METADATA +1 -1
- karrio_parcelone-2026.1.5.dist-info/RECORD +27 -0
- karrio_parcelone-2026.1.4.dist-info/RECORD +0 -26
- {karrio_parcelone-2026.1.4.dist-info → karrio_parcelone-2026.1.5.dist-info}/WHEEL +0 -0
- {karrio_parcelone-2026.1.4.dist-info → karrio_parcelone-2026.1.5.dist-info}/entry_points.txt +0 -0
- {karrio_parcelone-2026.1.4.dist-info → karrio_parcelone-2026.1.5.dist-info}/top_level.txt +0 -0
|
@@ -21,6 +21,7 @@ METADATA = PluginMetadata(
|
|
|
21
21
|
is_hub=True, # ParcelOne is a multi-carrier hub
|
|
22
22
|
options=units.ShippingOption,
|
|
23
23
|
services=units.ShippingService,
|
|
24
|
+
service_levels=units.DEFAULT_SERVICES,
|
|
24
25
|
connection_configs=units.ConnectionConfig,
|
|
25
26
|
# Extra info
|
|
26
27
|
website="https://parcel.one",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Karrio ParcelOne shipment cancellation implementation."""
|
|
2
2
|
|
|
3
3
|
import typing
|
|
4
|
+
import karrio.schemas.parcelone as parcelone
|
|
4
5
|
import karrio.lib as lib
|
|
5
6
|
import karrio.core.models as models
|
|
6
7
|
import karrio.providers.parcelone.error as error
|
|
@@ -14,7 +15,10 @@ def parse_shipment_cancel_response(
|
|
|
14
15
|
"""Parse shipment cancellation response from ParcelOne REST API."""
|
|
15
16
|
response = _response.deserialize()
|
|
16
17
|
messages = error.parse_error_response(response, settings)
|
|
17
|
-
|
|
18
|
+
|
|
19
|
+
cancel_response = lib.to_object(parcelone.CancelResponseType, response)
|
|
20
|
+
result = cancel_response.results
|
|
21
|
+
success = cancel_response.success == 1 and (result.Success == 1 if result else False)
|
|
18
22
|
|
|
19
23
|
confirmation = lib.identity(
|
|
20
24
|
models.ConfirmationDetails(
|
|
@@ -99,6 +99,7 @@ def _parse_tracking_event(event: parcelone.TrackingEventType) -> models.Tracking
|
|
|
99
99
|
try_formats=["%Y-%m-%dT%H:%M:%S", "%Y-%m-%d %H:%M:%S"],
|
|
100
100
|
)
|
|
101
101
|
status = provider_units.TrackingStatus.find(event.StatusCode)
|
|
102
|
+
reason = provider_units.TrackingIncidentReason.find(event.StatusCode)
|
|
102
103
|
|
|
103
104
|
return models.TrackingEvent(
|
|
104
105
|
date=date,
|
|
@@ -111,6 +112,7 @@ def _parse_tracking_event(event: parcelone.TrackingEventType) -> models.Tracking
|
|
|
111
112
|
current_format="%Y-%m-%dT%H:%M:%S",
|
|
112
113
|
),
|
|
113
114
|
status=status.name if status else None,
|
|
115
|
+
reason=reason.name if reason else None,
|
|
114
116
|
)
|
|
115
117
|
|
|
116
118
|
|
|
@@ -234,6 +234,50 @@ class TrackingStatus(lib.Enum):
|
|
|
234
234
|
]
|
|
235
235
|
|
|
236
236
|
|
|
237
|
+
class TrackingIncidentReason(lib.Enum):
|
|
238
|
+
"""Maps carrier exception codes to normalized incident reasons.
|
|
239
|
+
|
|
240
|
+
IMPORTANT: This enum is required for tracking implementations.
|
|
241
|
+
It maps carrier-specific exception/status codes to standardized
|
|
242
|
+
incident reasons for tracking events. The reason field helps
|
|
243
|
+
identify why a delivery exception occurred.
|
|
244
|
+
|
|
245
|
+
Categories of reasons:
|
|
246
|
+
- carrier_*: Issues caused by the carrier
|
|
247
|
+
- consignee_*: Issues caused by the recipient
|
|
248
|
+
- customs_*: Customs-related delays
|
|
249
|
+
- weather_*: Weather/force majeure events
|
|
250
|
+
"""
|
|
251
|
+
|
|
252
|
+
# Carrier-caused issues
|
|
253
|
+
carrier_damaged_parcel = ["DAMAGED", "DMG"]
|
|
254
|
+
carrier_sorting_error = ["MISROUTED", "MSR"]
|
|
255
|
+
carrier_address_not_found = ["ADDRESS_NOT_FOUND", "ANF"]
|
|
256
|
+
carrier_parcel_lost = ["LOST", "LP"]
|
|
257
|
+
carrier_not_enough_time = ["LATE", "NO_TIME"]
|
|
258
|
+
carrier_vehicle_issue = ["VEHICLE_BREAKDOWN", "VB"]
|
|
259
|
+
|
|
260
|
+
# Consignee-caused issues
|
|
261
|
+
consignee_refused = ["REFUSED", "RJ"]
|
|
262
|
+
consignee_business_closed = ["BUSINESS_CLOSED", "BC"]
|
|
263
|
+
consignee_not_available = ["NOT_AVAILABLE", "NA"]
|
|
264
|
+
consignee_not_home = ["NOT_HOME", "NH", "ADDRESSEE_NOT_FOUND"]
|
|
265
|
+
consignee_incorrect_address = ["WRONG_ADDRESS", "IA"]
|
|
266
|
+
consignee_access_restricted = ["ACCESS_RESTRICTED", "AR"]
|
|
267
|
+
|
|
268
|
+
# Customs-related issues
|
|
269
|
+
customs_delay = ["CUSTOMS", "CUSTOMS_CLEARANCE", "CD"]
|
|
270
|
+
customs_documentation = ["CUSTOMS_DOCS", "CM"]
|
|
271
|
+
customs_duties_unpaid = ["PAYMENT_REQUIRED", "DU"]
|
|
272
|
+
|
|
273
|
+
# Weather/force majeure
|
|
274
|
+
weather_delay = ["WEATHER", "WE"]
|
|
275
|
+
natural_disaster = ["NATURAL_DISASTER", "ND"]
|
|
276
|
+
|
|
277
|
+
# Unknown/unmapped
|
|
278
|
+
unknown = []
|
|
279
|
+
|
|
280
|
+
|
|
237
281
|
def load_services_from_csv() -> list:
|
|
238
282
|
"""
|
|
239
283
|
Load service definitions from CSV file.
|
|
@@ -311,6 +355,8 @@ def load_services_from_csv() -> list:
|
|
|
311
355
|
zone = models.ServiceZone(
|
|
312
356
|
label=row.get("zone_label", "Default Zone"),
|
|
313
357
|
rate=float(row.get("rate", 0.0)),
|
|
358
|
+
min_weight=float(row["min_weight"]) if row.get("min_weight") else None,
|
|
359
|
+
max_weight=float(row["max_weight"]) if row.get("max_weight") else None,
|
|
314
360
|
transit_days=transit_days,
|
|
315
361
|
country_codes=country_codes if country_codes else None,
|
|
316
362
|
)
|
|
@@ -1,6 +1,69 @@
|
|
|
1
1
|
"""ParcelOne API schema types."""
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
from karrio.schemas.parcelone.
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
# Import shipping request types
|
|
4
|
+
from karrio.schemas.parcelone.shipping_request import (
|
|
5
|
+
CepSpecialType,
|
|
6
|
+
FormatType,
|
|
7
|
+
MaxChargesType,
|
|
8
|
+
CustomDetailType,
|
|
9
|
+
IntDocDataType,
|
|
10
|
+
PackageDimensionsType,
|
|
11
|
+
PackageVolumeClassType,
|
|
12
|
+
ServiceType,
|
|
13
|
+
PackageType,
|
|
14
|
+
BankAccountType,
|
|
15
|
+
ShipmentAddressType,
|
|
16
|
+
ShipmentContactType,
|
|
17
|
+
ShipFromDataType,
|
|
18
|
+
ShipToDataType,
|
|
19
|
+
ShippingDataType,
|
|
20
|
+
ShippingRequestType,
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
# Import shipping response types with prefixes to avoid collision
|
|
24
|
+
from karrio.schemas.parcelone.shipping_response import (
|
|
25
|
+
ErrorType as ShipmentErrorType,
|
|
26
|
+
WarningType as ShipmentWarningType,
|
|
27
|
+
ActionResultType as ShipmentActionResultType,
|
|
28
|
+
TotalChargesType,
|
|
29
|
+
FormatType as ResponseFormatType,
|
|
30
|
+
DocumentsResultType as ShipmentDocumentsResultType,
|
|
31
|
+
PackageResultType as ShipmentPackageResultType,
|
|
32
|
+
ResultsType as ShipmentResultType,
|
|
33
|
+
ShippingResponseType,
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
# Import tracking response types
|
|
37
|
+
from karrio.schemas.parcelone.tracking_response import (
|
|
38
|
+
EventType as TrackingEventType,
|
|
39
|
+
ResultsType as TrackingResultType,
|
|
40
|
+
TrackingResponseType,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
# Import cancel response types
|
|
44
|
+
from karrio.schemas.parcelone.cancel_response import (
|
|
45
|
+
ErrorType as CancelErrorType,
|
|
46
|
+
WarningType as CancelWarningType,
|
|
47
|
+
ResultsType as CancelResultType,
|
|
48
|
+
CancelResponseType,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
# Import error types
|
|
52
|
+
from karrio.schemas.parcelone.error import (
|
|
53
|
+
ErrorType as ErrorDetailType,
|
|
54
|
+
ErrorResponseType,
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
# Backwards compatibility aliases for shipping request types
|
|
58
|
+
ShippingDataRequestType = ShippingRequestType
|
|
59
|
+
ShipmentType = ShippingDataType
|
|
60
|
+
AddressType = ShipmentAddressType
|
|
61
|
+
ContactType = ShipmentContactType
|
|
62
|
+
ShipToType = ShipToDataType
|
|
63
|
+
ShipFromType = ShipFromDataType
|
|
64
|
+
MeasurementType = PackageVolumeClassType
|
|
65
|
+
DimensionsType = PackageDimensionsType
|
|
66
|
+
AmountType = MaxChargesType
|
|
67
|
+
ShipmentServiceType = ServiceType
|
|
68
|
+
ShipmentPackageType = PackageType
|
|
69
|
+
CEPSpecialType = CepSpecialType
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import attr
|
|
2
|
+
import jstruct
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@attr.s(auto_attribs=True)
|
|
7
|
+
class ErrorType:
|
|
8
|
+
ErrorNo: typing.Optional[str] = None
|
|
9
|
+
Message: typing.Optional[str] = None
|
|
10
|
+
StatusCode: typing.Optional[int] = None
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@attr.s(auto_attribs=True)
|
|
14
|
+
class WarningType:
|
|
15
|
+
WarningNo: typing.Optional[str] = None
|
|
16
|
+
Message: typing.Optional[str] = None
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@attr.s(auto_attribs=True)
|
|
20
|
+
class ResultsType:
|
|
21
|
+
ShipmentID: typing.Optional[int] = None
|
|
22
|
+
ShipmentRef: typing.Optional[str] = None
|
|
23
|
+
TrackingID: typing.Optional[str] = None
|
|
24
|
+
Success: typing.Optional[int] = None
|
|
25
|
+
Errors: typing.Optional[typing.List[ErrorType]] = jstruct.JList[ErrorType]
|
|
26
|
+
Warnings: typing.Optional[typing.List[WarningType]] = jstruct.JList[WarningType]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@attr.s(auto_attribs=True)
|
|
30
|
+
class CancelResponseType:
|
|
31
|
+
status: typing.Optional[int] = None
|
|
32
|
+
success: typing.Optional[int] = None
|
|
33
|
+
message: typing.Optional[str] = None
|
|
34
|
+
type: typing.Optional[str] = None
|
|
35
|
+
instance: typing.Optional[str] = None
|
|
36
|
+
results: typing.Optional[ResultsType] = jstruct.JStruct[ResultsType]
|
|
37
|
+
UniqId: typing.Optional[str] = None
|
|
@@ -1,27 +1,21 @@
|
|
|
1
|
-
"""ParcelOne REST API v1 - Error Types."""
|
|
2
|
-
|
|
3
1
|
import attr
|
|
4
2
|
import jstruct
|
|
5
3
|
import typing
|
|
6
4
|
|
|
7
5
|
|
|
8
6
|
@attr.s(auto_attribs=True)
|
|
9
|
-
class
|
|
10
|
-
"""Error detail information."""
|
|
11
|
-
|
|
7
|
+
class ErrorType:
|
|
12
8
|
ErrorNo: typing.Optional[str] = None
|
|
13
9
|
Message: typing.Optional[str] = None
|
|
14
|
-
StatusCode: typing.Optional[
|
|
10
|
+
StatusCode: typing.Optional[int] = None
|
|
15
11
|
|
|
16
12
|
|
|
17
13
|
@attr.s(auto_attribs=True)
|
|
18
14
|
class ErrorResponseType:
|
|
19
|
-
"""API error response."""
|
|
20
|
-
|
|
21
15
|
status: typing.Optional[int] = None
|
|
22
16
|
success: typing.Optional[int] = None
|
|
23
17
|
message: typing.Optional[str] = None
|
|
24
18
|
type: typing.Optional[str] = None
|
|
25
19
|
instance: typing.Optional[str] = None
|
|
26
|
-
errors: typing.Optional[typing.List[
|
|
20
|
+
errors: typing.Optional[typing.List[ErrorType]] = jstruct.JList[ErrorType]
|
|
27
21
|
UniqId: typing.Optional[str] = None
|
|
@@ -1,69 +1,16 @@
|
|
|
1
|
-
"""ParcelOne Shipping REST API v1 - Request Types."""
|
|
2
|
-
|
|
3
1
|
import attr
|
|
4
2
|
import jstruct
|
|
5
3
|
import typing
|
|
6
4
|
|
|
7
5
|
|
|
8
6
|
@attr.s(auto_attribs=True)
|
|
9
|
-
class
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Street: typing.Optional[str] = None
|
|
13
|
-
Streetno: typing.Optional[str] = None
|
|
14
|
-
PostalCode: typing.Optional[str] = None
|
|
15
|
-
City: typing.Optional[str] = None
|
|
16
|
-
District: typing.Optional[str] = None
|
|
17
|
-
State: typing.Optional[str] = None
|
|
18
|
-
Country: typing.Optional[str] = None
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
@attr.s(auto_attribs=True)
|
|
22
|
-
class ContactType:
|
|
23
|
-
"""Contact information."""
|
|
24
|
-
|
|
25
|
-
Email: typing.Optional[str] = None
|
|
26
|
-
Phone: typing.Optional[str] = None
|
|
27
|
-
Mobile: typing.Optional[str] = None
|
|
28
|
-
Fax: typing.Optional[str] = None
|
|
29
|
-
AttentionName: typing.Optional[str] = None
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
@attr.s(auto_attribs=True)
|
|
33
|
-
class ShipToType:
|
|
34
|
-
"""Recipient/consignee address data."""
|
|
35
|
-
|
|
36
|
-
Name1: typing.Optional[str] = None
|
|
37
|
-
Name2: typing.Optional[str] = None
|
|
38
|
-
Name3: typing.Optional[str] = None
|
|
39
|
-
Reference: typing.Optional[str] = None
|
|
40
|
-
ShipmentAddress: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
|
|
41
|
-
ShipmentContact: typing.Optional[ContactType] = jstruct.JStruct[ContactType]
|
|
42
|
-
PrivateAddressIndicator: typing.Optional[int] = None
|
|
43
|
-
SalesTaxID: typing.Optional[str] = None
|
|
44
|
-
CustomsID: typing.Optional[str] = None
|
|
45
|
-
BranchID: typing.Optional[str] = None
|
|
46
|
-
CEPCustID: typing.Optional[str] = None
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
@attr.s(auto_attribs=True)
|
|
50
|
-
class ShipFromType:
|
|
51
|
-
"""Consigner/sender address data."""
|
|
52
|
-
|
|
53
|
-
Name1: typing.Optional[str] = None
|
|
54
|
-
Name2: typing.Optional[str] = None
|
|
55
|
-
Name3: typing.Optional[str] = None
|
|
56
|
-
Reference: typing.Optional[str] = None
|
|
57
|
-
ShipmentAddress: typing.Optional[AddressType] = jstruct.JStruct[AddressType]
|
|
58
|
-
ShipmentContact: typing.Optional[ContactType] = jstruct.JStruct[ContactType]
|
|
59
|
-
SalesTaxID: typing.Optional[str] = None
|
|
60
|
-
CustomsID: typing.Optional[str] = None
|
|
7
|
+
class CepSpecialType:
|
|
8
|
+
Key: typing.Optional[str] = None
|
|
9
|
+
Value: typing.Optional[str] = None
|
|
61
10
|
|
|
62
11
|
|
|
63
12
|
@attr.s(auto_attribs=True)
|
|
64
13
|
class FormatType:
|
|
65
|
-
"""Document format specification."""
|
|
66
|
-
|
|
67
14
|
Type: typing.Optional[str] = None
|
|
68
15
|
Size: typing.Optional[str] = None
|
|
69
16
|
Unit: typing.Optional[str] = None
|
|
@@ -73,122 +20,175 @@ class FormatType:
|
|
|
73
20
|
|
|
74
21
|
|
|
75
22
|
@attr.s(auto_attribs=True)
|
|
76
|
-
class
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
Unit: typing.Optional[str] = None
|
|
23
|
+
class MaxChargesType:
|
|
24
|
+
Currency: typing.Optional[str] = None
|
|
80
25
|
Value: typing.Optional[str] = None
|
|
26
|
+
Description: typing.Optional[str] = None
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@attr.s(auto_attribs=True)
|
|
30
|
+
class CustomDetailType:
|
|
31
|
+
Contents: typing.Optional[str] = None
|
|
32
|
+
Quantity: typing.Optional[int] = None
|
|
33
|
+
NetWeightPerItem: typing.Optional[float] = None
|
|
34
|
+
NetWeight: typing.Optional[float] = None
|
|
35
|
+
ItemValuePerItem: typing.Optional[float] = None
|
|
36
|
+
ItemValue: typing.Optional[float] = None
|
|
37
|
+
TariffNumber: typing.Optional[int] = None
|
|
38
|
+
Origin: typing.Optional[str] = None
|
|
39
|
+
AdditionalInfo: typing.Optional[typing.List[CepSpecialType]] = jstruct.JList[CepSpecialType]
|
|
81
40
|
|
|
82
41
|
|
|
83
42
|
@attr.s(auto_attribs=True)
|
|
84
|
-
class
|
|
85
|
-
|
|
43
|
+
class IntDocDataType:
|
|
44
|
+
PrintInternationalDocuments: typing.Optional[int] = None
|
|
45
|
+
InternationalDocumentFormat: typing.Optional[FormatType] = jstruct.JStruct[FormatType]
|
|
46
|
+
ConsignerCustomsID: typing.Optional[int] = None
|
|
47
|
+
ShipToRef: typing.Optional[str] = None
|
|
48
|
+
CustomDetails: typing.Optional[typing.List[CustomDetailType]] = jstruct.JList[CustomDetailType]
|
|
49
|
+
Postage: typing.Optional[float] = None
|
|
50
|
+
TotalValue: typing.Optional[float] = None
|
|
51
|
+
Currency: typing.Optional[str] = None
|
|
52
|
+
TotalWeightkg: typing.Optional[float] = None
|
|
53
|
+
ItemCategory: typing.Optional[int] = None
|
|
54
|
+
Explanation: typing.Optional[str] = None
|
|
55
|
+
OfficeOfOrigin: typing.Optional[str] = None
|
|
56
|
+
Comments: typing.Optional[str] = None
|
|
57
|
+
Date: typing.Optional[str] = None
|
|
58
|
+
License: typing.Optional[int] = None
|
|
59
|
+
LicenseNo: typing.Optional[str] = None
|
|
60
|
+
Certificate: typing.Optional[int] = None
|
|
61
|
+
CertificateNo: typing.Optional[str] = None
|
|
62
|
+
Invoice: typing.Optional[int] = None
|
|
63
|
+
InvoiceNo: typing.Optional[str] = None
|
|
64
|
+
NonDeliveryInstruction: typing.Optional[str] = None
|
|
65
|
+
ServiceLevel: typing.Optional[str] = None
|
|
66
|
+
ValidatedForExport: typing.Optional[str] = None
|
|
67
|
+
AdditionalInfo: typing.Optional[typing.List[CepSpecialType]] = jstruct.JList[CepSpecialType]
|
|
86
68
|
|
|
69
|
+
|
|
70
|
+
@attr.s(auto_attribs=True)
|
|
71
|
+
class PackageDimensionsType:
|
|
72
|
+
Measurement: typing.Optional[str] = None
|
|
87
73
|
Length: typing.Optional[str] = None
|
|
88
74
|
Width: typing.Optional[str] = None
|
|
89
75
|
Height: typing.Optional[str] = None
|
|
90
76
|
|
|
91
77
|
|
|
92
78
|
@attr.s(auto_attribs=True)
|
|
93
|
-
class
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
Currency: typing.Optional[str] = None
|
|
79
|
+
class PackageVolumeClassType:
|
|
80
|
+
Unit: typing.Optional[str] = None
|
|
97
81
|
Value: typing.Optional[str] = None
|
|
98
|
-
Description: typing.Optional[str] = None
|
|
99
82
|
|
|
100
83
|
|
|
101
84
|
@attr.s(auto_attribs=True)
|
|
102
|
-
class
|
|
103
|
-
"""Service for shipment or package."""
|
|
104
|
-
|
|
85
|
+
class ServiceType:
|
|
105
86
|
ServiceID: typing.Optional[str] = None
|
|
106
|
-
Value: typing.Optional[
|
|
87
|
+
Value: typing.Optional[MaxChargesType] = jstruct.JStruct[MaxChargesType]
|
|
107
88
|
Parameters: typing.Optional[str] = None
|
|
108
89
|
|
|
109
90
|
|
|
110
91
|
@attr.s(auto_attribs=True)
|
|
111
|
-
class
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
92
|
+
class PackageType:
|
|
93
|
+
PackageID: typing.Optional[str] = None
|
|
94
|
+
PackageRef: typing.Optional[str] = None
|
|
95
|
+
PackageTrackingID: typing.Optional[str] = None
|
|
96
|
+
PackageType: typing.Optional[str] = None
|
|
97
|
+
PackageWeight: typing.Optional[PackageVolumeClassType] = jstruct.JStruct[PackageVolumeClassType]
|
|
98
|
+
PackageDimensions: typing.Optional[PackageDimensionsType] = jstruct.JStruct[PackageDimensionsType]
|
|
99
|
+
PackageVolume: typing.Optional[PackageVolumeClassType] = jstruct.JStruct[PackageVolumeClassType]
|
|
100
|
+
Services: typing.Optional[typing.List[ServiceType]] = jstruct.JList[ServiceType]
|
|
101
|
+
IntDocData: typing.Optional[IntDocDataType] = jstruct.JStruct[IntDocDataType]
|
|
102
|
+
Remarks: typing.Optional[str] = None
|
|
122
103
|
|
|
123
104
|
|
|
124
105
|
@attr.s(auto_attribs=True)
|
|
125
|
-
class
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
106
|
+
class BankAccountType:
|
|
107
|
+
BankCode: typing.Optional[str] = None
|
|
108
|
+
Bank: typing.Optional[str] = None
|
|
109
|
+
AccountOwner: typing.Optional[str] = None
|
|
110
|
+
AccountNumber: typing.Optional[str] = None
|
|
111
|
+
Iban: typing.Optional[str] = None
|
|
112
|
+
Bic: typing.Optional[str] = None
|
|
130
113
|
|
|
131
114
|
|
|
132
115
|
@attr.s(auto_attribs=True)
|
|
133
|
-
class
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
ShipToRef: typing.Optional[str] = None
|
|
142
|
-
TotalWeightkg: typing.Optional[float] = None
|
|
143
|
-
Postage: typing.Optional[float] = None
|
|
144
|
-
ItemCategory: typing.Optional[int] = None
|
|
145
|
-
CustomDetails: typing.Optional[typing.List[CustomDetailType]] = jstruct.JList[CustomDetailType]
|
|
116
|
+
class ShipmentAddressType:
|
|
117
|
+
Street: typing.Optional[str] = None
|
|
118
|
+
Streetno: typing.Optional[int] = None
|
|
119
|
+
PostalCode: typing.Optional[int] = None
|
|
120
|
+
City: typing.Optional[str] = None
|
|
121
|
+
District: typing.Optional[str] = None
|
|
122
|
+
State: typing.Optional[str] = None
|
|
123
|
+
Country: typing.Optional[str] = None
|
|
146
124
|
|
|
147
125
|
|
|
148
126
|
@attr.s(auto_attribs=True)
|
|
149
|
-
class
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
127
|
+
class ShipmentContactType:
|
|
128
|
+
Email: typing.Optional[str] = None
|
|
129
|
+
Phone: typing.Optional[str] = None
|
|
130
|
+
Mobile: typing.Optional[str] = None
|
|
131
|
+
Fax: typing.Optional[str] = None
|
|
132
|
+
Company: typing.Optional[str] = None
|
|
133
|
+
ContactPerson: typing.Optional[str] = None
|
|
134
|
+
AttentionName: typing.Optional[str] = None
|
|
135
|
+
Salutation: typing.Optional[str] = None
|
|
136
|
+
FirstName: typing.Optional[str] = None
|
|
137
|
+
LastName: typing.Optional[str] = None
|
|
138
|
+
BirthDate: typing.Optional[str] = None
|
|
160
139
|
|
|
161
140
|
|
|
162
141
|
@attr.s(auto_attribs=True)
|
|
163
|
-
class
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
142
|
+
class ShipFromDataType:
|
|
143
|
+
Reference: typing.Optional[str] = None
|
|
144
|
+
Name1: typing.Optional[str] = None
|
|
145
|
+
Name2: typing.Optional[str] = None
|
|
146
|
+
Name3: typing.Optional[str] = None
|
|
147
|
+
ShipmentAddress: typing.Optional[ShipmentAddressType] = jstruct.JStruct[ShipmentAddressType]
|
|
148
|
+
ShipmentContact: typing.Optional[ShipmentContactType] = jstruct.JStruct[ShipmentContactType]
|
|
149
|
+
SalesTaxID: typing.Optional[str] = None
|
|
150
|
+
CustomsID: typing.Optional[str] = None
|
|
151
|
+
BankAccount: typing.Optional[BankAccountType] = jstruct.JStruct[BankAccountType]
|
|
168
152
|
|
|
169
153
|
|
|
170
154
|
@attr.s(auto_attribs=True)
|
|
171
|
-
class
|
|
172
|
-
|
|
155
|
+
class ShipToDataType:
|
|
156
|
+
Reference: typing.Optional[str] = None
|
|
157
|
+
Name1: typing.Optional[str] = None
|
|
158
|
+
Name2: typing.Optional[str] = None
|
|
159
|
+
Name3: typing.Optional[str] = None
|
|
160
|
+
ShipmentAddress: typing.Optional[ShipmentAddressType] = jstruct.JStruct[ShipmentAddressType]
|
|
161
|
+
PrivateAddressIndicator: typing.Optional[int] = None
|
|
162
|
+
ShipmentContact: typing.Optional[ShipmentContactType] = jstruct.JStruct[ShipmentContactType]
|
|
163
|
+
SalesTaxID: typing.Optional[str] = None
|
|
164
|
+
CustomsID: typing.Optional[str] = None
|
|
165
|
+
BranchID: typing.Optional[str] = None
|
|
166
|
+
CEPCustID: typing.Optional[str] = None
|
|
167
|
+
|
|
173
168
|
|
|
169
|
+
@attr.s(auto_attribs=True)
|
|
170
|
+
class ShippingDataType:
|
|
171
|
+
ShipmentID: typing.Optional[str] = None
|
|
174
172
|
ShipmentRef: typing.Optional[str] = None
|
|
173
|
+
TrackingID: typing.Optional[str] = None
|
|
175
174
|
CEPID: typing.Optional[str] = None
|
|
176
175
|
ProductID: typing.Optional[str] = None
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
176
|
+
CustomerID: typing.Optional[str] = None
|
|
177
|
+
MandatorID: typing.Optional[int] = None
|
|
178
|
+
ConsignerID: typing.Optional[int] = None
|
|
179
|
+
ShipToData: typing.Optional[ShipToDataType] = jstruct.JStruct[ShipToDataType]
|
|
180
|
+
ShipFromData: typing.Optional[ShipFromDataType] = jstruct.JStruct[ShipFromDataType]
|
|
181
181
|
ReturnShipmentIndicator: typing.Optional[int] = None
|
|
182
182
|
PrintLabel: typing.Optional[int] = None
|
|
183
183
|
LabelFormat: typing.Optional[FormatType] = jstruct.JStruct[FormatType]
|
|
184
184
|
PrintDocuments: typing.Optional[int] = None
|
|
185
|
-
DocumentFormat: typing.Optional[FormatType] = jstruct.JStruct[FormatType]
|
|
186
185
|
ReturnCharges: typing.Optional[int] = None
|
|
187
|
-
MaxCharges: typing.Optional[
|
|
186
|
+
MaxCharges: typing.Optional[MaxChargesType] = jstruct.JStruct[MaxChargesType]
|
|
187
|
+
DocumentFormat: typing.Optional[FormatType] = jstruct.JStruct[FormatType]
|
|
188
188
|
Software: typing.Optional[str] = None
|
|
189
|
-
Packages: typing.Optional[typing.List[
|
|
190
|
-
Services: typing.Optional[typing.List[
|
|
191
|
-
CEPSpecials: typing.Optional[typing.List[
|
|
189
|
+
Packages: typing.Optional[typing.List[PackageType]] = jstruct.JList[PackageType]
|
|
190
|
+
Services: typing.Optional[typing.List[ServiceType]] = jstruct.JList[ServiceType]
|
|
191
|
+
CEPSpecials: typing.Optional[typing.List[CepSpecialType]] = jstruct.JList[CepSpecialType]
|
|
192
192
|
CostCenter: typing.Optional[str] = None
|
|
193
193
|
Other1: typing.Optional[str] = None
|
|
194
194
|
Other2: typing.Optional[str] = None
|
|
@@ -196,7 +196,5 @@ class ShipmentType:
|
|
|
196
196
|
|
|
197
197
|
|
|
198
198
|
@attr.s(auto_attribs=True)
|
|
199
|
-
class
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
ShippingData: typing.Optional[ShipmentType] = jstruct.JStruct[ShipmentType]
|
|
199
|
+
class ShippingRequestType:
|
|
200
|
+
ShippingData: typing.Optional[ShippingDataType] = jstruct.JStruct[ShippingDataType]
|
|
@@ -1,108 +1,90 @@
|
|
|
1
|
-
"""ParcelOne Shipping REST API v1 - Response Types."""
|
|
2
|
-
|
|
3
1
|
import attr
|
|
4
2
|
import jstruct
|
|
5
3
|
import typing
|
|
6
4
|
|
|
7
5
|
|
|
8
6
|
@attr.s(auto_attribs=True)
|
|
9
|
-
class
|
|
10
|
-
"""Document format."""
|
|
11
|
-
|
|
12
|
-
Type: typing.Optional[str] = None
|
|
13
|
-
Size: typing.Optional[str] = None
|
|
14
|
-
Unit: typing.Optional[str] = None
|
|
15
|
-
Orientation: typing.Optional[int] = None
|
|
16
|
-
Height: typing.Optional[str] = None
|
|
17
|
-
Width: typing.Optional[str] = None
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
@attr.s(auto_attribs=True)
|
|
21
|
-
class AmountType:
|
|
22
|
-
"""Monetary amount."""
|
|
23
|
-
|
|
24
|
-
Currency: typing.Optional[str] = None
|
|
25
|
-
Value: typing.Optional[str] = None
|
|
26
|
-
Description: typing.Optional[str] = None
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
@attr.s(auto_attribs=True)
|
|
30
|
-
class ShipmentErrorType:
|
|
31
|
-
"""Error information."""
|
|
32
|
-
|
|
7
|
+
class ErrorType:
|
|
33
8
|
ErrorNo: typing.Optional[str] = None
|
|
34
9
|
Message: typing.Optional[str] = None
|
|
35
|
-
StatusCode: typing.Optional[
|
|
10
|
+
StatusCode: typing.Optional[int] = None
|
|
36
11
|
|
|
37
12
|
|
|
38
13
|
@attr.s(auto_attribs=True)
|
|
39
|
-
class
|
|
40
|
-
"""Warning information."""
|
|
41
|
-
|
|
14
|
+
class WarningType:
|
|
42
15
|
WarningNo: typing.Optional[str] = None
|
|
43
16
|
Message: typing.Optional[str] = None
|
|
44
|
-
StatusCode: typing.Optional[
|
|
17
|
+
StatusCode: typing.Optional[int] = None
|
|
45
18
|
|
|
46
19
|
|
|
47
20
|
@attr.s(auto_attribs=True)
|
|
48
|
-
class
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
ShipmentID: typing.Optional[str] = None
|
|
21
|
+
class ActionResultType:
|
|
22
|
+
ShipmentID: typing.Optional[int] = None
|
|
52
23
|
ShipmentRef: typing.Optional[str] = None
|
|
53
24
|
TrackingID: typing.Optional[str] = None
|
|
54
25
|
Success: typing.Optional[int] = None
|
|
55
|
-
Errors: typing.Optional[typing.List[
|
|
56
|
-
Warnings: typing.Optional[typing.List[
|
|
26
|
+
Errors: typing.Optional[typing.List[ErrorType]] = jstruct.JList[ErrorType]
|
|
27
|
+
Warnings: typing.Optional[typing.List[WarningType]] = jstruct.JList[WarningType]
|
|
57
28
|
|
|
58
29
|
|
|
59
30
|
@attr.s(auto_attribs=True)
|
|
60
|
-
class
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
PackageID: typing.Optional[int] = None
|
|
65
|
-
PackageRef: typing.Optional[str] = None
|
|
66
|
-
TrackingID: typing.Optional[str] = None
|
|
67
|
-
DocType: typing.Optional[str] = None
|
|
68
|
-
Format: typing.Optional[FormatType] = jstruct.JStruct[FormatType]
|
|
69
|
-
Label: typing.Optional[str] = None
|
|
70
|
-
TrackingURL: typing.Optional[str] = None
|
|
71
|
-
CarrierTrackURL: typing.Optional[str] = None
|
|
72
|
-
Charges: typing.Optional[typing.List[AmountType]] = jstruct.JList[AmountType]
|
|
31
|
+
class TotalChargesType:
|
|
32
|
+
Currency: typing.Optional[str] = None
|
|
33
|
+
Value: typing.Optional[str] = None
|
|
34
|
+
Description: typing.Optional[str] = None
|
|
73
35
|
|
|
74
36
|
|
|
75
37
|
@attr.s(auto_attribs=True)
|
|
76
|
-
class
|
|
77
|
-
|
|
38
|
+
class FormatType:
|
|
39
|
+
Type: typing.Optional[str] = None
|
|
40
|
+
Size: typing.Optional[str] = None
|
|
41
|
+
Unit: typing.Optional[str] = None
|
|
42
|
+
Orientation: typing.Optional[int] = None
|
|
43
|
+
Height: typing.Optional[int] = None
|
|
44
|
+
Width: typing.Optional[int] = None
|
|
45
|
+
|
|
78
46
|
|
|
79
|
-
|
|
80
|
-
|
|
47
|
+
@attr.s(auto_attribs=True)
|
|
48
|
+
class DocumentsResultType:
|
|
49
|
+
ShipmentID: typing.Optional[int] = None
|
|
50
|
+
PackageID: typing.Optional[int] = None
|
|
81
51
|
TrackingID: typing.Optional[str] = None
|
|
82
52
|
DocType: typing.Optional[str] = None
|
|
83
53
|
Format: typing.Optional[FormatType] = jstruct.JStruct[FormatType]
|
|
84
54
|
Document: typing.Optional[str] = None
|
|
85
|
-
Charges: typing.Optional[typing.List[
|
|
55
|
+
Charges: typing.Optional[typing.List[TotalChargesType]] = jstruct.JList[TotalChargesType]
|
|
86
56
|
PackageRef: typing.Optional[str] = None
|
|
87
57
|
PackageTrackingID: typing.Optional[str] = None
|
|
88
|
-
ActionResult: typing.Optional[
|
|
58
|
+
ActionResult: typing.Optional[ActionResultType] = jstruct.JStruct[ActionResultType]
|
|
89
59
|
DocumentID: typing.Optional[str] = None
|
|
90
60
|
Type: typing.Optional[str] = None
|
|
91
61
|
Size: typing.Optional[str] = None
|
|
92
62
|
|
|
93
63
|
|
|
94
64
|
@attr.s(auto_attribs=True)
|
|
95
|
-
class
|
|
96
|
-
|
|
65
|
+
class PackageResultType:
|
|
66
|
+
ShipmentID: typing.Optional[int] = None
|
|
67
|
+
PackageID: typing.Optional[int] = None
|
|
68
|
+
PackageRef: typing.Optional[str] = None
|
|
69
|
+
TrackingID: typing.Optional[str] = None
|
|
70
|
+
DocType: typing.Optional[str] = None
|
|
71
|
+
Format: typing.Optional[FormatType] = jstruct.JStruct[FormatType]
|
|
72
|
+
Label: typing.Optional[str] = None
|
|
73
|
+
TrackingURL: typing.Optional[str] = None
|
|
74
|
+
CarrierTrackURL: typing.Optional[str] = None
|
|
75
|
+
Charges: typing.Optional[typing.List[TotalChargesType]] = jstruct.JList[TotalChargesType]
|
|
76
|
+
|
|
97
77
|
|
|
98
|
-
|
|
99
|
-
|
|
78
|
+
@attr.s(auto_attribs=True)
|
|
79
|
+
class ResultsType:
|
|
80
|
+
YourShipmentID: typing.Optional[int] = None
|
|
81
|
+
ActionResult: typing.Optional[ActionResultType] = jstruct.JStruct[ActionResultType]
|
|
100
82
|
LabelURL: typing.Optional[str] = None
|
|
101
|
-
Charges: typing.Optional[typing.List[
|
|
102
|
-
TotalCharges: typing.Optional[
|
|
103
|
-
PackageResults: typing.Optional[typing.List[
|
|
104
|
-
DocumentsResults: typing.Optional[typing.List[
|
|
105
|
-
InternationalDocumentsResults: typing.Optional[typing.List[
|
|
83
|
+
Charges: typing.Optional[typing.List[TotalChargesType]] = jstruct.JList[TotalChargesType]
|
|
84
|
+
TotalCharges: typing.Optional[TotalChargesType] = jstruct.JStruct[TotalChargesType]
|
|
85
|
+
PackageResults: typing.Optional[typing.List[PackageResultType]] = jstruct.JList[PackageResultType]
|
|
86
|
+
DocumentsResults: typing.Optional[typing.List[DocumentsResultType]] = jstruct.JList[DocumentsResultType]
|
|
87
|
+
InternationalDocumentsResults: typing.Optional[typing.List[DocumentsResultType]] = jstruct.JList[DocumentsResultType]
|
|
106
88
|
LabelsAvailable: typing.Optional[int] = None
|
|
107
89
|
DocumentsAvailable: typing.Optional[int] = None
|
|
108
90
|
InternationalDocumentsAvailable: typing.Optional[int] = None
|
|
@@ -111,61 +93,10 @@ class ShipmentResultType:
|
|
|
111
93
|
|
|
112
94
|
@attr.s(auto_attribs=True)
|
|
113
95
|
class ShippingResponseType:
|
|
114
|
-
"""Root shipping response wrapper."""
|
|
115
|
-
|
|
116
|
-
status: typing.Optional[int] = None
|
|
117
|
-
success: typing.Optional[int] = None
|
|
118
|
-
message: typing.Optional[str] = None
|
|
119
|
-
type: typing.Optional[str] = None
|
|
120
|
-
instance: typing.Optional[str] = None
|
|
121
|
-
results: typing.Optional[ShipmentResultType] = jstruct.JStruct[ShipmentResultType]
|
|
122
|
-
UniqId: typing.Optional[str] = None
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
@attr.s(auto_attribs=True)
|
|
126
|
-
class ShipmentStatusResultType:
|
|
127
|
-
"""Shipment status result."""
|
|
128
|
-
|
|
129
|
-
ActionResult: typing.Optional[ShipmentActionResultType] = jstruct.JStruct[ShipmentActionResultType]
|
|
130
|
-
ShipmentStatusCode: typing.Optional[str] = None
|
|
131
|
-
ShipmentStatus: typing.Optional[str] = None
|
|
132
|
-
LastTrackingNo: typing.Optional[str] = None
|
|
133
|
-
LastCEP: typing.Optional[str] = None
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
@attr.s(auto_attribs=True)
|
|
137
|
-
class ShipmentStatusResponseType:
|
|
138
|
-
"""Shipment status API response."""
|
|
139
|
-
|
|
140
|
-
status: typing.Optional[int] = None
|
|
141
|
-
success: typing.Optional[int] = None
|
|
142
|
-
message: typing.Optional[str] = None
|
|
143
|
-
type: typing.Optional[str] = None
|
|
144
|
-
instance: typing.Optional[str] = None
|
|
145
|
-
results: typing.Optional[ShipmentStatusResultType] = jstruct.JStruct[ShipmentStatusResultType]
|
|
146
|
-
UniqId: typing.Optional[str] = None
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
@attr.s(auto_attribs=True)
|
|
150
|
-
class CancelShipmentResultType:
|
|
151
|
-
"""Cancel shipment result."""
|
|
152
|
-
|
|
153
|
-
ShipmentID: typing.Optional[str] = None
|
|
154
|
-
ShipmentRef: typing.Optional[str] = None
|
|
155
|
-
TrackingID: typing.Optional[str] = None
|
|
156
|
-
Success: typing.Optional[int] = None
|
|
157
|
-
Errors: typing.Optional[typing.List[ShipmentErrorType]] = jstruct.JList[ShipmentErrorType]
|
|
158
|
-
Warnings: typing.Optional[typing.List[ShipmentWarningType]] = jstruct.JList[ShipmentWarningType]
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
@attr.s(auto_attribs=True)
|
|
162
|
-
class CancelShipmentResponseType:
|
|
163
|
-
"""Cancel shipment API response."""
|
|
164
|
-
|
|
165
96
|
status: typing.Optional[int] = None
|
|
166
97
|
success: typing.Optional[int] = None
|
|
167
98
|
message: typing.Optional[str] = None
|
|
168
99
|
type: typing.Optional[str] = None
|
|
169
100
|
instance: typing.Optional[str] = None
|
|
170
|
-
results: typing.Optional[CancelShipmentResultType] = jstruct.JStruct[CancelShipmentResultType]
|
|
171
101
|
UniqId: typing.Optional[str] = None
|
|
102
|
+
results: typing.Optional[ResultsType] = jstruct.JStruct[ResultsType]
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
"""ParcelOne TrackLMC REST API v1 - Response Types."""
|
|
2
|
-
|
|
3
1
|
import attr
|
|
4
2
|
import jstruct
|
|
5
3
|
import typing
|
|
6
4
|
|
|
7
5
|
|
|
8
6
|
@attr.s(auto_attribs=True)
|
|
9
|
-
class
|
|
10
|
-
"""Single tracking event."""
|
|
11
|
-
|
|
7
|
+
class EventType:
|
|
12
8
|
DateTime: typing.Optional[str] = None
|
|
13
9
|
Location: typing.Optional[str] = None
|
|
14
10
|
Status: typing.Optional[str] = None
|
|
@@ -18,9 +14,7 @@ class TrackingEventType:
|
|
|
18
14
|
|
|
19
15
|
|
|
20
16
|
@attr.s(auto_attribs=True)
|
|
21
|
-
class
|
|
22
|
-
"""Tracking result with events."""
|
|
23
|
-
|
|
17
|
+
class ResultsType:
|
|
24
18
|
TrackingID: typing.Optional[str] = None
|
|
25
19
|
CarrierIDLMC: typing.Optional[str] = None
|
|
26
20
|
CarrierTrackingID: typing.Optional[str] = None
|
|
@@ -29,17 +23,15 @@ class TrackingResultType:
|
|
|
29
23
|
DeliveryDate: typing.Optional[str] = None
|
|
30
24
|
EstimatedDelivery: typing.Optional[str] = None
|
|
31
25
|
SignedBy: typing.Optional[str] = None
|
|
32
|
-
Events: typing.Optional[typing.List[
|
|
26
|
+
Events: typing.Optional[typing.List[EventType]] = jstruct.JList[EventType]
|
|
33
27
|
|
|
34
28
|
|
|
35
29
|
@attr.s(auto_attribs=True)
|
|
36
30
|
class TrackingResponseType:
|
|
37
|
-
"""TrackLMC API response."""
|
|
38
|
-
|
|
39
31
|
status: typing.Optional[int] = None
|
|
40
32
|
success: typing.Optional[int] = None
|
|
41
33
|
message: typing.Optional[str] = None
|
|
42
34
|
type: typing.Optional[str] = None
|
|
43
35
|
instance: typing.Optional[str] = None
|
|
44
|
-
results: typing.Optional[TrackingResultType] = jstruct.JStruct[TrackingResultType]
|
|
45
36
|
UniqId: typing.Optional[str] = None
|
|
37
|
+
results: typing.Optional[ResultsType] = jstruct.JStruct[ResultsType]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
karrio/mappers/parcelone/__init__.py,sha256=Hm9BZgD1F-cH6se9I5Lm9UbfPiN_QcdQ4A5ttNVN6Bo,155
|
|
2
|
+
karrio/mappers/parcelone/mapper.py,sha256=Ykbr_l7VrHOK-AwRDkdYoz9yxkIDwOrnlr9YmmORlzA,1967
|
|
3
|
+
karrio/mappers/parcelone/proxy.py,sha256=hzpB2eXCdB8Kf2PF6wbhYCuKOHwttM-Vuqruut1nWCE,3050
|
|
4
|
+
karrio/mappers/parcelone/settings.py,sha256=pV7bY8h1r-f9MFO3YlOVz-HUM2CEmTY0wV7SMhxvSPM,1093
|
|
5
|
+
karrio/plugins/parcelone/__init__.py,sha256=NgOrhNfRNOrM01LHrPXtbXiRYuK52NOzB1eW71ZQsys,1059
|
|
6
|
+
karrio/providers/parcelone/__init__.py,sha256=rPdlLNi9BuIe-KvOGApmypWKXe6ed1OZdSk-iJ7mYEE,458
|
|
7
|
+
karrio/providers/parcelone/error.py,sha256=S1eHg4Glhg4bJeUQQIrPa4Xqoc7aD0UpWnT4WRUHDwI,2680
|
|
8
|
+
karrio/providers/parcelone/rate.py,sha256=K3VphVI_fsF23auRoMYi_0tS4q9zGf2l-aNyY09rPKY,6033
|
|
9
|
+
karrio/providers/parcelone/tracking.py,sha256=XM3SfCNULOH5GOyTa0u_Yqbj7I7fjAXQjnh6Bk2yMV8,4857
|
|
10
|
+
karrio/providers/parcelone/units.py,sha256=gUseSpPbmf9Yei85Q6z8JZSwQ0usUj3fKJ52guI4oMI,12227
|
|
11
|
+
karrio/providers/parcelone/utils.py,sha256=RCFFMyvnzamRZozZPH9y1kaoI3cqqLhkTI52Tu9bIyk,1594
|
|
12
|
+
karrio/providers/parcelone/shipment/__init__.py,sha256=PHnQyOCF2Nd7pJ2um51RBubPNBlN72w41Ialoz93qB4,411
|
|
13
|
+
karrio/providers/parcelone/shipment/cancel.py,sha256=s53xX1bu6P6Wufht5zYpg_k3MgnegJXd-qf1nS6GGvk,2201
|
|
14
|
+
karrio/providers/parcelone/shipment/create.py,sha256=_siw6FYpZ7xxHC4t38pa27Gch_gXmPrayitvgS02JSI,10338
|
|
15
|
+
karrio/schemas/parcelone/__init__.py,sha256=JWQD0_qIcLhbrFDRIR_TROC25mCP9GN6VDfn8vBicmc,1975
|
|
16
|
+
karrio/schemas/parcelone/cancel_response.py,sha256=emn2bClHL8bqh3w_1dOHGVbchq_2RHKoZBzcPBiTJcI,1101
|
|
17
|
+
karrio/schemas/parcelone/error.py,sha256=wQ8UxZwuW-G9Wy3u1B-7AfPNrGy_AgFaFPcCXq1TT9E,588
|
|
18
|
+
karrio/schemas/parcelone/shipping_request.py,sha256=HCHpQetWWeARWvr66_zAZrplK-NU1x_KbKsFp3N0DcY,7755
|
|
19
|
+
karrio/schemas/parcelone/shipping_response.py,sha256=Hj_AsUU8vaigQGtlEfVmWawJftbCI4ujdEnLz8S_eu0,3890
|
|
20
|
+
karrio/schemas/parcelone/tracking_response.py,sha256=TvfXW5XlplSUIWimpv_nADWhMduE1YOizFYxvEsZByU,1204
|
|
21
|
+
modules/connectors/parcelone/karrio/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
+
modules/connectors/parcelone/karrio/schemas/parcelone/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
karrio_parcelone-2026.1.5.dist-info/METADATA,sha256=dkwJPzDlHY_iiKbZ7JzTBk-8i9FMB7Y23YHF7oIlhJY,1158
|
|
24
|
+
karrio_parcelone-2026.1.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
25
|
+
karrio_parcelone-2026.1.5.dist-info/entry_points.txt,sha256=1OkpMf6SZ1OT_O_KDu2HDN1aAi53cZs7hKuEMZeBob0,63
|
|
26
|
+
karrio_parcelone-2026.1.5.dist-info/top_level.txt,sha256=vW2vHMlcvPhowYde9HXvS4SbHP3s8Kk0TmJE1d4dfHE,35
|
|
27
|
+
karrio_parcelone-2026.1.5.dist-info/RECORD,,
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
karrio/mappers/parcelone/__init__.py,sha256=Hm9BZgD1F-cH6se9I5Lm9UbfPiN_QcdQ4A5ttNVN6Bo,155
|
|
2
|
-
karrio/mappers/parcelone/mapper.py,sha256=Ykbr_l7VrHOK-AwRDkdYoz9yxkIDwOrnlr9YmmORlzA,1967
|
|
3
|
-
karrio/mappers/parcelone/proxy.py,sha256=hzpB2eXCdB8Kf2PF6wbhYCuKOHwttM-Vuqruut1nWCE,3050
|
|
4
|
-
karrio/mappers/parcelone/settings.py,sha256=pV7bY8h1r-f9MFO3YlOVz-HUM2CEmTY0wV7SMhxvSPM,1093
|
|
5
|
-
karrio/plugins/parcelone/__init__.py,sha256=_HfYwz4S1WJ7slylNLWHgVdSiRRxLYG_HGcJ7_O1R-g,1016
|
|
6
|
-
karrio/providers/parcelone/__init__.py,sha256=rPdlLNi9BuIe-KvOGApmypWKXe6ed1OZdSk-iJ7mYEE,458
|
|
7
|
-
karrio/providers/parcelone/error.py,sha256=S1eHg4Glhg4bJeUQQIrPa4Xqoc7aD0UpWnT4WRUHDwI,2680
|
|
8
|
-
karrio/providers/parcelone/rate.py,sha256=K3VphVI_fsF23auRoMYi_0tS4q9zGf2l-aNyY09rPKY,6033
|
|
9
|
-
karrio/providers/parcelone/tracking.py,sha256=6K4PbYPM2KjgcmZZ1OxrcVrf9obSI9CAPlOvoq0mJqQ,4735
|
|
10
|
-
karrio/providers/parcelone/units.py,sha256=522WoCocbz9I1Xzje7L1uC2wslLyd_C3-xk10-QWGf0,10415
|
|
11
|
-
karrio/providers/parcelone/utils.py,sha256=RCFFMyvnzamRZozZPH9y1kaoI3cqqLhkTI52Tu9bIyk,1594
|
|
12
|
-
karrio/providers/parcelone/shipment/__init__.py,sha256=PHnQyOCF2Nd7pJ2um51RBubPNBlN72w41Ialoz93qB4,411
|
|
13
|
-
karrio/providers/parcelone/shipment/cancel.py,sha256=P4hufFBTOkyUFQgWqXR6SMS_grVWCuWwLb_cQvVRMLM,1995
|
|
14
|
-
karrio/providers/parcelone/shipment/create.py,sha256=_siw6FYpZ7xxHC4t38pa27Gch_gXmPrayitvgS02JSI,10338
|
|
15
|
-
karrio/schemas/parcelone/__init__.py,sha256=WfvAzf5Bf2YmkigHqWpsHgwfFZrRpBoDYojc2QMxjxY,250
|
|
16
|
-
karrio/schemas/parcelone/error.py,sha256=Js8AAYR5m24C_anVYEhDUQ1e1wYI98HPVT8rCPn8eh0,718
|
|
17
|
-
karrio/schemas/parcelone/shipping_request.py,sha256=cEmB5WMvWOAbzZPpPdLnKG0g8voWHkya7dKLWZkBF6c,6802
|
|
18
|
-
karrio/schemas/parcelone/shipping_response.py,sha256=ufxUaLy_4ML05pADxIYHYOhxFapHbc18dgQ0UcEMoLQ,6205
|
|
19
|
-
karrio/schemas/parcelone/tracking_response.py,sha256=emkJ4kcX3dnHPMCYz-CW6iCea0AlONdb_igba4UO-dQ,1413
|
|
20
|
-
modules/connectors/parcelone/karrio/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
-
modules/connectors/parcelone/karrio/schemas/parcelone/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
-
karrio_parcelone-2026.1.4.dist-info/METADATA,sha256=-P0h2vl_lyQOxK6CC1Jhq0eSk266zH_crEDMskIlvpE,1158
|
|
23
|
-
karrio_parcelone-2026.1.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
24
|
-
karrio_parcelone-2026.1.4.dist-info/entry_points.txt,sha256=1OkpMf6SZ1OT_O_KDu2HDN1aAi53cZs7hKuEMZeBob0,63
|
|
25
|
-
karrio_parcelone-2026.1.4.dist-info/top_level.txt,sha256=vW2vHMlcvPhowYde9HXvS4SbHP3s8Kk0TmJE1d4dfHE,35
|
|
26
|
-
karrio_parcelone-2026.1.4.dist-info/RECORD,,
|
|
File without changes
|
{karrio_parcelone-2026.1.4.dist-info → karrio_parcelone-2026.1.5.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|