2011-10-25 21 views
8

Potrzebuję uzyskać ceny wysyłki z USPS.Odpowiedź z Kalkulator taryfowy USPS

Podpisałem się z nimi, otrzymałem identyfikator użytkownika i próbuję użyć przykładowego żądania XML, jak pokazano na stronie - https://www.usps.com/webtools/htm/Rate-Calculators-v1-3.htm , ale nadal otrzymuję następujące informacje o błędzie.

<Error> 
<Number>80040b1a</Number> 
<Description>API Authorization failure. RateV4 is not a valid API name for this protocol.</Description> 
<Source>UspsCom::DoAuth</Source> 

nie mogę dowiedzieć się, gdzie jestem brakuje punktu. . Google nie był pomocny jak dobrze :-(

jestem przekazując nazwę API jako RateV4 Próbowałem z międzynarodowej żeglugi API, a także - IntlRateV2 I tak, próbowałem Secure https://secure.shippingapis.com/ShippingAPITest.dll API, jak również.. Wysłałem pocztą e-mail do personelu pomocniczego Nic nie zadziałało

Gdy ta podstawowa czynność działa, planuję uzyskać klasy i użyć niestandardowej serializacji, aby przekształcić moją prośbę do postaci szeregowej, a następnie deserializować odpowiedź. Byłoby to lepsze niż bezpośrednie użycie XML-ów Ale prawdopodobnie byłoby to bardziej odpowiednie, niż inne pytanie: teraz podstawową sprawą jest teraz praca nad podstawową sprawą Dzięki

+0

post Ci kod. Błąd jest jasny ... https: //www.usps.com/webtools/htm/Rate-Calculators-v1-3.htm nawet nie działał dla mnie. Nazwa API będzie prawdopodobnie RateV3, a nie RateV4 na podstawie strony htm. –

+0

Serwery testowe USPS nie obsługują wersji V4. Prośba o dostęp do serwerów prod i działa dobrze. Dzięki. Szkoda, że ​​nie jest to wyraźnie wymienione W DOWOLNYM MIEJSCU ... (Właśnie wykonałem dwie fałszywe żądania za pomocą V2 i uzyskałem dostęp do serwerów prod.) – Upendra

Odpowiedz

7

Oznacza to, że serwer, na który kierujesz reklamy, nie obsługuje RateV4. Myślę, że musisz używać serwera produkcyjnego do RateV4 nawet podczas testów.

+0

Dzięki Simon. Tak właśnie myślę. Ale wspomnieli, że "adres serwera testowego to http://testing.shippingapis.com/ShippingAPITest.dll lub https://secure.shippingapis.com/ShippingAPITest.dll". Będzie musiał ponownie spróbować skontaktować się z działem obsługi klienta :-( – Upendra

+2

Okazuje się, że nie jest to kod, który jest przyczyną problemu.USPS serwery testowe nie obsługują V4 interfejsu API rate.V2 przebiegło poprawnie.Żądano USPS dla dostępu do serwera prod i V4 działał perfytująco dobrze, dziękuję jeszcze raz – Upendra

+3

A dla tych, którzy próbują V2 międzynarodowych stawek za wysyłkę, nie jest to obsługiwane przez serwery testowe.Musisz uzyskać dostęp do serwerów prod do testowania! – Upendra

1

Podczas próby V2, to co dostaniesz

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

+0

Kiedy próbowałem to zrobić, numer błędu był taki sam. Dobrze, że zmienili opis na coś, co ma sens. :-) – Upendra

2

W chwili obecnej, nie wersja Rate API faktycznie działa na serwerach testowych USPS (jak zauważył CountMurphy na zasadzie poprzedni komentarz). Jednak na serwerze testowym trzeba będzie uzyskać kilka udanych żądań interfejsu API, zanim zostanie zatwierdzone konto dostępu do serwera produkcyjnego. Po pewnym powrocie z USPS poprosili mnie o certyfikację API TrackV2. Daje to również dostęp do interfejsu Rate API.

Oto dwa przykładowe żądania TrackV2, które otrzymałem od pomocy USPS. Pamiętaj, aby podać rzeczywistą wartość USERID. Musisz użyć tych dokładnych numerów etykiet.

Przykład # 1

http://production.shippingapis.com/ShippingAPITest.dll?API=TrackV2 
&XML=<TrackRequest USERID="xxxxxxxx"> 
<TrackID ID="EJ958083578US"></TrackID></TrackRequest> 

Przykład # 2

http://production.shippingapis.com/ShippingAPITest.dll?API=TrackV2 
&XML=<TrackRequest USERID="xxxxxxxx"> 
<TrackID ID="EJ958088694US"></TrackID></TrackRequest> 
+0

Po prostu wpadłem na ten sam problem. Kiedy skontaktowałem się z USPS za pośrednictwem ich adresu e-mail pomocy technicznej, odpowiedzieli, że testy nie są wymagane dla interfejsu API Rate i że mogą dalej przesuwać moje konto do serwera produkcyjnego. – arlomedia