This commit is contained in:
@@ -20,6 +20,7 @@ class CDEKOrderMappingError(ValueError):
|
||||
|
||||
_CDEK_WAYBILL_PRINT_TYPE = "WAYBILL"
|
||||
_CDEK_WAYBILL_RELATED_ENTITY_TYPE = "waybill"
|
||||
_CDEK_INSURANCE_SERVICE_CODE = "INSURANCE"
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@@ -56,6 +57,9 @@ def map_cdek_order_request(
|
||||
"to_location": _map_location(request.receiver_address),
|
||||
"packages": [_map_package(request, order_uuid)],
|
||||
}
|
||||
services = _map_services(request)
|
||||
if services:
|
||||
payload["services"] = services
|
||||
if request.content.description:
|
||||
payload["comment"] = request.content.description
|
||||
return payload
|
||||
@@ -328,6 +332,18 @@ def _map_package(request: InitPaymentRequest, order_uuid: str) -> dict[str, Any]
|
||||
return package
|
||||
|
||||
|
||||
def _map_services(request: InitPaymentRequest) -> list[dict[str, Any]]:
|
||||
declared_value = request.content.declared_value
|
||||
if declared_value <= 0:
|
||||
return []
|
||||
return [
|
||||
{
|
||||
"code": _CDEK_INSURANCE_SERVICE_CODE,
|
||||
"parameter": declared_value,
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
def _map_dimensions(dimensions: Dimensions) -> dict[str, int]:
|
||||
return {
|
||||
"length": centimeters_string_to_int(dimensions.length, "length"),
|
||||
|
||||
Reference in New Issue
Block a user