File tree Expand file tree Collapse file tree 4 files changed +34
-17
lines changed
modules/connectors/mydhl/karrio/providers/mydhl Expand file tree Collapse file tree 4 files changed +34
-17
lines changed Original file line number Diff line number Diff line change @@ -156,7 +156,11 @@ def pickup_request(
156156 unitOfMeasurement = "metric" ,
157157 packages = [
158158 pickup_req .PackageType (
159- typeCode = provider_units .PackagingType .map (package .packaging_type or "your_packaging" ).value ,
159+ typeCode = lib .identity (
160+ provider_units .PackagingType .map (package .packaging_type ).value
161+ if package .packaging_type
162+ else None
163+ ),
160164 weight = package .weight .value ,
161165 dimensions = pickup_req .DimensionsType (
162166 length = package .length .value ,
Original file line number Diff line number Diff line change @@ -146,7 +146,11 @@ def pickup_update_request(
146146 unitOfMeasurement = "metric" ,
147147 packages = [
148148 pickup_req .PackageType (
149- typeCode = provider_units .PackagingType .map (package .packaging_type or "your_packaging" ).value ,
149+ typeCode = lib .identity (
150+ provider_units .PackagingType .map (package .packaging_type ).value
151+ if package .packaging_type
152+ else None
153+ ),
150154 weight = package .weight .value ,
151155 dimensions = pickup_req .DimensionsType (
152156 length = package .length .value ,
Original file line number Diff line number Diff line change @@ -263,9 +263,11 @@ def shipment_request(
263263 content = mydhl_req .ContentType (
264264 packages = [
265265 mydhl_req .PackageType (
266- typeCode = provider_units .PackagingType .map (
267- package .packaging_type or "your_packaging"
268- ).value ,
266+ typeCode = lib .identity (
267+ provider_units .PackagingType .map (package .packaging_type ).value
268+ if package .packaging_type
269+ else None
270+ ),
269271 weight = package .weight .value ,
270272 dimensions = lib .identity (
271273 mydhl_req .DimensionsType (
Original file line number Diff line number Diff line change 1313
1414
1515class PackagingType (lib .StrEnum ):
16- """DHL Express packaging types (typeCode values)."""
16+ """DHL Express packaging types (typeCode values).
17+
18+ From DHL API spec v3.1.1 — typeCode is optional; omitting it
19+ defaults to customer packaging.
20+ """
1721
1822 # DHL branded packaging
19- mydhl_flyer = "FLY"
20- mydhl_box_2 = "2BC"
23+ mydhl_card_envelope_imperial = "1CE"
24+ mydhl_box_2_cube = "2BC"
25+ mydhl_box_2_pizza = "2BP"
26+ mydhl_box_2_shoe = "2BX"
2127 mydhl_box_3 = "3BX"
2228 mydhl_box_4 = "4BX"
2329 mydhl_box_5 = "5BX"
2430 mydhl_box_6 = "6BX"
2531 mydhl_box_7 = "7BX"
2632 mydhl_box_8 = "8BX"
27- mydhl_express_envelope = "3"
28- mydhl_jumbo_box = "JB"
29- mydhl_jumbo_box_junior = "JJ"
30-
31- # Customer packaging
32- mydhl_customer_packaging = "YP"
33+ mydhl_card_envelope = "CE1"
34+ mydhl_tube_large = "TBL"
35+ mydhl_tube_small = "TBS"
36+ mydhl_bottle_box_1 = "WB1"
37+ mydhl_bottle_box_2 = "WB2"
38+ mydhl_bottle_box_3 = "WB3"
39+ mydhl_bottle_box_6 = "WB6"
40+ mydhl_express_envelope = "XPD"
3341
3442 """ Unified Packaging type mapping """
3543 envelope = mydhl_express_envelope
36- pak = mydhl_flyer
37- tube = mydhl_box_2
44+ pak = mydhl_card_envelope
45+ tube = mydhl_tube_small
3846 small_box = mydhl_box_3
3947 medium_box = mydhl_box_5
4048 large_box = mydhl_box_8
41- your_packaging = mydhl_customer_packaging
4249
4350
4451class ShippingService (lib .StrEnum ):
You can’t perform that action at this time.
0 commit comments