我正在构建运费计算器,我需要API响应中的服务代码,说明和价格。我注意到我从未得到过回复: / RatingServiceSelectionResponse / RatedShipment / Service / Description - 但我得到了价格和服务代码的回复。
我联系了有关此的支持,他们说,“不幸的是,服务的描述(在响应内)仅在我们的Time in Transit API中可用”
使用不提供服务描述的Rates API似乎很奇怪,没有这些信息似乎有点无用。
有没有人知道是否有办法使用从Rates API返回的服务代码查找服务描述?
非常感谢任何帮助。
答案 0 :(得分:10)
代码可在评级包Web服务开发人员指南的附录E中找到。
我对UPS API也有类似的挫败感 你是对的 - 服务/描述在Rate服务的响应中是空白的。因此,您必须使用...服务/代码值并根据这些代码编写您自己的代码描述图。
例如,以下是我在Perl脚本中映射的值:
%ups_service_code = (
'01' => 'UPS Next Day Air',
'02' => 'UPS 2nd Day Air',
'03' => 'UPS Ground',
'07' => 'UPS Worldwide Express',
'08' => 'UPS Worldwide Expedited',
'11' => 'UPS Standard',
'12' => 'UPS 3 Day Select',
'13' => 'UPS Next Day Air Saver',
'14' => 'UPS Next Day Air Early A.M.',
'54' => 'UPS Worldwide Express Plus',
'59' => 'UPS 2nd Day Air A.M.',
'65' => 'UPS Saver',
## 82-86 are Polish Domestic Shipments
'82' => 'UPS Today Standard',
'83' => 'UPS Today Dedicated Courier',
'84' => 'UPS Today Intercity',
'85' => 'UPS Today Express',
'86' => 'UPS Today Express Saver'
);
现在,真正令人沮丧的是,当您实施TimeInTransit(TNT)服务时,您会发现它返回描述但没有代码!
但我发现TNT服务返回的描述与开发者指南中的费率代码的描述相符(在上面的例子中)。所以,这就是我最终将TNT数据与Rate数据匹配的方式。
希望这有帮助!
<强>更新强>
对于TransitInTime请求,您可以在 Trans in Transit文档中找到代码,查看PDF部分“服务代码”的末尾。
无论如何,这些代码与费率中使用的代码不同,因此您必须为此创建另一个地图。
这是一个例子
/* Mapping for destination within the origin country */
$SCmappings = array(
'23' => '54', /* UPS Express Plus */
'24' => '07', /* UPS Express */
'25' => '11', /* UPS Standard */
'26' => '65', /* UPS Express Saver */
'39' => '70' /* UPS Access Point Economy */
);
/* Mapping for destination within the European Union */
$EUmappings = array(
'08' => '11', /* UPS Standard */
'10' => '07', /* UPS Express */
'18' => '65', /* UPS Express Saver */
'22' => '54', /* UPS Express Plus */
'29' => '08', /* UPS Express Freight - UPS Expedited */
'39' => '70' /* UPS Access Point Economy */
);
/* Mapping for destination outside the European Union */
$nonEUmappings = array(
'01' => '07', /* UPS Worldwide Express */
'05' => '08', /* UPS Worldwide Expedited */
// '11' => '???', /* UPS Express NA 1 */
'21' => '54', /* UPS Worldwide Express Plus */
'28' => '65', /* UPS Worldwide Express Saver */
'29' => '11', /* UPS Express Freight - UPS Standard */
'39' => '70' /* UPS Access Point Economy */
);
答案 1 :(得分:0)
这就是Magento映射UPS代码的方式。
function