8

我需要从 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。是的,我也尝试过 Secure https://secure.shippingapis.com/ShippingAPITest.dll api。我已经邮寄给支持人员。没有任何效果。

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

4

3 回答 3

7

这意味着您的目标服务器不支持 RateV4。我认为即使在进行测试时,您也需要将生产服务器用于 RateV4。

于 2011-10-25T06:41:38.587 回答
2

目前,没有任何版本的 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>
于 2012-10-07T05:54:46.480 回答
1

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

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

于 2012-07-27T19:42:39.983 回答