2012-04-02 18 views
11

Dlaczego stawka nie działa z USPS? Używam ratev4 i pojawia się błąd:USPS: Niepowodzenie autoryzacji API

Błąd:

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

Oto mój kod:

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

Dlaczego uważasz, że RateV4 powinien być ważny? – stark

+2

[Fora noPCommerce] (http://www.nopcommerce.com/boards/t/14719/estimate-shipping-configuration-upsusps-ratev4-is-not-a-valid-api.aspx) sugerują, że usługi testowe nie zostały zaktualizowane do RateV4; choć to ogłoszenie jest dość stare. Możesz być najlepiej obsłużony, dzwoniąc do swojego przedstawiciela konta USPS i prosząc o wyjaśnienia. – sarnold

+0

próbowałem v3 i v2 i produkują ten sam problem. v2 jest wyłączony, więc już nie działa. –

Odpowiedz

1

Miałem takie same problemy z testowaniem rzeczy Ratev4 (i v2 dla przesyłek intl). Poprostu prośba o przeniesienie cię do produkcji naprawiła się tak łatwo, ale upewnij się, że używasz właściwych adresów URL. Poza tym, z tego co rozumiem, twoja konfiguracja i tak by nie zadziałała, ponieważ pytasz o stawkę za pierwszą klasę, a waga to 1 funt. Pierwsza klasa idzie tylko do 13 uncji ...

5

miałem ten sam problem. RateV4 nie jest ważny dla serwera testowego USPS, tylko dla produkcji. Skontaktowałem się z ich pracownikami pomocy technicznej i próbowałem uzyskać prawidłowy interfejs API do testów, ale wszystkie, które kiedykolwiek wysłali, zawierały łącze do ich dokumentacji (która zawiera tylko funkcje API do produkcji, a nie test). W końcu poprosiłem ich, żeby przenieśli moje konto do produkcji, a oni to zrobili.

+1

Aby to zrobić, po prostu wyślij wiadomość e-mail na adres 'uspstechnicalsupport @ mailps.custhelp.com' z komunikatem' Proszę przenieść identyfikator użytkownika xxxxxx do serwera produkcyjnego' – LamonteCristo

4

Zakładam, że masz już zarejestrowany Narzędzia Web USPS tutaj:

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

i otrzymały potwierdzenie od USPS, że konto jest aktywne:

Jeśli trzeba skonfigurować USPS lub swoich klientów otrzymujesz ten błąd na wyjazd (patrz niżej) należy potwierdzić następujące

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: 

Wstaw następujący w przeglądarce z własnym USERID w miejsce XXXX w adresie URL dowolnej przeglądarki:

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

Jeśli Twoje konto USPS jest aktywne, powinno zaakceptować nazwę użytkownika.

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

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

Problemem jest to, że domyślnie nie masz dostępu do USPS w produkcji API. Najpierw muszą cię zatwierdzić. Pamiętaj, że pozwalają one tylko na używanie go w jednej witrynie internetowej na konto, więc jeśli ustawisz Magento dla klienta, klienta lub innego podmiotu biznesowego innego niż własny, powinieneś założyć dla nich oddzielne konto USPS .

Dlatego właśnie otrzymujesz ten tekst - "Sample Do Not Mail" nad wygenerowaną etykietą wysyłkową.

Można skonfigurować WebTools USPS konto tutaj:

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

Po skonfigurowaniu konta, dadzą Ci dostęp do środowiska testowego. Adres URL interfejsu API testu USPS to: http://testing.shippingapis.com/ShippingAPITest.dll

Polecam prosić USPS o włączenie trybu produkcji.Po zatwierdzeniu przez USPS dla API produkcji, należy korzystać z następujących adresów:

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

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

Po ukończeniu testów, napisz USPS internetowego Centrum Obsługi Klienta (ICCC). Przełączą Twój profil, aby umożliwić Ci dostęp do serwera produkcyjnego i zapewni Ci produkcyjne adresy URL.

ICCC jest zatrudniony w następujący sposób: od poniedziałku do piątku od 8:00 do 20:30 czasu wschodniego Sobota od 8:00 do 18:00 czasu wschodniego Niedziela i święta państwowe - nieczynne z wyjątkiem następujących dni świątecznych: Martin Luther King ; Dzień Prezydentów; Dzień Kolumba; Dzień & Weterana w godzinach od 9:00 do 6:00 PM czasu wschodniego

E-mail: [email protected] Telefon: 1-800-344-7779

Należy jednak pamiętać, że to bardzo ważne, aby ustawić oddzielne konto USPS dla każdej witryny internetowej (lub przynajmniej jednej dla każdej domeny). USPS wyłączy Twój dostęp do swojego serwera produkcyjnego, jeśli zostaniesz złapany za pomocą swojego konta na wielu stronach internetowych.

Aby uzyskać dostęp do API produkcji USPS, wypełnić formularz tutaj: http://www.usps.com/webtools/webtoolsapirequestform.htm

USPS nie pozwalają na skorzystanie z ich API do przetwarzania wsadowego lub czyszczenia danych, więc upewnij się, że nie sprawdzić te pudełka na formularz wniosku.

Po uzyskaniu przez USPS dostępu do serwera produkcyjnego API wszystko powinno działać zgodnie z wszystkimi opcjami wysyłki USPS. Jeśli nadal masz problemy, ponownie sprawdź, czy masz dostęp do serwera API produkcji USPS.