إنشاء وإدارة الشحنات الدولية

POST /v1/fulfillment/shipments/create {#create}

الحقول الأساسية نفسها مثل preview، إضافة إلى اختياري:

  • external_shipment_id — مفتاح idempotency
  • remark

يجب أن يطابق total.payment قيمة preview total:

"total": {
  "freight": { "amount": 8900, "currency": "CNY" },
  "services": { "amount": 1500, "currency": "CNY" },
  "discount": { "amount": 200, "currency": "CNY" },
  "payment": { "amount": 10200, "currency": "CNY" }
}

يعيد shipment_id وstatus (مثل wait_payment).

POST /v1/fulfillment/shipments/pay {#pay}

{
  "shipment_id": "shp_01HXYZ"
}

يخصم من محفظة fulfillment. الرصيد غير الكافي → INSUFFICIENT_BALANCE.

POST /v1/fulfillment/shipments/cancel {#cancel}

{
  "shipment_id": "shp_01HXYZ",
  "cancel_reason": "buyer_request"
}

POST /v1/fulfillment/shipments/detail {#detail}

{
  "shipment_id": "shp_01HXYZ"
}