USPS: отказ авторизации API

Почему скорость не работает с USPS? Я использую ratev4, и я получаю сообщение об ошибке:

Ошибка:

API Authorization failure. RateV4 is not a valid API name for this protocol.
UspsCom::DoAuth

Вот мой код:

<?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>";

Ответ 1

У меня были те же проблемы с тестированием Ratev4 (и v2 для intl поставок). Просто попросив их легко перевести вас на производство, но убедитесь, что вы правильно используете правильные URL. Помимо этого, из того, что я понимаю, ваша установка не будет работать в любом случае, потому что вы просите курс для первого класса, а вес - 1 фунт. Первый класс только доходит до 13 унций...

Ответ 2

У меня была та же проблема. RateV4 недействителен для тестового сервера USPS, только для производства. Я связался со своими сотрудниками поддержки и попытался получить действительный API для тестирования, но все, что они когда-либо отправляли, было ссылкой на их документацию (в которой содержатся только производственные API, а не тесты). В конце концов я просто попросил их перевести мою учетную запись на производство, и они это сделали.

Ответ 3

Я предполагаю, что вы уже зарегистрировались в USPS Web Tools здесь:

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

И получили подтверждение от USPS, что ваша учетная запись активна:

Если вам нужно настроить USPS, или ваши клиенты получают эту ошибку при проверке (см. ниже), вы должны подтвердить следующее

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:

Вставьте следующее в свой браузер с помощью своего ПОЛЬЗОВАТЕЛЯ вместо XXXX в URL-адресе любого браузера:

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

Если ваша учетная запись USPS активна, она должна принять имя пользователя.

Confirm that your username and password is for this site only. USPS only allows 1 domain per account.

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

Проблема заключается в том, что по умолчанию у вас нет доступа к API-интерфейсу USPS. Сначала они должны вас одобрить. Имейте в виду, что они позволяют использовать его только на одном веб-сайте для каждой учетной записи, поэтому, если вы настроите Magento для клиента, клиента или другого бизнес-объекта, отличного от вашего собственного, вы должны создать для них отдельную учетную запись USPS.

Вот почему вы получаете этот текст - "Sample Do not Mail" над созданной меткой доставки.

Здесь вы можете настроить свою учетную запись USPS WebTools:

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

Как только вы настроите свою учетную запись, они предоставят вам доступ к тестовой среде. URL-адрес тестового API USPS: 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-адреса.

Штат МККК работает следующим образом: с понедельника по пятницу с 8:00 до 20:30 по восточному поясному времени в субботу с 8:00 до 18:00 по восточному времени в воскресенье и в праздничные дни - закрыт, за исключением следующих праздников: Мартин Лютер Кинг; День Президента; День Колумба; и День ветеранов с часами с 9:00 до 18:00 по Восточному времени.

E-mail: [email protected] Телефон: 1-800-344-7779

Но помните, что очень важно, чтобы вы создали отдельную учетную запись USPS для каждого веб-сайта (или, по крайней мере, одного для домена). USPS отключит ваш доступ к их производственному серверу, если вы пойманы с помощью своей учетной записи на нескольких веб-сайтах.

Чтобы запросить доступ к API-интерфейсу USPS, заполните форму здесь: http://www.usps.com/webtools/webtoolsapirequestform.htm

USPS не позволяет использовать их API для пакетной обработки или очистки данных, поэтому НЕ проверяйте эти поля в форме запроса.

Как только USPS предоставит вам доступ к серверу своего производства API, все должно работать в соответствии со всеми вариантами доставки USPS. Если у вас все еще есть проблемы, снова проверьте, что у вас есть доступ к серверу API производства USPS.