This commit is contained in:
2026-09-08 20:28:05 +08:00
parent 658b2e84cf
commit a7f073c783
13 changed files with 725 additions and 97 deletions
@@ -6,9 +6,13 @@ export interface TransferSummary { id: string; transferNo: string; inboundCode:
export interface RelabelSummary { id: string; relabelNo: string; lastlegOrderId: string; lastlegOrderNo: string; customerOrderNo: string; overseasWarehouseId: string; status: string; itemCount: number; totalPackageCount: number; notifiedPackageCount: number; skuCodes: string; createdAt: string }
export interface RelabelItemDetail {
id: string; skuCode?: string; productNameZh: string; totalPackageCount: number; notifiedPackageCount: number
shipmentNo: string; trackingCode?: string; newSkuCode: string; labelRequirement?: string; remark?: string
shipmentNo: string; trackingCode?: string; newSkuCode?: string; labelRequirement?: string; remark?: string
relabelFileId?: string; relabelFileName?: string; relabelFileUrl?: string
cartonMark: string; fbaCartonMark: string; destinationWarehouseId: string
cartonMark: string; fbaCartonMark?: string; destinationFbaWarehouseCode?: string
operationType: 'CARTON_LABEL' | 'SKU_LABEL' | 'CARTON_AND_SKU'
skuItems: Array<{ skuCode: string; newSkuCode: string; quantity: number; remark?: string }>
sourceInventoryBalanceId: string; sourceInventoryPositionId: string; sourceInboundOrderId: string
sourceInboundOrderNo?: string; sourceInboundCode?: string; sourceWarehouseId: string; sourceWarehouseCode?: string; sourceWarehouseName?: string
}
export interface RelabelDetail {
application: RelabelSummary & { labelDeadline?: string; contactName?: string; contactPhone?: string; chargeAmount?: number; chargeCurrency?: string; walletStatus?: string; walletErrorMessage?: string }
@@ -18,6 +22,13 @@ export interface RelabelDetail {
}
export interface DiscardSummary { id: string; discardNo: string; inboundCodes: string; overseasWarehouseId: string; overseasWarehouseName: string; totalPackages: number; totalFee: number; currency: string; status: string; createdAt: string }
export interface DiscardCandidate { orderId: string; inboundCode: string; inboundOrderNo: string; overseasWarehouseId: string; overseasWarehouseName: string; availablePackages: number; skus: Array<{ skuCode: string; productName: string; availablePackages: number }> }
export interface RelabelInventoryCandidate {
inventoryBalanceId: string; inboundOrderId: string; inboundOrderNo?: string; inboundCode?: string
overseasWarehouseId: string; overseasWarehouseCode?: string; overseasWarehouseName?: string
destinationFbaWarehouseCode?: string; destinationFbaWarehouseName?: string; skuCode?: string; productNameZh?: string
availablePackages: number; version: number
positions: Array<{ positionId: string; palletNo?: string; batchNo?: string; warehouseLocationCode?: string; availablePackages: number }>
}
export interface TransferCreate {
inboundCode: string; sourceLastlegOrderIds: string[]; operatingWarehouseId: string; fbaWarehouseCode: string
@@ -26,10 +37,10 @@ export interface TransferCreate {
items: Array<{ skuCode: string; productNameZh: string; packageCount: number; shippingMark?: string }>
}
export interface RelabelCreate {
customerOrderNo: string; overseasWarehouseId?: string; labelDeadline: string; contactName: string; contactPhone: string; chargeAmount: number
customerOrderNo: string; operationWarehouseId: string; labelDeadline: string; contactName: string; contactPhone: string; chargeAmount: number
remark?: string; idempotencyKey: string
items: Array<{ skuCode?: string; productNameZh: string; totalPackageCount: number; notifiedPackageCount: number; shipmentNo: string; trackingCode?: string; newSkuCode: string; labelRequirement?: string
cartonMark: string; fbaCartonMark: string; destinationWarehouseId?: string; remark?: string }>
items: Array<{ sourceInventoryBalanceId: string; sourceInventoryPositionId: string; sourceInboundOrderId: string; skuCode?: string; productNameZh: string; totalPackageCount: number; notifiedPackageCount: number; shipmentNo: string; trackingCode?: string; newSkuCode?: string; labelRequirement?: string
cartonMark: string; fbaCartonMark?: string; destinationFbaWarehouseCode?: string; operationType: 'CARTON_LABEL' | 'SKU_LABEL' | 'CARTON_AND_SKU'; skuItems?: Array<{ skuCode: string; newSkuCode: string; quantity: number; remark?: string }>; remark?: string }>
}
export function listLastlegOrders(inboundCode: string) {
@@ -50,6 +61,13 @@ export function listRelabels(params: Record<string, unknown>) {
export function getRelabel(relabelNo: string) {
return overseasApiRequest<RelabelDetail>({ method: 'GET', url: `/merchant/v1/last-leg/relabel-applications/${encodeURIComponent(relabelNo)}` })
}
export function listRelabelInventoryCandidates(operationWarehouseId: string, inboundCode?: string) {
return overseasApiRequest<RelabelInventoryCandidate[]>({
method: 'GET', url: '/merchant/v1/last-leg/relabel-applications/inventory-candidates',
params: { operationWarehouseId, inboundCode: inboundCode || undefined },
})
}
export function createRelabel(payload: RelabelCreate) {
return overseasApiRequest<Record<string, unknown>>({ method: 'POST', url: '/merchant/v1/last-leg/relabel-applications', data: payload })
}