sf-apple-sdk
Version:
Apple SF SDK for SF WMS
540 lines (539 loc) • 15.2 kB
TypeScript
import { SdkResponse } from './base.js';
export interface SaleOrderData {
saleOrders: SaleOrder[];
}
/** 出库单明细项 */
export interface CarrierAddedService {
/**
* 增值服务代码
* (请参考附录 4.3: 承运商增值服务表)
* 说明:需要使用电子回单的,该字段传IN149
*/
ServiceCode?: string;
/**
* 说明:需要使用电子回单的,该字段传 3
*/
Attr01?: string;
Attr02?: string;
Attr03?: string;
Attr04?: string;
Attr05?: string;
Attr06?: string;
Attr07?: string;
Attr08?: string;
}
export interface OrderCarrier {
/** 是否内部件 */
IsInternalParts?: number;
/**
* 承运商
* CP: 顺丰速运 ✅
* ZT: 自提承运商 ✅
* */
Carrier: 'CP' | 'ZT';
/**
* 承运商产品
* S2: 顺丰标快 ✅
* SE0129:极效前置 ✅
* SE0141:顺丰卡航 ✅
* ZT: 自提 ✅
* */
CarrierProduct: 'ZT' | 'S2' | 'SE0129' | 'SE0141';
/** 运单号 */
WaybillNo?: string;
/** 线路编号 */
RouteNumbers?: string;
/** 运费支付方式 */
PaymentOfCharge?: string;
/** 月结账号 */
MonthlyAccount?: string;
/** 付款地区 */
PaymentDistrict?: string;
/**
* 是否需要签回单
* Y 是 N 否
* 注意:需要签纸质版回单的这里传 Y
*/
ReturnService?: string;
/** 签回单号 */
ReturnTracking?: string;
/** 是否是自取件 */
IfSelfPickup?: string;
/** 承运商属性1 */
CarrierAttr1?: string;
/** 承运商属性2 */
CarrierAttr2?: string;
/** 承运商属性3 */
CarrierAttr3?: string;
/** 承运商系统 */
CarrierSystem?: string;
/** 打印标识 */
PrintMark?: string;
/** 承运商增值服务 */
CarrierAddedServices?: CarrierAddedService[];
}
export interface OrderReceiverInfo {
/**
* 收件方公司
* 传 Apple 厂 商 要 求 的
* ToLocationName,例如“销售出库- 2C 消费者”传 DTC,“大仓分货-门店”传门店名称
*/
ReceiverCompany?: string;
/** 收件方姓名 */
ReceiverName?: string;
/** 收件方电子邮箱 */
ReceiverEmail?: string;
/** 收件方邮编 */
ReceiverZipCode?: string;
/** 收件方手机 */
ReceiverMobile?: string;
/** 收件方电话 */
ReceiverPhone?: string;
/** 收件方国家 */
ReceiverCountry: string;
/** 收件方省份 */
ReceiverProvince?: string;
/** 收件方城市 */
ReceiverCity?: string;
/** 收件方区/县 */
ReceiverArea?: string;
/** 收件方地址 */
ReceiverAddress?: string;
/** 收件方证件类型 */
ReceiverIdType?: string;
/** 收件方证件号码 */
ReceiverIdCard?: string;
/** 收件方街道 */
EndStationStreet?: string;
}
export interface OrderSenderInfo {
SenderCompany?: string;
SenderName?: string;
SenderEmail?: string;
SenderZipCode?: string;
SenderMobile?: string;
SenderPhone?: string;
SenderCountry?: string;
SenderProvince?: string;
SenderCity?: string;
SenderArea?: string;
SenderAddress?: string;
SenderIdType?: string;
SenderIdCard?: string;
SenderStationStreet?: string;
}
export interface OrderExtendAttribute {
/** 扩展字段1 */
UserDef1?: string;
/**
* ND 发 T2,传 T2 HQID (回传 Apple 厂商供数)
*/
UserDef2?: string;
/** 扩展字段3 */
UserDef3?: string;
/**
* 传 Apple 厂 商 要 求 的
* toLocationCode,例如“销售出库- 2C 消费者”传 DTC
* erp 仓库对接收发地信息
*/
UserDef4?: string;
/**
* 存回传 Apple 厂商的调拨单原参考 erp 单号
*/
UserDef5?: string;
/**
* 存放云签标识
*/
UserDef6?: string;
/**
* ASAB 苹果地址校验的 code,传值同
* toLocationCode,例如“销售出库- 2C 消费者”传 DTC
*/
UserDef7?: string;
/**
* ASAB 苹 果 地 址 校 验 的
* accountName , EDU 、 EDTC 和
* ResellerOffice 场景必填,例如:"北京
* 大学",可在 ASAB 系统看到不同
* ship-to-id 对应不同的 accountName
*/
UserDef8?: string;
/**
* ASAB 苹 果 地 址 校 验 的 hqid,EDU 、
* EDTC 和 ResellerOffice 场景必填;
* 可在 ASAB 系统看到不同 ship-to-id
* 对应不同的 hqid
*/
UserDef9?: string;
/**
* 电 商 平 台 苹 果 店 铺 ID , 用 于 回 传
* Apple 厂商供数
*/
UserDef10?: string;
/**
* 传 Apple 厂 商 要 求 的
* toLocationType,例如“销售出库-2C
* 消费者”传 3
*/
UserDef11?: string;
/**
* 用|拼接省市区县详细地址,例如:
* 广东|深圳市|南山区|中山路 1 号
* (回传 Apple 厂商供数)
*/
UserDef12?: string;
/**
* 奇门对接情景存 Apple 的 erpordertype
*/
UserDef13?: string;
UserDef14?: string;
/**
* 传 Apple 厂 商 要 求 的
* FromLocationname,ND/T1 在苹果
* 报备的仓库名,例如:XXX 良品仓
*/
UserDef15?: string;
/**
* 如 SKU 明细包含 Demo,传 Demo
*/
UserDef16?: string;
}
export interface OrderInvoice {
/** 发票类型 */
InvoiceType?: string;
/** 发票号 */
InvoiceNo?: string;
/** 发票抬头 */
InvoiceTitle?: string;
/** 发票内容 */
InvoiceContent?: string;
/** 发票金额 */
InvoiceAccount?: string;
/** 收件方名称 */
ReceiverName?: string;
/** 收件方手机 */
ReceiverMobile?: string;
/** 收件方地址 */
ReceiverAddress?: string;
/** 扩展字段1 */
UserDef1?: string;
/** 扩展字段2 */
UserDef2?: string;
/** 扩展字段3 */
UserDef3?: string;
/** 扩展字段4 */
UserDef4?: string;
/** 扩展字段5 */
UserDef5?: string;
/** 扩展字段6 */
UserDef6?: string;
/** 扩展字段7 */
UserDef7?: string;
/** 扩展字段8 */
UserDef8?: string;
}
export interface OrderItem {
/** 商品明细字段 */
/** ERP行号 */
ErpOrderLineNum?: string;
/** 商品编码 */
SkuNo: string;
/** 商品名称 */
ItemName?: string;
/** 商品单位 */
ItemUom?: string;
/** 数量 */
ItemQuantity: number;
/** 单价 */
ItemPrice?: number;
/** 批准文号 */
ApproveDocno?: string;
/** 拼箱数量 */
CubeMultipleQty?: string;
/** 优惠金额 */
ItemDiscount?: number;
/** 商品国检备案编号 */
CheckPrepardNo?: string;
/** 商品海关备案号 */
CustomsPrepardNo?: string;
/** 海关编号 */
HsCode?: string;
/** 商品品牌 */
ItemBrand?: string;
/** 商品型号 */
ItemSpecifications?: string;
/** 商品运输温度 */
SkuTransportTemperature?: string;
/** 商品运输温度名称 */
SkuTransportTemperatureName?: string;
/** 是否是组合商品 */
BomAction?: string;
/** 是否赠品 */
IsPresent?: string;
/** 是否虚拟增值产品 */
IsVirtualProduct?: string;
/**
* 库存类型
* 10:良品
* 20:残次品
*/
InventoryStatus: '10' | '20';
/** 批号 */
Lot?: string;
/** 明细备注 */
Note?: string;
/** 供应商编码 */
VendorCode?: string;
/** 生产日期 */
Mfgdate?: string;
/** 失效日期 */
Expdate?: string;
/** 入库日期 */
Recdate?: string;
/** BOM商品编码 */
LotAttr1?: string;
LotAttr2?: string;
LotAttr3?: string;
/**
* 苹果 的逻辑 仓,传 Apple 厂商 要 求
* fromLocationcode,ND/T1 在苹果报
* 备的逻辑仓编码,hqid-XXX,例如:
* 15XXX-1001;
*/
LotAttr4: string;
LotAttr5?: string;
LotAttr6?: string;
LotAttr7?: string;
LotAttr8?: string;
LotAttr9?: string;
LotAttr10?: string;
LotAttr11?: string;
LotAttr12?: string;
UserDef1?: string;
/**
* 传 Apple 厂商的 MPN
*/
UserDef2: string;
UserDef3?: string;
UserDef4?: string;
UserDef5?: string;
UserDef6?: string;
UserDef7?: string;
UserDef8?: string;
/** 物资类型 */
MaterialType?: number;
/** 增值服务标签 */
ValueAdded?: string;
/**
* 国补标识枚举值:dy 为抖音;sn 为苏
* 宁;tb 为淘天;pdd 为拼多多;ks 为
* 快手;wph 为唯品会;dw 为得物;xhs 为
* 小红书;sph 为视频号;merchant 为
* 商家自营国补,新增:bl 为百联
*/
SubsidySource?: string;
/**
* 国补分类。枚举值:手机、平板、电脑、穿戴
*/
SubsidyClassify?: string;
SerialNumbers?: string[];
}
export type SfOutOrderType = '10' | '20' | '22' | '30' | '40' | '50' | '90' | '112' | 'PKCK' | 'JXQZ';
/** 单个出库单 */
export interface SaleOrder {
/** 仓库编码(可选) */
WarehouseCode?: string;
/**
* 订单类型(必填)
* 10 销售订单
* 20 返厂订单
* 30 换货订单
* 40 调拨订单
* 50 退仓订单
* 90 NPR 订单
* PKCK:盘亏出库
* 112:其他出库
* 极效前置订单必须传 JXQZ
*/
SfOrderType: SfOutOrderType;
/**
* 传 Apple 厂 商 要 求 的 TransactionCode,例如“销售出库-2C 消费者”传 1001
*/
ErpOrderType: string;
/** 客户订单号(必填) */
ErpOrder: string;
/** 业务部门(可选) */
BusinessDepartment?: string;
/** 销售代表(可选) */
SalesRepresentative?: string;
/** 运输条件(可选) */
TransportationCondition?: string;
/** 组合标识(可选) */
CombinationSign?: string;
/** 目的地设施别名ID(可选) */
DestinationFacilityAliasId?: string;
/** 目的地设施名称(可选) */
DestinationFacilityName?: string;
/** 质量类型(可选) */
QualityType?: string;
/** 供应商编码(可选) */
VendorCode?: string;
/** 订单运输温度(可选) */
OrderTransportTemperature?: string;
/** 订单备注(可选) */
OrderNote?: string;
/** 包装备注(可选) */
PackageNote?: string;
/** 交易订单日期(可选) */
TradeOrderDateTime?: Date;
/** 交易订单时间(可选) */
PayDateTime?: Date;
/**
* 极效前置放行时间 格式:YYYY-MM-DD HH24:MI:SS
*/
ExpeditedPrereleaseTime?: string;
/** 币种简码 */
CurrencyCode?: string;
/** 商家备注 */
CompanyNote?: string;
/**
* 店铺名称,平台店铺名称,用于 Apple 厂商供数
*/
ShopName?: string;
/** 交易平台 */
TradePlatform?: string;
/** 平台交易号 */
TradeOrder?: string;
/** 买家账号 */
BuyerId?: string;
/** 是否需要整单发货 */
CompleteDelivery?: string;
/** 运单打印寄件方信息来源 */
FromFlag?: string;
/** 要求派送日期 */
DeliveryDate?: string;
/** 配送要求 */
DeliveryRequested?: string;
/** 客户支付方式 */
PaymentMethod?: string;
/** 支付号码 */
PaymentNumber?: string;
/** 订单支付运费 */
Freight?: number;
/** 面单备注 */
Remark?: string;
/** 订单总金额 */
OrderTotalAmount?: number;
/** 订单优惠金额 */
OrderDiscount?: number;
/** 其他金额 */
OtherCharge?: number;
/** 实际支付金额 */
ActualAmount?: number;
/** 订单实际重量 */
ActualWeight?: number;
/** 订单优先级 */
Priority?: number;
/** 订单发货模式 */
DeliveryMode?: string;
/** 是否需要发票 */
IsInvoice?: string;
/** 是否允许拆单 */
IsAllowSplit?: string;
/**
* 原始ERP单号
* 苹果销售出库单附带传参 T2 采购单号
*/
OrgErpOrder?: string;
/** 原始电商单号 */
OrgTradeOrder?: string;
/** 头程运单号 */
InProcessWaybillNo?: string;
/** 客户网络代码 */
CustomerNetCode?: string;
/** 客户网点名称 */
CustomerNetName?: string;
/** 客户区域代码 */
CustomerAreaCode?: string;
/** 是否需要自动分仓 */
IsNeedAllot?: string;
/** 系统来源 */
SysSource?: string;
/**
* 是否订单加密(Y:加密|N:不加密)
* 用于标记订单是否加密,根据客户场景传值。
*/
IsEncryptedData?: string;
/** 加密标识 */
Oaid?: string;
/** 创建人 */
CreateEmp?: string;
/** 需求类型 */
NeedsType?: string;
/** 排线号 */
ShiftNumber?: string;
/** 收件方网点编码 */
ReceiverStationCode?: string;
/** 是否高价值 */
HighValue?: string;
/** 上门取货开始时间 */
ReserveTime?: string;
/** 上门取货结束时间 */
ReserveEndTime?: string;
/** 要求发货时间 */
RequiredDeliveryDate?: string;
/** 业务类型 */
BusinessModel?: string;
/** 原始承运商 */
OrgCarrier?: string;
/**
* 订单类型:1-修改,其他值下单
* 接口传值为 1 时,portal 会调用出库单取消接口将单据进行取消,同时调用出库单接口生成新的出库单。
* 修改地址:将原 erp 单据的地址修改后,重新调用 出库单接口( 将 AddOrModifyType 赋值 1),
* SF 系统会自动做原出库单取消以及生成新的出库单据下发 WMS;
* 但受限于单据处理的状态,例如:当 WMS 已经发运时,单据不允许修改
*/
AddOrModifyType?: number;
/** 订单承运商 */
OrderCarrier: OrderCarrier;
/** 收件方信息 */
OrderReceiverInfo: OrderReceiverInfo;
/** 寄件方信息 */
OrderSenderInfo: OrderSenderInfo;
/** 扩展属性 */
OrderExtendAttribute: OrderExtendAttribute;
/** 发票信息 */
OrderInvoice?: OrderInvoice;
/** 订单明细 */
OrderItems: OrderItem[];
}
/** 出库单接口请求 */
export interface SaleOrderRequest {
/** 货主编码(必填) */
CompanyCode: string;
/** 访问码(必填) */
AccessCode: string;
/** 校验码(必填) */
Checkword: string;
/** 服务编码(必填) */
ServiceCode: string;
/** 出库单列表(必填) */
SaleOrders: SaleOrder[];
}
/** 单个出库单响应 */
export interface SaleOrderResponseItem {
/** 客户订单号(必填) */
ErpOrder: string;
/** 出库单号(可选) */
ShipmentId?: string;
/** 处理结果(必填) */
Result: '1' | '2';
/** 失败备注(可选) */
Note?: string;
}
/** 出库单接口响应 Body */
export interface SaleOrderResponseBody {
SaleOrders: SaleOrderResponseItem[];
}
/** 出库单接口响应 */
export type SaleOrderResponse = SdkResponse & SaleOrderResponseBody;