UPS Rates API - 如何获得服务描述

时间:2012-12-07 11:13:12

标签: api ups rates

我正在构建运费计算器,我需要API响应中的服务代码,说明和价格。我注意到我从未得到过回复: / RatingServiceSelectionResponse / RatedShipment / Service / Description - 但我得到了价格和服务代码的回复。

我联系了有关此的支持,他们说,“不幸的是,服务的描述(在响应内)仅在我们的Time in Transit API中可用”

使用不提供服务描述的Rates API似乎很奇怪,没有这些信息似乎有点无用。

有没有人知道是否有办法使用从Rates API返回的服务代码查找服务描述?

非常感谢任何帮助。

2 个答案:

答案 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