美国邮政费率计算器的回应

本文关键字:回应 计算器 费率 美国 | 更新日期: 2023-09-27 18:12:31

我需要从USPS获得运费。

我已经与他们注册了,得到了自己的用户id,并试图使用示例请求XML,如页面- https://www.usps.com/webtools/htm/Rate-Calculators-v1-3.htm所示,但一直得到以下错误响应。

<Error>
<Number>80040b1a</Number>
<Description>API Authorization failure. RateV4 is not a valid API name for this protocol.</Description>
<Source>UspsCom::DoAuth</Source>

我想不出我哪里没说到要点上。谷歌也没帮上忙:-(

)

我将API名称传递为RateV4。我也尝试过国际航运API - IntlRateV2。是的,我也尝试过安全https://secure.shippingapis.com/ShippingAPITest.dll api。我也给支持人员发了邮件。

一旦这个基本的东西工作了,我计划获得类并使用自定义序列化来序列化我的请求,然后反序列化响应。这比直接使用xml要好。但这可能更适合作为其他问题。让基本的东西工作是现在的一个问题。由于

美国邮政费率计算器的回应

这意味着您的目标服务器不支持RateV4。我认为您需要使用RateV4的生产服务器,甚至在做测试时。

目前,没有版本的Rate API实际上在USPS测试服务器上工作(正如CountMurphy在之前的评论中指出的那样)。但是,在您的帐户被批准访问生产服务器之前,您需要在测试服务器上进行几个成功的API请求。在与USPS进行了几次沟通之后,他们让我转而认证TrackV2 API。这也使您可以访问Rate API。

以下是USPS支持给我的两个TrackV2请求示例。确保包含实际的USERID值。你必须使用这些确切的标签编号。

示例# 1

http://production.shippingapis.com/ShippingAPITest.dll?API=TrackV2
&XML=<TrackRequest USERID="xxxxxxxx">
<TrackID ID="EJ958083578US"></TrackID></TrackRequest>

例2

http://production.shippingapis.com/ShippingAPITest.dll?API=TrackV2
&XML=<TrackRequest USERID="xxxxxxxx">
<TrackID ID="EJ958088694US"></TrackID></TrackRequest>

当你尝试V2时,这就是你将得到的

<Error>
<Number>80040b1a</Number>
<Description>API Disabled: RateV2.  </Description>
<Source>UspsCom::DoAuth</Source>