我正在构建运费计算器,我需要API响应中的服务代码,描述和价格.我注意到我从未得到以下答复:/ RatingServiceSelectionResponse/RatedShipment/Service/Description - 但我得到了价格和服务代码的回复.
我联系了有关此的支持,他们说,"不幸的是,服务的描述(在响应内部)仅在我们的Time in Transit API中可用"
如果没有提供服务描述的Rates API,这似乎很奇怪,没有这些信息似乎有点无用.
有没有人知道是否有任何方法使用从Rates API返回的服务代码查找服务描述?
任何有关这方面的帮助将非常感激.
god*_*ing 11
这些代码可在评级包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'
);
Run Code Online (Sandbox Code Playgroud)
现在,真正令人沮丧的是,当您实现TimeInTransit(TNT)服务时,您会发现它返回描述但没有代码!
但我发现TNT服务返回的描述与开发者指南中的费率代码的描述相符(在上面的例子中).所以,这就是我最终将TNT数据与Rate数据进行匹配的方式.
希望这可以帮助!
更新:
对于TransitInTime请求,您可以在Time 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 */
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5718 次 |
| 最近记录: |