我正在开发一个系统,该系统使用 UPS 作为我们打包订单的主要快递公司。
我使用 UPS API 发现了一个奇怪的问题。我将所有请求提交给 Time In Transit,然后选择客户喜欢采用的最佳服务。
但是,当从 Time in Transit API 返回的服务列表中选择服务并将该服务代码传递给 Rating API 时,我一直收到此错误:
错误代码:111209 - 服务类型无效
我查看了运输时间和评级 XML 开发人员指南中的附录 E - 服务代码部分,但它们似乎都映射不正确......
这是发送的运输时间请求:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TimeInTransitRequest xml:lang="en-GB">
<Request>
<RequestAction>TimeInTransit</RequestAction>
<TransactionReference>
<CustomerContext></CustomerContext>
</TransactionReference>
</Request>
<ShipmentWeight>
<UnitOfMeasurement>
<Code>KGS</Code>
</UnitOfMeasurement>
<Weight>1</Weight>
</ShipmentWeight>
<TransitFrom>
<AddressArtifactFormat>
<PoliticalDivision2>Elham</PoliticalDivision2>
<PoliticalDivision1></PoliticalDivision1>
<PostcodePrimaryLow>CT46NE</PostcodePrimaryLow>
<CountryCode>GB</CountryCode>
</AddressArtifactFormat>
</TransitFrom>
<TransitTo>
<AddressArtifactFormat>
<PoliticalDivision2></PoliticalDivision2>
<PoliticalDivision1>CA</PoliticalDivision1>
<PostcodePrimaryLow>92614</PostcodePrimaryLow>
<CountryCode>US</CountryCode>
</AddressArtifactFormat>
</TransitTo>
<PickupDate>20141024</PickupDate>
<TotalPackagesInShipment>1</TotalPackagesInShipment>
<InvoiceLineTotal>
<MonetaryValue>255</MonetaryValue>
<CurrencyCode>GBP</CurrencyCode>
</InvoiceLineTotal>
</TimeInTransitRequest>
这是从 API 返回的内容:
<?xml version="1.0"?>
<TimeInTransitResponse>
<Response>
<TransactionReference></TransactionReference>
<ResponseStatusCode>1</ResponseStatusCode>
<ResponseStatusDescription>Success</ResponseStatusDescription>
</Response>
<TransitResponse>
<PickupDate>2014-10-24</PickupDate>
<TransitFrom>
<AddressArtifactFormat>
<PoliticalDivision2>ELHAM</PoliticalDivision2>
<PoliticalDivision1>KENT</PoliticalDivision1>
<Country>UNITED KINGDOM</Country>
<CountryCode>GB</CountryCode>
<PostcodePrimaryLow>CT046</PostcodePrimaryLow>
</AddressArtifactFormat>
</TransitFrom>
<TransitTo>
<AddressArtifactFormat>
<PoliticalDivision2>IRVINE</PoliticalDivision2>
<PoliticalDivision1>CA</PoliticalDivision1>
<Country>UNITED STATES</Country>
<CountryCode>US</CountryCode>
<PostcodePrimaryLow>92614</PostcodePrimaryLow>
</AddressArtifactFormat>
</TransitTo>
<AutoDutyCode>01</AutoDutyCode>
<ShipmentWeight>
<UnitOfMeasurement>
<Code>KGS</Code>
</UnitOfMeasurement>
<Weight>1.0</Weight>
</ShipmentWeight>
<InvoiceLineTotal>
<CurrencyCode>GBP</CurrencyCode>
<MonetaryValue>255.00</MonetaryValue>
</InvoiceLineTotal>
<Disclaimer>All services are guaranteed if shipment is paid for in full by a payee in the United States. Services listed as guaranteed are backed by a money-back guarantee for transportation charges only. See Terms and Conditions in the Service Guide for details. Certain commodities and high value shipments may require additional transit time for customs clearance.</Disclaimer>
<ServiceSummary>
<Service>
<Code>21</Code>
<Description>UPS Express Plus</Description>
</Service>
<Guaranteed>
<Code>Y</Code>
</Guaranteed>
<EstimatedArrival>
<BusinessTransitDays>1</BusinessTransitDays>
<Time>08:00:00</Time>
<PickupDate>2014-10-24</PickupDate>
<PickupTime>13:00:00</PickupTime>
<HolidayCount>0</HolidayCount>
<DelayCount>0</DelayCount>
<Date>2014-10-27</Date>
<DayOfWeek>MON</DayOfWeek>
<TotalTransitDays>3</TotalTransitDays>
<CustomerCenterCutoff>10:30:00</CustomerCenterCutoff>
<RestDays>2</RestDays>
</EstimatedArrival>
</ServiceSummary>
<ServiceSummary>
<Service>
<Code>01</Code>
<Description>UPS Express</Description>
</Service>
<Guaranteed>
<Code>Y</Code>
</Guaranteed>
<EstimatedArrival>
<BusinessTransitDays>1</BusinessTransitDays>
<Time>10:30:00</Time>
<PickupDate>2014-10-24</PickupDate>
<PickupTime>13:00:00</PickupTime>
<HolidayCount>0</HolidayCount>
<DelayCount>0</DelayCount>
<Date>2014-10-27</Date>
<DayOfWeek>MON</DayOfWeek>
<TotalTransitDays>3</TotalTransitDays>
<CustomerCenterCutoff>10:30:00</CustomerCenterCutoff>
<RestDays>2</RestDays>
</EstimatedArrival>
</ServiceSummary>
<ServiceSummary>
<Service>
<Code>28</Code>
<Description>UPS Express Saver</Description>
</Service>
<Guaranteed>
<Code>Y</Code>
</Guaranteed>
<EstimatedArrival>
<BusinessTransitDays>1</BusinessTransitDays>
<Time>23:30:00</Time>
<PickupDate>2014-10-24</PickupDate>
<PickupTime>13:00:00</PickupTime>
<HolidayCount>0</HolidayCount>
<DelayCount>0</DelayCount>
<Date>2014-10-27</Date>
<DayOfWeek>MON</DayOfWeek>
<TotalTransitDays>3</TotalTransitDays>
<CustomerCenterCutoff>10:30:00</CustomerCenterCutoff>
<RestDays>2</RestDays>
</EstimatedArrival>
</ServiceSummary>
<ServiceSummary>
<Service>
<Code>29</Code>
<Description>UPS Worldwide Express Freight</Description>
</Service>
<Guaranteed>
<Code>Y</Code>
</Guaranteed>
<EstimatedArrival>
<BusinessTransitDays>2</BusinessTransitDays>
<Time>23:30:00</Time>
<PickupDate>2014-10-24</PickupDate>
<PickupTime>13:00:00</PickupTime>
<HolidayCount>0</HolidayCount>
<DelayCount>0</DelayCount>
<Date>2014-10-28</Date>
<DayOfWeek>TUE</DayOfWeek>
<TotalTransitDays>4</TotalTransitDays>
<CustomerCenterCutoff>10:30:00</CustomerCenterCutoff>
<RestDays>2</RestDays>
</EstimatedArrival>
</ServiceSummary>
<ServiceSummary>
<Service>
<Code>05</Code>
<Description>UPS Expedited</Description>
</Service>
<Guaranteed>
<Code>N</Code>
</Guaranteed>
<EstimatedArrival>
<BusinessTransitDays>4</BusinessTransitDays>
<Time>23:30:00</Time>
<PickupDate>2014-10-24</PickupDate>
<PickupTime>13:00:00</PickupTime>
<HolidayCount>0</HolidayCount>
<DelayCount>0</DelayCount>
<Date>2014-10-30</Date>
<DayOfWeek>THU</DayOfWeek>
<TotalTransitDays>6</TotalTransitDays>
<CustomerCenterCutoff>10:30:00</CustomerCenterCutoff>
<RestDays>2</RestDays>
</EstimatedArrival>
</ServiceSummary>
<MaximumListSize>35</MaximumListSize>
</TransitResponse>
</TimeInTransitResponse>
例如,我选择UPS Express Plus
服务。服务代码是21
,我将其传递给 Rate API 请求,但出现与上面相同的错误。服务代码附加在RatingServiceSelectionRequest/Shipment/Service/Code
路径中,如下所示:
<Service>
<Code>21</Code>
</Service>
我在这里做错了什么吗?我们所有的订单都可以在全球范围内发送,但总是从英国发货。