使用Amazon SP-API确认发货时无法设置「配送服务」字段的问题
亚马逊SP-API设置追踪号后「配送服务」字段为空的问题
我在使用亚马逊SP-API时,通过以下代码设置订单追踪号:
public bool UpdateTrackingNumber(DtoShipment dto) { ConfirmShipmentOrderItemsList orderItems = new ConfirmShipmentOrderItemsList(); foreach (OrderItem item in dto.LstOrderItem) { orderItems.Add(new ConfirmShipmentOrderItem(item.OrderItemId, item.Quantity)); } ConfirmShipmentRequest confirmShipmentRequest = new ConfirmShipmentRequest() { MarketplaceId = getMarketPlaceId(dto.CountryCode), PackageDetail = new PackageDetail() { TrackingNumber = dto.TrackingNumber, CarrierName = dto.CarrierName, // "DPD Home 0-31.5kg" CarrierCode = dto.CarrierCode, // "DPD" PackageReferenceId = "1", ShipDate = DateTime.UtcNow, OrderItems = orderItems } }; AmazonConnection _connAmazon = createAmazonConnection("marketplaceId"); return _connAmazon.Orders.ConfirmShipment(dto.AmazonOrderId, confirmShipmentRequest); }
这段代码能成功设置追踪号,但订单的「配送服务」字段始终为空。想确认是否可以通过这个ConfirmShipment方法同时设置该字段?
补充说明
- 编辑1:手动在亚马逊后台设置追踪号时,「承运人」会自动选中"DPD",「配送服务」自动选中「其他」,下方显示"DPD Home 0-31.5kg"。
- 编辑2:通过API设置时,追踪号和承运人已正常设置,但「配送服务」字段仍为空。而手动操作只需输入追踪号并确认发货,所有相关字段都会自动填充。
- 编辑3:感谢@Charlieface的建议,修改代码后问题解决,调整后的
PackageDetail代码如下:
PackageDetail = new PackageDetail() { TrackingNumber = dto.TrackingNumber, CarrierName = "", CarrierCode = dto.CarrierCode, // "DPD" PackageReferenceId = "1", ShipDate = DateTime.UtcNow, OrderItems = orderItems, ShippingMethod = dto.CarrierName // "DPD Home 0-31.5kg" }
内容的提问来源于stack exchange,提问作者Muzaffer Galata
相关产品推荐
相关产品推荐

