karrio-mydhl 2025.5rc7__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/mydhl/__init__.py +3 -0
- karrio/mappers/mydhl/mapper.py +99 -0
- karrio/mappers/mydhl/proxy.py +148 -0
- karrio/mappers/mydhl/settings.py +24 -0
- karrio/plugins/mydhl/__init__.py +24 -0
- karrio/providers/mydhl/__init__.py +28 -0
- karrio/providers/mydhl/address.py +65 -0
- karrio/providers/mydhl/error.py +77 -0
- karrio/providers/mydhl/pickup/__init__.py +14 -0
- karrio/providers/mydhl/pickup/cancel.py +62 -0
- karrio/providers/mydhl/pickup/create.py +94 -0
- karrio/providers/mydhl/pickup/update.py +108 -0
- karrio/providers/mydhl/rate.py +112 -0
- karrio/providers/mydhl/shipment/__init__.py +9 -0
- karrio/providers/mydhl/shipment/cancel.py +91 -0
- karrio/providers/mydhl/shipment/create.py +100 -0
- karrio/providers/mydhl/tracking.py +86 -0
- karrio/providers/mydhl/units.py +99 -0
- karrio/providers/mydhl/utils.py +92 -0
- karrio/schemas/mydhl/__init__.py +0 -0
- karrio/schemas/mydhl/address_validation_request.py +13 -0
- karrio/schemas/mydhl/address_validation_response.py +25 -0
- karrio/schemas/mydhl/error_response.py +13 -0
- karrio/schemas/mydhl/pickup_cancel_request.py +10 -0
- karrio/schemas/mydhl/pickup_cancel_response.py +8 -0
- karrio/schemas/mydhl/pickup_create_request.py +108 -0
- karrio/schemas/mydhl/pickup_create_response.py +11 -0
- karrio/schemas/mydhl/pickup_update_request.py +110 -0
- karrio/schemas/mydhl/pickup_update_response.py +11 -0
- karrio/schemas/mydhl/rate_request.py +114 -0
- karrio/schemas/mydhl/rate_response.py +143 -0
- karrio/schemas/mydhl/shipment_request.py +275 -0
- karrio/schemas/mydhl/shipment_response.py +90 -0
- karrio/schemas/mydhl/tracking_response.py +112 -0
- karrio_mydhl-2025.5rc7.dist-info/METADATA +44 -0
- karrio_mydhl-2025.5rc7.dist-info/RECORD +39 -0
- karrio_mydhl-2025.5rc7.dist-info/WHEEL +5 -0
- karrio_mydhl-2025.5rc7.dist-info/entry_points.txt +2 -0
- karrio_mydhl-2025.5rc7.dist-info/top_level.txt +3 -0
@@ -0,0 +1,275 @@
|
|
1
|
+
import attr
|
2
|
+
import jstruct
|
3
|
+
import typing
|
4
|
+
|
5
|
+
|
6
|
+
@attr.s(auto_attribs=True)
|
7
|
+
class AccountType:
|
8
|
+
typeCode: typing.Optional[str] = None
|
9
|
+
number: typing.Optional[int] = None
|
10
|
+
|
11
|
+
|
12
|
+
@attr.s(auto_attribs=True)
|
13
|
+
class AdditionalChargeType:
|
14
|
+
value: typing.Optional[int] = None
|
15
|
+
typeCode: typing.Optional[str] = None
|
16
|
+
|
17
|
+
|
18
|
+
@attr.s(auto_attribs=True)
|
19
|
+
class CustomerReferenceType:
|
20
|
+
typeCode: typing.Optional[str] = None
|
21
|
+
value: typing.Optional[str] = None
|
22
|
+
|
23
|
+
|
24
|
+
@attr.s(auto_attribs=True)
|
25
|
+
class ExporterType:
|
26
|
+
id: typing.Optional[int] = None
|
27
|
+
code: typing.Optional[str] = None
|
28
|
+
|
29
|
+
|
30
|
+
@attr.s(auto_attribs=True)
|
31
|
+
class InvoiceType:
|
32
|
+
number: typing.Optional[str] = None
|
33
|
+
date: typing.Optional[str] = None
|
34
|
+
function: typing.Optional[str] = None
|
35
|
+
customerReferences: typing.Optional[typing.List[CustomerReferenceType]] = jstruct.JList[CustomerReferenceType]
|
36
|
+
|
37
|
+
|
38
|
+
@attr.s(auto_attribs=True)
|
39
|
+
class QuantityType:
|
40
|
+
value: typing.Optional[int] = None
|
41
|
+
unitOfMeasurement: typing.Optional[str] = None
|
42
|
+
|
43
|
+
|
44
|
+
@attr.s(auto_attribs=True)
|
45
|
+
class WeightType:
|
46
|
+
netValue: typing.Optional[int] = None
|
47
|
+
grossValue: typing.Optional[float] = None
|
48
|
+
|
49
|
+
|
50
|
+
@attr.s(auto_attribs=True)
|
51
|
+
class LineItemType:
|
52
|
+
number: typing.Optional[int] = None
|
53
|
+
description: typing.Optional[str] = None
|
54
|
+
price: typing.Optional[int] = None
|
55
|
+
quantity: typing.Optional[QuantityType] = jstruct.JStruct[QuantityType]
|
56
|
+
commodityCodes: typing.Optional[typing.List[CustomerReferenceType]] = jstruct.JList[CustomerReferenceType]
|
57
|
+
exportReasonType: typing.Optional[str] = None
|
58
|
+
manufacturerCountry: typing.Optional[str] = None
|
59
|
+
weight: typing.Optional[WeightType] = jstruct.JStruct[WeightType]
|
60
|
+
isTaxesPaid: typing.Optional[bool] = None
|
61
|
+
customerReferences: typing.Optional[typing.List[CustomerReferenceType]] = jstruct.JList[CustomerReferenceType]
|
62
|
+
customsDocuments: typing.Optional[typing.List[CustomerReferenceType]] = jstruct.JList[CustomerReferenceType]
|
63
|
+
|
64
|
+
|
65
|
+
@attr.s(auto_attribs=True)
|
66
|
+
class RemarkType:
|
67
|
+
value: typing.Optional[str] = None
|
68
|
+
|
69
|
+
|
70
|
+
@attr.s(auto_attribs=True)
|
71
|
+
class ExportDeclarationType:
|
72
|
+
lineItems: typing.Optional[typing.List[LineItemType]] = jstruct.JList[LineItemType]
|
73
|
+
invoice: typing.Optional[InvoiceType] = jstruct.JStruct[InvoiceType]
|
74
|
+
remarks: typing.Optional[typing.List[RemarkType]] = jstruct.JList[RemarkType]
|
75
|
+
additionalCharges: typing.Optional[typing.List[AdditionalChargeType]] = jstruct.JList[AdditionalChargeType]
|
76
|
+
placeOfIncoterm: typing.Optional[str] = None
|
77
|
+
recipientReference: typing.Optional[str] = None
|
78
|
+
exporter: typing.Optional[ExporterType] = jstruct.JStruct[ExporterType]
|
79
|
+
exportReasonType: typing.Optional[str] = None
|
80
|
+
shipmentType: typing.Optional[str] = None
|
81
|
+
customsDocuments: typing.Optional[typing.List[CustomerReferenceType]] = jstruct.JList[CustomerReferenceType]
|
82
|
+
|
83
|
+
|
84
|
+
@attr.s(auto_attribs=True)
|
85
|
+
class DimensionsType:
|
86
|
+
length: typing.Optional[int] = None
|
87
|
+
width: typing.Optional[int] = None
|
88
|
+
height: typing.Optional[int] = None
|
89
|
+
|
90
|
+
|
91
|
+
@attr.s(auto_attribs=True)
|
92
|
+
class BarcodeType:
|
93
|
+
position: typing.Optional[str] = None
|
94
|
+
symbologyCode: typing.Optional[int] = None
|
95
|
+
content: typing.Optional[str] = None
|
96
|
+
textBelowBarcode: typing.Optional[str] = None
|
97
|
+
|
98
|
+
|
99
|
+
@attr.s(auto_attribs=True)
|
100
|
+
class LabelTextType:
|
101
|
+
position: typing.Optional[str] = None
|
102
|
+
caption: typing.Optional[str] = None
|
103
|
+
value: typing.Optional[str] = None
|
104
|
+
|
105
|
+
|
106
|
+
@attr.s(auto_attribs=True)
|
107
|
+
class PackageType:
|
108
|
+
typeCode: typing.Optional[str] = None
|
109
|
+
weight: typing.Optional[float] = None
|
110
|
+
dimensions: typing.Optional[DimensionsType] = jstruct.JStruct[DimensionsType]
|
111
|
+
customerReferences: typing.Optional[typing.List[CustomerReferenceType]] = jstruct.JList[CustomerReferenceType]
|
112
|
+
description: typing.Optional[str] = None
|
113
|
+
labelBarcodes: typing.Optional[typing.List[BarcodeType]] = jstruct.JList[BarcodeType]
|
114
|
+
labelText: typing.Optional[typing.List[LabelTextType]] = jstruct.JList[LabelTextType]
|
115
|
+
labelDescription: typing.Optional[str] = None
|
116
|
+
|
117
|
+
|
118
|
+
@attr.s(auto_attribs=True)
|
119
|
+
class ContentType:
|
120
|
+
packages: typing.Optional[typing.List[PackageType]] = jstruct.JList[PackageType]
|
121
|
+
isCustomsDeclarable: typing.Optional[bool] = None
|
122
|
+
declaredValue: typing.Optional[int] = None
|
123
|
+
declaredValueCurrency: typing.Optional[str] = None
|
124
|
+
exportDeclaration: typing.Optional[ExportDeclarationType] = jstruct.JStruct[ExportDeclarationType]
|
125
|
+
description: typing.Optional[str] = None
|
126
|
+
USFilingTypeValue: typing.Optional[int] = None
|
127
|
+
incoterm: typing.Optional[str] = None
|
128
|
+
unitOfMeasurement: typing.Optional[str] = None
|
129
|
+
|
130
|
+
|
131
|
+
@attr.s(auto_attribs=True)
|
132
|
+
class ContactInformationType:
|
133
|
+
email: typing.Optional[str] = None
|
134
|
+
phone: typing.Optional[str] = None
|
135
|
+
mobilePhone: typing.Optional[str] = None
|
136
|
+
companyName: typing.Optional[str] = None
|
137
|
+
fullName: typing.Optional[str] = None
|
138
|
+
|
139
|
+
|
140
|
+
@attr.s(auto_attribs=True)
|
141
|
+
class PostalAddressType:
|
142
|
+
postalCode: typing.Optional[int] = None
|
143
|
+
cityName: typing.Optional[str] = None
|
144
|
+
countryCode: typing.Optional[str] = None
|
145
|
+
provinceCode: typing.Optional[str] = None
|
146
|
+
addressLine1: typing.Optional[str] = None
|
147
|
+
addressLine2: typing.Optional[str] = None
|
148
|
+
addressLine3: typing.Optional[str] = None
|
149
|
+
countyName: typing.Optional[str] = None
|
150
|
+
|
151
|
+
|
152
|
+
@attr.s(auto_attribs=True)
|
153
|
+
class RegistrationNumberType:
|
154
|
+
typeCode: typing.Optional[str] = None
|
155
|
+
number: typing.Optional[str] = None
|
156
|
+
issuerCountryCode: typing.Optional[str] = None
|
157
|
+
|
158
|
+
|
159
|
+
@attr.s(auto_attribs=True)
|
160
|
+
class DetailsType:
|
161
|
+
postalAddress: typing.Optional[PostalAddressType] = jstruct.JStruct[PostalAddressType]
|
162
|
+
contactInformation: typing.Optional[ContactInformationType] = jstruct.JStruct[ContactInformationType]
|
163
|
+
registrationNumbers: typing.Optional[typing.List[RegistrationNumberType]] = jstruct.JList[RegistrationNumberType]
|
164
|
+
typeCode: typing.Optional[str] = None
|
165
|
+
|
166
|
+
|
167
|
+
@attr.s(auto_attribs=True)
|
168
|
+
class CustomerDetailsType:
|
169
|
+
shipperDetails: typing.Optional[DetailsType] = jstruct.JStruct[DetailsType]
|
170
|
+
receiverDetails: typing.Optional[DetailsType] = jstruct.JStruct[DetailsType]
|
171
|
+
buyerDetails: typing.Optional[DetailsType] = jstruct.JStruct[DetailsType]
|
172
|
+
|
173
|
+
|
174
|
+
@attr.s(auto_attribs=True)
|
175
|
+
class DocumentImageType:
|
176
|
+
typeCode: typing.Optional[str] = None
|
177
|
+
imageFormat: typing.Optional[str] = None
|
178
|
+
content: typing.Optional[str] = None
|
179
|
+
isRequested: typing.Optional[bool] = None
|
180
|
+
|
181
|
+
|
182
|
+
@attr.s(auto_attribs=True)
|
183
|
+
class CustomerLogoType:
|
184
|
+
fileFormat: typing.Optional[str] = None
|
185
|
+
content: typing.Optional[str] = None
|
186
|
+
|
187
|
+
|
188
|
+
@attr.s(auto_attribs=True)
|
189
|
+
class LabelOptionsType:
|
190
|
+
customerLogos: typing.Optional[typing.List[CustomerLogoType]] = jstruct.JList[CustomerLogoType]
|
191
|
+
waybillTemplate: typing.Optional[str] = None
|
192
|
+
|
193
|
+
|
194
|
+
@attr.s(auto_attribs=True)
|
195
|
+
class OnDemandDeliveryType:
|
196
|
+
deliveryOption: typing.Optional[str] = None
|
197
|
+
location: typing.Optional[str] = None
|
198
|
+
specialInstructions: typing.Optional[str] = None
|
199
|
+
gateCode: typing.Optional[int] = None
|
200
|
+
whereToLeave: typing.Optional[str] = None
|
201
|
+
neighbourName: typing.Optional[str] = None
|
202
|
+
neighbourHouseNumber: typing.Optional[int] = None
|
203
|
+
authorizerName: typing.Optional[str] = None
|
204
|
+
servicePointId: typing.Optional[str] = None
|
205
|
+
requestedDeliveryDate: typing.Optional[str] = None
|
206
|
+
|
207
|
+
|
208
|
+
@attr.s(auto_attribs=True)
|
209
|
+
class ImageOptionType:
|
210
|
+
typeCode: typing.Optional[str] = None
|
211
|
+
templateName: typing.Optional[str] = None
|
212
|
+
isRequested: typing.Optional[bool] = None
|
213
|
+
invoiceType: typing.Optional[str] = None
|
214
|
+
languageCode: typing.Optional[str] = None
|
215
|
+
hideAccountNumber: typing.Optional[bool] = None
|
216
|
+
numberOfCopies: typing.Optional[int] = None
|
217
|
+
|
218
|
+
|
219
|
+
@attr.s(auto_attribs=True)
|
220
|
+
class OutputImagePropertiesType:
|
221
|
+
printerDPI: typing.Optional[int] = None
|
222
|
+
customerBarcodes: typing.Optional[typing.List[BarcodeType]] = jstruct.JList[BarcodeType]
|
223
|
+
customerLogos: typing.Optional[typing.List[CustomerLogoType]] = jstruct.JList[CustomerLogoType]
|
224
|
+
encodingFormat: typing.Optional[str] = None
|
225
|
+
imageOptions: typing.Optional[typing.List[ImageOptionType]] = jstruct.JList[ImageOptionType]
|
226
|
+
splitTransportAndWaybillDocLabels: typing.Optional[bool] = None
|
227
|
+
allDocumentsInOneImage: typing.Optional[bool] = None
|
228
|
+
splitDocumentsByPages: typing.Optional[bool] = None
|
229
|
+
splitInvoiceAndReceipt: typing.Optional[bool] = None
|
230
|
+
receiptAndLabelsInOneImage: typing.Optional[bool] = None
|
231
|
+
|
232
|
+
|
233
|
+
@attr.s(auto_attribs=True)
|
234
|
+
class PickupType:
|
235
|
+
isRequested: typing.Optional[bool] = None
|
236
|
+
closeTime: typing.Optional[str] = None
|
237
|
+
location: typing.Optional[str] = None
|
238
|
+
pickupDetails: typing.Optional[DetailsType] = jstruct.JStruct[DetailsType]
|
239
|
+
pickupRequestorDetails: typing.Optional[DetailsType] = jstruct.JStruct[DetailsType]
|
240
|
+
|
241
|
+
|
242
|
+
@attr.s(auto_attribs=True)
|
243
|
+
class ShipmentNotificationType:
|
244
|
+
typeCode: typing.Optional[str] = None
|
245
|
+
receiverId: typing.Optional[str] = None
|
246
|
+
languageCode: typing.Optional[str] = None
|
247
|
+
languageCountryCode: typing.Optional[str] = None
|
248
|
+
bespokeMessage: typing.Optional[str] = None
|
249
|
+
|
250
|
+
|
251
|
+
@attr.s(auto_attribs=True)
|
252
|
+
class ValueAddedServiceType:
|
253
|
+
serviceCode: typing.Optional[str] = None
|
254
|
+
value: typing.Optional[int] = None
|
255
|
+
currency: typing.Optional[str] = None
|
256
|
+
|
257
|
+
|
258
|
+
@attr.s(auto_attribs=True)
|
259
|
+
class ShipmentRequestType:
|
260
|
+
plannedShippingDateAndTime: typing.Optional[str] = None
|
261
|
+
pickup: typing.Optional[PickupType] = jstruct.JStruct[PickupType]
|
262
|
+
productCode: typing.Optional[str] = None
|
263
|
+
localProductCode: typing.Optional[str] = None
|
264
|
+
getRateEstimates: typing.Optional[bool] = None
|
265
|
+
accounts: typing.Optional[typing.List[AccountType]] = jstruct.JList[AccountType]
|
266
|
+
valueAddedServices: typing.Optional[typing.List[ValueAddedServiceType]] = jstruct.JList[ValueAddedServiceType]
|
267
|
+
outputImageProperties: typing.Optional[OutputImagePropertiesType] = jstruct.JStruct[OutputImagePropertiesType]
|
268
|
+
customerReferences: typing.Optional[typing.List[CustomerReferenceType]] = jstruct.JList[CustomerReferenceType]
|
269
|
+
customerDetails: typing.Optional[CustomerDetailsType] = jstruct.JStruct[CustomerDetailsType]
|
270
|
+
content: typing.Optional[ContentType] = jstruct.JStruct[ContentType]
|
271
|
+
documentImages: typing.Optional[typing.List[DocumentImageType]] = jstruct.JList[DocumentImageType]
|
272
|
+
onDemandDelivery: typing.Optional[OnDemandDeliveryType] = jstruct.JStruct[OnDemandDeliveryType]
|
273
|
+
requestOndemandDeliveryURL: typing.Optional[bool] = None
|
274
|
+
shipmentNotification: typing.Optional[typing.List[ShipmentNotificationType]] = jstruct.JList[ShipmentNotificationType]
|
275
|
+
labelOptions: typing.Optional[LabelOptionsType] = jstruct.JStruct[LabelOptionsType]
|
@@ -0,0 +1,90 @@
|
|
1
|
+
import attr
|
2
|
+
import jstruct
|
3
|
+
import typing
|
4
|
+
|
5
|
+
|
6
|
+
@attr.s(auto_attribs=True)
|
7
|
+
class DocumentType:
|
8
|
+
imageFormat: typing.Optional[str] = None
|
9
|
+
content: typing.Optional[str] = None
|
10
|
+
typeCode: typing.Optional[str] = None
|
11
|
+
|
12
|
+
|
13
|
+
@attr.s(auto_attribs=True)
|
14
|
+
class EstimatedDeliveryDateType:
|
15
|
+
estimatedDeliveryDate: typing.Optional[str] = None
|
16
|
+
estimatedDeliveryType: typing.Optional[str] = None
|
17
|
+
|
18
|
+
|
19
|
+
@attr.s(auto_attribs=True)
|
20
|
+
class PackageType:
|
21
|
+
referenceNumber: typing.Optional[int] = None
|
22
|
+
trackingNumber: typing.Optional[str] = None
|
23
|
+
trackingUrl: typing.Optional[str] = None
|
24
|
+
volumetricWeight: typing.Optional[float] = None
|
25
|
+
documents: typing.Optional[typing.List[DocumentType]] = jstruct.JList[DocumentType]
|
26
|
+
|
27
|
+
|
28
|
+
@attr.s(auto_attribs=True)
|
29
|
+
class ContactInformationType:
|
30
|
+
email: typing.Optional[str] = None
|
31
|
+
phone: typing.Optional[str] = None
|
32
|
+
mobilePhone: typing.Optional[str] = None
|
33
|
+
companyName: typing.Optional[str] = None
|
34
|
+
fullName: typing.Optional[str] = None
|
35
|
+
|
36
|
+
|
37
|
+
@attr.s(auto_attribs=True)
|
38
|
+
class PostalAddressType:
|
39
|
+
postalCode: typing.Optional[int] = None
|
40
|
+
cityName: typing.Optional[str] = None
|
41
|
+
countryCode: typing.Optional[str] = None
|
42
|
+
provinceCode: typing.Optional[str] = None
|
43
|
+
addressLine1: typing.Optional[str] = None
|
44
|
+
addressLine2: typing.Optional[str] = None
|
45
|
+
addressLine3: typing.Optional[str] = None
|
46
|
+
countyName: typing.Optional[str] = None
|
47
|
+
|
48
|
+
|
49
|
+
@attr.s(auto_attribs=True)
|
50
|
+
class RegistrationNumberType:
|
51
|
+
typeCode: typing.Optional[str] = None
|
52
|
+
number: typing.Optional[str] = None
|
53
|
+
issuerCountryCode: typing.Optional[str] = None
|
54
|
+
|
55
|
+
|
56
|
+
@attr.s(auto_attribs=True)
|
57
|
+
class ErDetailsType:
|
58
|
+
postalAddress: typing.Optional[PostalAddressType] = jstruct.JStruct[PostalAddressType]
|
59
|
+
contactInformation: typing.Optional[ContactInformationType] = jstruct.JStruct[ContactInformationType]
|
60
|
+
registrationNumbers: typing.Optional[typing.List[RegistrationNumberType]] = jstruct.JList[RegistrationNumberType]
|
61
|
+
typeCode: typing.Optional[str] = None
|
62
|
+
|
63
|
+
|
64
|
+
@attr.s(auto_attribs=True)
|
65
|
+
class CustomerDetailsType:
|
66
|
+
shipperDetails: typing.Optional[ErDetailsType] = jstruct.JStruct[ErDetailsType]
|
67
|
+
receiverDetails: typing.Optional[ErDetailsType] = jstruct.JStruct[ErDetailsType]
|
68
|
+
|
69
|
+
|
70
|
+
@attr.s(auto_attribs=True)
|
71
|
+
class ShipmentDetailType:
|
72
|
+
serviceHandlingFeatureCodes: typing.Optional[typing.List[str]] = None
|
73
|
+
volumetricWeight: typing.Optional[float] = None
|
74
|
+
billingCode: typing.Optional[str] = None
|
75
|
+
serviceContentCode: typing.Optional[str] = None
|
76
|
+
customerDetails: typing.Optional[CustomerDetailsType] = jstruct.JStruct[CustomerDetailsType]
|
77
|
+
|
78
|
+
|
79
|
+
@attr.s(auto_attribs=True)
|
80
|
+
class ShipmentResponseType:
|
81
|
+
shipmentTrackingNumber: typing.Optional[int] = None
|
82
|
+
cancelPickupUrl: typing.Optional[str] = None
|
83
|
+
trackingUrl: typing.Optional[str] = None
|
84
|
+
dispatchConfirmationNumber: typing.Optional[str] = None
|
85
|
+
packages: typing.Optional[typing.List[PackageType]] = jstruct.JList[PackageType]
|
86
|
+
documents: typing.Optional[typing.List[DocumentType]] = jstruct.JList[DocumentType]
|
87
|
+
onDemandDeliveryURL: typing.Optional[str] = None
|
88
|
+
shipmentDetails: typing.Optional[typing.List[ShipmentDetailType]] = jstruct.JList[ShipmentDetailType]
|
89
|
+
estimatedDeliveryDate: typing.Optional[EstimatedDeliveryDateType] = jstruct.JStruct[EstimatedDeliveryDateType]
|
90
|
+
warnings: typing.Optional[typing.List[str]] = None
|
@@ -0,0 +1,112 @@
|
|
1
|
+
import attr
|
2
|
+
import jstruct
|
3
|
+
import typing
|
4
|
+
|
5
|
+
|
6
|
+
@attr.s(auto_attribs=True)
|
7
|
+
class EventServiceAreaType:
|
8
|
+
code: typing.Optional[str] = None
|
9
|
+
description: typing.Optional[str] = None
|
10
|
+
|
11
|
+
|
12
|
+
@attr.s(auto_attribs=True)
|
13
|
+
class EventType:
|
14
|
+
date: typing.Optional[str] = None
|
15
|
+
time: typing.Optional[str] = None
|
16
|
+
typeCode: typing.Optional[str] = None
|
17
|
+
description: typing.Optional[str] = None
|
18
|
+
serviceArea: typing.Optional[typing.List[EventServiceAreaType]] = jstruct.JList[EventServiceAreaType]
|
19
|
+
signedBy: typing.Optional[str] = None
|
20
|
+
|
21
|
+
|
22
|
+
@attr.s(auto_attribs=True)
|
23
|
+
class DimensionsType:
|
24
|
+
length: typing.Optional[int] = None
|
25
|
+
width: typing.Optional[int] = None
|
26
|
+
height: typing.Optional[int] = None
|
27
|
+
|
28
|
+
|
29
|
+
@attr.s(auto_attribs=True)
|
30
|
+
class ShipperReferenceType:
|
31
|
+
value: typing.Optional[str] = None
|
32
|
+
typeCode: typing.Optional[str] = None
|
33
|
+
|
34
|
+
|
35
|
+
@attr.s(auto_attribs=True)
|
36
|
+
class PieceType:
|
37
|
+
number: typing.Optional[int] = None
|
38
|
+
typeCode: typing.Optional[str] = None
|
39
|
+
shipmentTrackingNumber: typing.Optional[str] = None
|
40
|
+
trackingNumber: typing.Optional[str] = None
|
41
|
+
description: typing.Optional[str] = None
|
42
|
+
weight: typing.Optional[float] = None
|
43
|
+
dimensionalWeight: typing.Optional[float] = None
|
44
|
+
actualWeight: typing.Optional[float] = None
|
45
|
+
dimensions: typing.Optional[DimensionsType] = jstruct.JStruct[DimensionsType]
|
46
|
+
actualDimensions: typing.Optional[DimensionsType] = jstruct.JStruct[DimensionsType]
|
47
|
+
unitOfMeasurements: typing.Optional[str] = None
|
48
|
+
shipperReferences: typing.Optional[typing.List[ShipperReferenceType]] = jstruct.JList[ShipperReferenceType]
|
49
|
+
events: typing.Optional[typing.List[EventType]] = jstruct.JList[EventType]
|
50
|
+
|
51
|
+
|
52
|
+
@attr.s(auto_attribs=True)
|
53
|
+
class PostalAddressType:
|
54
|
+
cityName: typing.Optional[str] = None
|
55
|
+
countyName: typing.Optional[str] = None
|
56
|
+
postalCode: typing.Optional[int] = None
|
57
|
+
provinceCode: typing.Optional[str] = None
|
58
|
+
countryCode: typing.Optional[str] = None
|
59
|
+
|
60
|
+
|
61
|
+
@attr.s(auto_attribs=True)
|
62
|
+
class ReceiverDetailsServiceAreaType:
|
63
|
+
code: typing.Optional[str] = None
|
64
|
+
description: typing.Optional[str] = None
|
65
|
+
facilityCode: typing.Optional[str] = None
|
66
|
+
inboundSortCode: typing.Optional[int] = None
|
67
|
+
|
68
|
+
|
69
|
+
@attr.s(auto_attribs=True)
|
70
|
+
class ReceiverDetailsType:
|
71
|
+
name: typing.Optional[str] = None
|
72
|
+
postalAddress: typing.Optional[PostalAddressType] = jstruct.JStruct[PostalAddressType]
|
73
|
+
serviceArea: typing.Optional[typing.List[ReceiverDetailsServiceAreaType]] = jstruct.JList[ReceiverDetailsServiceAreaType]
|
74
|
+
|
75
|
+
|
76
|
+
@attr.s(auto_attribs=True)
|
77
|
+
class ShipperDetailsServiceAreaType:
|
78
|
+
code: typing.Optional[str] = None
|
79
|
+
description: typing.Optional[str] = None
|
80
|
+
outboundSortCode: typing.Optional[int] = None
|
81
|
+
|
82
|
+
|
83
|
+
@attr.s(auto_attribs=True)
|
84
|
+
class ShipperDetailsType:
|
85
|
+
name: typing.Optional[str] = None
|
86
|
+
postalAddress: typing.Optional[PostalAddressType] = jstruct.JStruct[PostalAddressType]
|
87
|
+
serviceArea: typing.Optional[typing.List[ShipperDetailsServiceAreaType]] = jstruct.JList[ShipperDetailsServiceAreaType]
|
88
|
+
accountNumber: typing.Optional[int] = None
|
89
|
+
|
90
|
+
|
91
|
+
@attr.s(auto_attribs=True)
|
92
|
+
class ShipmentType:
|
93
|
+
shipmentTrackingNumber: typing.Optional[int] = None
|
94
|
+
status: typing.Optional[str] = None
|
95
|
+
shipmentTimestamp: typing.Optional[str] = None
|
96
|
+
productCode: typing.Optional[str] = None
|
97
|
+
description: typing.Optional[str] = None
|
98
|
+
shipperDetails: typing.Optional[ShipperDetailsType] = jstruct.JStruct[ShipperDetailsType]
|
99
|
+
receiverDetails: typing.Optional[ReceiverDetailsType] = jstruct.JStruct[ReceiverDetailsType]
|
100
|
+
totalWeight: typing.Optional[int] = None
|
101
|
+
unitOfMeasurements: typing.Optional[str] = None
|
102
|
+
shipperReferences: typing.Optional[typing.List[ShipperReferenceType]] = jstruct.JList[ShipperReferenceType]
|
103
|
+
numberOfPieces: typing.Optional[int] = None
|
104
|
+
pieces: typing.Optional[typing.List[PieceType]] = jstruct.JList[PieceType]
|
105
|
+
events: typing.Optional[typing.List[EventType]] = jstruct.JList[EventType]
|
106
|
+
estimatedDeliveryDate: typing.Optional[str] = None
|
107
|
+
childrenShipmentIdentificationNumbers: typing.Optional[typing.List[int]] = None
|
108
|
+
|
109
|
+
|
110
|
+
@attr.s(auto_attribs=True)
|
111
|
+
class TrackingResponseType:
|
112
|
+
shipments: typing.Optional[typing.List[ShipmentType]] = jstruct.JList[ShipmentType]
|
@@ -0,0 +1,44 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: karrio_mydhl
|
3
|
+
Version: 2025.5rc7
|
4
|
+
Summary: Karrio - MyDHL Shipping Extension
|
5
|
+
Author-email: karrio <hello@karrio.io>
|
6
|
+
License-Expression: Apache-2.0
|
7
|
+
Project-URL: Homepage, https://github.com/karrioapi/karrio
|
8
|
+
Classifier: Intended Audience :: Developers
|
9
|
+
Classifier: Operating System :: OS Independent
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
11
|
+
Requires-Python: >=3.11
|
12
|
+
Description-Content-Type: text/markdown
|
13
|
+
Requires-Dist: karrio
|
14
|
+
|
15
|
+
# karrio.mydhl
|
16
|
+
|
17
|
+
This package is a MyDHL extension of the [karrio](https://pypi.org/project/karrio) multi carrier shipping SDK.
|
18
|
+
|
19
|
+
## Requirements
|
20
|
+
|
21
|
+
`Python 3.11+`
|
22
|
+
|
23
|
+
## Installation
|
24
|
+
|
25
|
+
```bash
|
26
|
+
pip install karrio.mydhl
|
27
|
+
```
|
28
|
+
|
29
|
+
## Usage
|
30
|
+
|
31
|
+
```python
|
32
|
+
import karrio.sdk as karrio
|
33
|
+
from karrio.mappers.mydhl.settings import Settings
|
34
|
+
|
35
|
+
|
36
|
+
# Initialize a carrier gateway
|
37
|
+
mydhl = karrio.gateway["mydhl"].create(
|
38
|
+
Settings(
|
39
|
+
...
|
40
|
+
)
|
41
|
+
)
|
42
|
+
```
|
43
|
+
|
44
|
+
Check the [Karrio Mutli-carrier SDK docs](https://docs.karrio.io) for Shipping API requests
|
@@ -0,0 +1,39 @@
|
|
1
|
+
karrio/mappers/mydhl/__init__.py,sha256=LxuFOX-NZF-y0F2hv579VQA8hXu6aaVljrqlMxoQPMc,142
|
2
|
+
karrio/mappers/mydhl/mapper.py,sha256=hDgAmF6Hlyk3V68tj_HJnVzzpKYgfZ66nQe4E4hoi_s,3966
|
3
|
+
karrio/mappers/mydhl/proxy.py,sha256=e3ORcmO1eL9EdkwOISJ82sKh9yeVlNkkZM4wE1ozDU0,6084
|
4
|
+
karrio/mappers/mydhl/settings.py,sha256=Dxzg4xc9LTguBqRUzd9IoOfvsP9Aw-0utig7ObsrNGk,658
|
5
|
+
karrio/plugins/mydhl/__init__.py,sha256=QoFnRwCmbUsNRFaNoHK4N66SfvO4ySC3nqzK5k8Taj8,814
|
6
|
+
karrio/providers/mydhl/__init__.py,sha256=3r2vKfozTjiNatewJLZGc_FA1aZZ91xrwe025rvvfsg,769
|
7
|
+
karrio/providers/mydhl/address.py,sha256=tY7C8Bo5iGBZ3ITHYi3GMkwUWHFhu6INt1HRSUkBSVU,2262
|
8
|
+
karrio/providers/mydhl/error.py,sha256=Xbtxn5O9flANNAI_q-CWxJslSiA6ebpy1HiHWE1qWV4,2321
|
9
|
+
karrio/providers/mydhl/rate.py,sha256=H0YJ8bQWGOZY-5ZXCMe-3mMZP3Okq5jyjo_LHWHvSeo,4336
|
10
|
+
karrio/providers/mydhl/tracking.py,sha256=VxqrlM9jpvF-YgmK1_E68oHCuHj7p2YCD3BnYfYKwGo,2811
|
11
|
+
karrio/providers/mydhl/units.py,sha256=jSbICuCuqwoGA0j5iS7Cem1h4EFnyCwdHpG20awXfSQ,3119
|
12
|
+
karrio/providers/mydhl/utils.py,sha256=hFXmLWN74QfeFRzPdBBBfE7n9o6oe4bMLr-F45Nno-w,3030
|
13
|
+
karrio/providers/mydhl/pickup/__init__.py,sha256=_a8t8S3kNhBFNItSa_JchdWpNdBlpl36pyrnO9PKweg,367
|
14
|
+
karrio/providers/mydhl/pickup/cancel.py,sha256=j7jNWw-Fy1jH9KLQagfHHpu6aJYGxGJbMfBP_k3xZpg,1899
|
15
|
+
karrio/providers/mydhl/pickup/create.py,sha256=uTzg2vc63jot54rsWw_hn44Jaa3up3r8r_wUuhJIwZU,3204
|
16
|
+
karrio/providers/mydhl/pickup/update.py,sha256=nZ4h8zrzb_TbAttAEN-cmKb5UGZFJe4Dmkk2wuZO2V4,3366
|
17
|
+
karrio/providers/mydhl/shipment/__init__.py,sha256=bKG2xYOw9LYJiEOBcDXQj2prXNKmQMewkNODKsKfKZM,227
|
18
|
+
karrio/providers/mydhl/shipment/cancel.py,sha256=cJu1I8fO0HAeI6QDLydh1NZqjyF-ahrWTTJlW2ltiog,2696
|
19
|
+
karrio/providers/mydhl/shipment/create.py,sha256=CNhX0z9sPKSZdV6FqPn7c2HuY1jLb77tBHvSzUDEcHE,3635
|
20
|
+
karrio/schemas/mydhl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
|
+
karrio/schemas/mydhl/address_validation_request.py,sha256=Lrd6nFMkYiRI9eFQ3R26ckdAPl5GSlieH7ny-jF2gN4,370
|
22
|
+
karrio/schemas/mydhl/address_validation_response.py,sha256=HaEkbAckXmo0YuwcMEg3vS9flCjsCWPFFyiDqz_glSw,732
|
23
|
+
karrio/schemas/mydhl/error_response.py,sha256=yL7g_pnIwmaykFj9pOQn4G0Uw4viyaYo5J7Vb9bndvM,361
|
24
|
+
karrio/schemas/mydhl/pickup_cancel_request.py,sha256=-oYRc3CLUYlncnASK4uA-ux7c0RMxEGyH-3dMd7y058,248
|
25
|
+
karrio/schemas/mydhl/pickup_cancel_response.py,sha256=Sypu2u5ii9VZ6ho--RIaMYTKQjYWR00FwmlWfXujS3Y,143
|
26
|
+
karrio/schemas/mydhl/pickup_create_request.py,sha256=IoAgaAgzjfHZnXmnjXPPPLVpjR9iTY-xviKca7dJ3wI,3986
|
27
|
+
karrio/schemas/mydhl/pickup_create_response.py,sha256=eUQwG-Z5P1hD6VuXns3KD_HXJCNs9Dz9Z6JIkDjy71w,324
|
28
|
+
karrio/schemas/mydhl/pickup_update_request.py,sha256=9QfzzEQsiwY7-HpfYpPMPze9wTZ3IwdWxuU5vHKbRGM,4108
|
29
|
+
karrio/schemas/mydhl/pickup_update_response.py,sha256=yloyHAEXR9OMH9i-L1Z7O4WOXDbL5lET30XfpTBJELI,310
|
30
|
+
karrio/schemas/mydhl/rate_request.py,sha256=gPoGGEHLXq3a-kYPTFMn4-PhDQabewO5u86HhjVBoQ8,4276
|
31
|
+
karrio/schemas/mydhl/rate_response.py,sha256=lI__9C4XiBgCikBU5iqxqiw7r0LRFpTT8z2E3OoDM-o,5713
|
32
|
+
karrio/schemas/mydhl/shipment_request.py,sha256=I2wwH5ubuMwptQAQYOQSofbnaLr9w-gztNehTKuKhYQ,10607
|
33
|
+
karrio/schemas/mydhl/shipment_response.py,sha256=amF1SjkClhpJwTgxlOLji6w3kXb9Bu_AneUCxh9eSUI,3370
|
34
|
+
karrio/schemas/mydhl/tracking_response.py,sha256=y86w1DyBTlYx1mmncFNPp75zrJvNR0pOD3-jPlZYcEU,4240
|
35
|
+
karrio_mydhl-2025.5rc7.dist-info/METADATA,sha256=fuHqKmCi--NpXob25qD1y7PQrRsJ-VdpM0Yv3nwf9L4,977
|
36
|
+
karrio_mydhl-2025.5rc7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
37
|
+
karrio_mydhl-2025.5rc7.dist-info/entry_points.txt,sha256=NRiOTfZybCEMlDTq9_VOpFy--jBA0somsAYdXVgPzdY,55
|
38
|
+
karrio_mydhl-2025.5rc7.dist-info/top_level.txt,sha256=FZCY8Nwft8oEGHdl--xku8P3TrnOxu5dETEU_fWpRSM,20
|
39
|
+
karrio_mydhl-2025.5rc7.dist-info/RECORD,,
|