убрал packages из cdek payload
Deploy / deploy (push) Successful in 52s

This commit is contained in:
Раис Юсупалиев
2026-06-26 20:46:21 +03:00
parent 843175f12e
commit 6906db7739
2 changed files with 51 additions and 23 deletions
@@ -126,7 +126,9 @@ def map_cdek_order_info_response(payload: dict[str, Any]) -> CDEKOrderInfo:
"CDEK order info response must include entity.uuid."
)
status_code = _latest_status_code(entity.get("statuses"))
status_code = _invalid_create_request_status(
payload.get("requests")
) or _latest_status_code(entity.get("statuses"))
waybill_uuid, _ = _extract_waybill(payload)
return CDEKOrderInfo(
order_uuid=order_uuid,
@@ -172,6 +174,20 @@ def _latest_status_code(statuses: object) -> str | None:
return dated[-1][1]
def _invalid_create_request_status(requests: object) -> str | None:
if not isinstance(requests, list):
return None
for entry in requests:
if not isinstance(entry, dict):
continue
if entry.get("type") != "CREATE" or entry.get("state") != "INVALID":
continue
errors = entry.get("errors")
if isinstance(errors, list) and errors:
return "INVALID"
return None
def _extract_waybill(payload: dict[str, Any]) -> tuple[str | None, str | None]:
entity = payload.get("entity")
related_entities = (
@@ -306,16 +322,6 @@ def _map_package(request: InitPaymentRequest, order_uuid: str) -> dict[str, Any]
"number": order_uuid,
"weight": weight_grams,
"comment": description,
"items": [
{
"name": description,
"ware_key": order_uuid,
"payment": {"value": 0},
"cost": request.content.declared_value,
"amount": 1,
"weight": weight_grams,
}
],
}
if system_data.parcel_type == "parcel" and system_data.dimensions is not None:
package.update(_map_dimensions(system_data.dimensions))