首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >USPS : API授权失败

USPS : API授权失败
EN

Stack Overflow用户
提问于 2012-04-02 09:38:38
回答 3查看 10.9K关注 0票数 11

为什么USPS的运费不起作用?我正在使用ratev4,我得到了一个错误:

错误:

代码语言:javascript
复制
API Authorization failure. RateV4 is not a valid API name for this protocol.
UspsCom::DoAuth

下面是我的代码:

代码语言:javascript
复制
<?php
$devurl = "testing.shippingapis.com/ShippingAPITest.dll";
$puburl = "https://secure.shippingapis.com/ShippingAPITest.dll";

$service = "RateV4";
$userid = "690DEVBL1739";

$xml = rawurlencode('<RateV4Request USERID="xxxxx">
    <Revision/>
    <Package ID="1ST">
        <Service>FIRST CLASS</Service>
        <FirstClassMailType>LETTER</FirstClassMailType>
        <ZipOrigination>44106</ZipOrigination>
        <ZipDestination>20770</ZipDestination>
        <Pounds>1</Pounds>
        <Ounces>0.0</Ounces> 
        <Container/>
        <Size>REGULAR</Size> 
        <Machinable>true</Machinable>
    </Package>
    </RateV4Request>');

    $request = $devurl . "?API=" . $service . "&xml=" . $xml;


    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $request);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_HTTPGET, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);



    $response = curl_exec($ch);
    curl_close($ch);

    echo "<pre>";
    print_r($response);
    echo "</pre>";
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-17 07:41:03

我在测试Ratev4 (以及用于国际发货的v2 )时也遇到了同样的问题。只要让他们把你转移到生产环境就可以了,但当然要确保你使用了正确的urls。除此之外,据我所知,你的设置无论如何都不会起作用,因为你要的是头等舱的价格,而重量是1磅。头等舱只有13盎司...

票数 1
EN

Stack Overflow用户

发布于 2015-01-16 14:58:04

我假设您已经在这里注册了USPS Web工具:

https://secure.shippingapis.com/registration/

并且已收到USPS对您的帐户已激活的确认:

如果您需要设置USPS,或者您的客户在结帐时收到此错误(见下文),您应该确认以下内容

代码语言:javascript
复制
Confirm that our USPS API access is approved

Confirm that it is not in test mode and is in production mode
    If USPS says your account is active, this does not mean it is in production mode, - you need to call USPS and specifically request that it be moved to production mode after your account has been approved. A good idea is to perform this quick test:

在浏览器中插入以下内容,并使用您自己的用户in代替任何浏览器URL中的XXXX:

https://secure.shippingapis.com/ShippingAPITest.dll?API=CarrierPick...USERID="XXXX">ABC Corp.Suite 7771390市场StreetHoustonTX770581234

如果您的USPS帐户处于活动状态,则应接受用户名。

代码语言:javascript
复制
Confirm that your username and password is for this site only. USPS only allows 1 domain per account.

http://production.shippingapis.com/ShippingAPI.dll

问题是,在默认情况下,您不能访问USPS的生产API。他们必须先批准你。请记住,他们只允许您在每个帐户的一个网站上使用它,因此,如果您正在为客户、客户或除您自己之外的其他业务实体设置Magento,您应该为他们设置一个单独的USPS帐户。

这就是为什么你会在生成的运输标签上收到这个文本- "Sample Do Not Mail“。

您可以在此处设置您的USPS WebTools帐户:

http://www.usps.com/webtools/

一旦您设置了帐户,他们将为您提供访问测试环境的权限。USPS test API的URL是:http://testing.shippingapis.com/ShippingAPITest.dll

我建议要求USPS打开生产模式。当您获得USPS对生产API的批准时,您应该使用以下URL:

http://production.shippingapis.com/ShippingAPI.dll

https://secure.shippingapis.com/ShippingAPI.dll

完成测试后,请向USPS互联网客户关怀中心(ICCC)发送电子邮件。他们将切换您的配置文件以允许您访问生产服务器,并为您提供生产URL。

ICCC的工作人员如下:周一至周五东部时间上午8:00至晚上8:30,东部时间星期六上午8:00至下午6:00,周日和邮政假日休息,但下列假日除外:马丁·路德·金、总统日、哥伦布日和退伍军人日,东部时间上午9:00至下午6:00。

电子邮件: uspstechsupport@esecurecare.net电话: 1-800-344-7779

但请记住,为每个网站设置一个单独的USPS帐户(或每个域至少一个)是非常重要的。如果您在多个网站上使用您的帐户,USPS将禁止您访问其生产服务器。

要申请访问USPS生产应用编程接口,请在此处填写表单:http://www.usps.com/webtools/webtoolsapirequestform.htm

USPS不允许您使用他们的API进行批处理或数据清理,因此请确保不要在申请表上选中这些复选框。

一旦USPS允许您访问他们的生产API服务器,一切都应该与所有USPS发货选项相对应。如果您仍然有问题,请再次检查您是否有权访问USPS的生产API服务器。

票数 8
EN

Stack Overflow用户

发布于 2012-06-28 04:56:39

我也有同样的问题。RateV4对USPS的测试服务器无效,仅对生产服务器有效。我联系了他们的支持人员,并试图获得有效的API进行测试,但他们发送的所有内容都是指向他们的文档的链接(其中只包含生产API,而不是测试)。最后,我只是要求他们将我的帐户转移到生产环境中,他们做到了。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9969977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档