2012-04-02 14 views
11

Perché la tariffa non funziona con USPS? Sto usando ratev4 e ottengo un errore:USPS: errore di autorizzazione API

Errore:

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

Ecco il mio codice:

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

Perché credi che RateV4 debba essere valido? – stark

+2

[I forum noPCommerce] (http://www.nopcommerce.com/boards/t/14719/estimate-shipping-configuration-upsusps-ratev4-is-not-a-valid-api.aspx) suggerisce che i servizi di test non sono stati aggiornati a RateV4; sebbene quella pubblicazione sia piuttosto antica. Potrebbe essere meglio servito chiamando il rappresentante del tuo account USPS e chiedendo chiarimenti. – sarnold

+0

ho provato v3 e v2 e producono lo stesso problema. v2 è disabilitato quindi non funziona più. –

risposta

1

Ho avuto gli stessi problemi con il test di Ratev4 (e v2 per le spedizioni intl). Chiedigli semplicemente di trasferirti in produzione in modo semplice, ma assicurati di utilizzare gli URL corretti, ovviamente. Oltre a ciò, da quello che ho capito la tua configurazione non funzionerebbe comunque, perché stai chiedendo un prezzo per la prima classe e il peso è di 1 sterlina. Prima classe arriva solo fino al 13 once ...

5

Ho avuto lo stesso problema. RateV4 non è valido per il server di test di USPS, solo per la produzione. Ho contattato le persone di supporto e ho cercato di ottenere un'API valida per il test, ma tutto ciò che hanno inviato era un collegamento alla loro documentazione (che contiene solo API di produzione, non test). Alla fine ho solo chiesto loro di spostare il mio account in produzione e così è stato.

+1

Per fare ciò, è sufficiente inviare una e-mail a 'uspstechnicalsupport @ mailps.custhelp.com' con il messaggio' Si prega di spostare l'ID utente xxxxxx sul server di produzione ' – LamonteCristo

4

presumo che vi siete già registrati per USPS Web Tools qui:

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

E avete ricevuto conferma da USPS che il tuo account è attivo:

Se è necessario impostare USPS oi vostri clienti stanno ricevendo questo errore al momento del check out (Vedi sotto) si dovrebbe confermare la seguente

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: 

Inserire quanto segue nel tuo browser con il proprio USERID al posto del XXXX nell'URL di qualsiasi browser:

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

Se il tuo account USPS è attivo, dovrebbe accettare il nome utente.

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

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

Il problema è che per impostazione predefinita, non si ha accesso a API di produzione di USPS. Devono prima approvarti. Tieni presente che ti consentono solo di utilizzarlo su un sito Web per account, quindi se imposti Magento per un cliente, un cliente o un'altra entità aziendale diversa dalla tua, dovresti creare un account USPS separato per loro .

Ecco perché stai ricevendo questo testo - "Esempio non posta" sull'etichetta di spedizione generata.

È possibile impostare le WebTools USPS account qui:

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

Dopo aver impostato l'account, che vi darà l'accesso all'ambiente di test. L'URL per l'API di test USPS è: http://testing.shippingapis.com/ShippingAPITest.dll

Si consiglia di chiedere a USPS di attivare la modalità di produzione.Quando si è approvato da USPS per l'API di produzione, è necessario utilizzare i seguenti URL:

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

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

Una volta completato il test, e-mail l'USPS Internet Customer Care Center (ICCC). Cambieranno il profilo per consentire l'accesso al server di produzione e forniranno gli URL di produzione.

La CCIC è composto come segue: Lunedi al Venerdì 8:00-20:30 Eastern Time Sabato 8:00-06:00 orario della costa orientale domenica e festivi postali - chiuso ad eccezione delle seguenti Vacanze: Martin Luther King ; Il giorno dei presidenti; Columbus Day; Giorno & del veterano con orario dalle 09:00 alle 18:00 orario della costa orientale

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

Ma ricorda, è molto importante impostare un account USPS separato per ogni sito Web (o almeno uno per dominio). USPS disabiliterà l'accesso al proprio server di produzione se si è scoperti a utilizzare il proprio account su più siti Web.

Per richiedere l'accesso alle API di produzione USPS, compilare il modulo qui: http://www.usps.com/webtools/webtoolsapirequestform.htm

USPS non consente di utilizzare il loro API per l'elaborazione batch o pulizia dei dati, in modo da essere sicuri di non controllare questi caselle il modulo di richiesta.

Una volta che USPS consente l'accesso al proprio server API di produzione, tutto dovrebbe funzionare in modo corrispondente a tutte le opzioni di spedizione USPS. Se hai ancora problemi, controlla di nuovo che hai accesso al server API di produzione di USPS.

Problemi correlati