Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Allegro WebAPI
Forum PHP.pl > Forum > PHP
sagittariuspl
czy ktoś mi pomoże ugryźć tematykę WebAPI Allegro? patrzę sobie na dokumentację, ale niestety nie wiem jak to ugryźć. może ktos mi wytłumaczy jak tego użyć (może jakiś mały podstawowy skrypt z jedną funkcją). nie chodzi mi tu wcale o gotowiec. szukałem w googlach i na forum, ale niestety nic nie znalazłem oprócz metody wyciągania informacji za pomocą szukania na stronie (trochę zagmatwałem biggrin.gif ), a to metoda czasochłonna i mało skuteczna.
em1X
musisz posiadac konto w allegro, nastepnie wystepujesz do nich o przydzielenie WebApiKey, czyli klucza dzieki ktoremu bedziesz mogl sie laczyc z allegro.

Caly serwis oparty jest na technologii SOAP, bedziesz musial sie troche podszkolic smile.gif Ja korzystalem z NuSOAP - czyli implementacji w php.

Zasada dzialania jest prosta. Tworzysz jakąś określoną przez allegro strukturę danych, nastepnie wysylasz ja do systemu. System zwraca Ci w zamian strukture odpowiedz zawierajaca dane o jakie poprosiles.

Dajmy na to logowanie. Zagladam do http://webapi.allegro.pl/uploader.php# i szukam jakiejs metody logowania. Znajduje doLogin - patrze jakich danych oczekuje:

Kod
Name:  doLogin
Binding:  AllegroWebApiBinding
Endpoint:  http://webapi.allegro.pl/uploader.php
SoapAction:  #login
Style:  rpc
Input:
      use: encoded
      namespace: urn:AllegroWebApi
      encodingStyle: http://schemas.xmlsoap.org/soap/encoding/
      message: doLoginRequest
      parts:
    user-login    xsd:string    user name on site    
    user-password    xsd:string    user password on site    
    country-code    xsd:int    code of site you will be operate on (read more below)    
    webapi-key    xsd:string    access to WebApi key    
    local-version    xsd:long    number which is assigned to versions of components


a wiec w NuSOAP musze stworzyc taka wiadomosc:
  1. <?php
  2. // to jest orientacyjny kod, dokladnie Ci nie podpowiem, ale jak poszukasz
  3. // manuali do nuSOAP to nie bedziesz mial problemow ze zrozumieniem
  4.  
  5. $msg = array("user-login"=>"twojLoginAllegro", 
  6. "user-password"=>"twojeHaslo",
  7. "country-code"=>"znajdzWManualuAllegroKodPolski",
  8. "webapi-key"=>"twójIndywidualnyKodWebApi",
  9. "local-version"=>"zajrzyjDoDokumentacji"
  10. );
  11.  
  12. // ustawic tez trzeba nazwe metody do ktorej wszystko wysylasz
  13. $metoda = "doLoginRequest";
  14.  
  15. // w nuSOAP wysylalo sie to jakos tak
  16. $soap->soapmsg($metoda, $msg);
  17. ?>


po wyslaniu, jezeli wszystkie dane sie zgadzaja powinienes otrzymac response msg taki jak w dokumentacji metody doLogin w allegro:
Kod
Output:
      use: encoded
      namespace: urn:AllegroWebApi
      encodingStyle: http://schemas.xmlsoap.org/soap/encoding/
      message: doLoginResponse
      parts:
    session-handle-part    xsd:string
    hash-offset    xsd:int
    server-time    xsd:long
Namespace:  urn:AllegroWebApi
Transport:  http://schemas.xmlsoap.org/soap/http


jezeli zrozumiesz ten przyklad, zrozumiesz wszystko
jak pojmiesz juz zasade dzialania systemu radze ci stworzyc sobie wlasna klase rozszerzajaca klase nuSOAP, dodac nowe pola jak webApiKey oraz koniecznie session-handle-part czyli nazwe sesji, którą otrzymasz po zalogowaniu. Ten numer bodaj bedziesz podawal potem w kazdych wysylanych żądaniach. Mozesz sobie oczywiscie potem tworzyc wlasne metody, na podstawie tych z allegro, ale to juz Twoja działka.

Ogólnie rzecz biorąc jest to świetna zabawa (bynajmniej dla mnie) i można się wiele nauczyc. Polecam i pozdrawiam
A jak bedziesz mial jakies problemy to pisz, z checia pomogę.
sagittariuspl
właśnie mi o to chodziło. dzieki wielkie.

o klucz już poprosiłem to tylko trzeba na niego poczekać i do zabawy. muszę poszukać tego manuala a potem się zobaczy. może coś z tego wyjdzie, ale na pewno nic nie stracę, bo nauczę się co nie co o php
em1X
zapomniałem dodać: najlepsze przykłady znajdziesz w folderze sample po ściągnięciu nuSOAP'a.
sagittariuspl
ale się napociłem! powinno być:
$metoda = "doLogin" bez request
em1X
zwraca Ci session-handle-part ?
sagittariuspl
nic mi nie zwracało. teraz robię bez tej końcówki i działa. dodaję kolejne funkcje bez request i wszystko gra
mroofka
Witam.

Jak używać funkcji doNewAuction? Jednym z parametrów wejściowych jest fields typu ArrayOfFieldsValue. Do czego służą jego parametry? Chodzi mi zwłaszcza o tablicę FieldsValue. W dokumentacji api brak opisu pól.
mroofka
Dzięki za linka. Spojrzałam wcześniej na allegro cafe, ale nie zauważyłam linka 'Starsze wiadomości', a to przecież w starszych było... No nic, blondynka siadła do komputera ... sadsmiley02.gif

Jakie więc wartości w tej tabeli mogą przyjmować parametry: 3 (czas trwania akcji), 10 (województwo), 11 i 12 (opcje transportu) 13 (sposób płatności) i do czego jest 14 (opisany jako opcje dodatkowe)?
em1X
1) nigdzie nie musialem sie zaglebiac... nastepnym razem jak blondynka bedzie miala problem, wystarczy poszukac tongue.gif

2) niestety nie pamietam... jak pracowalem kiedys dla pewnej firmy i mialem za zadanie zintegrowac ich system z allegro mialem taki pliczek html, w ktorym byla tabelka z wszystkimi polami oraz wartosciami jakie sa oczekiwane. Niestety juz tego pliku nie posiadam. Polecam zatem wystapic do allegro o pomoc w zlokalizowaniu owego pliku, badz dopisac temat na forum allegro (bedzie szybciej imho)

pozdrawiam i miłej walki aarambo.gif
kibibyte
Aby dowiedziec sie jakie wartosci moga przyjmowac poszczegolne pola o ktore pytasz (i inne) wywolaj metode GetSellFormFields ktora pobiera pola sprzedazy.Na podstawie rezultatu zwroconego prez te funkcje mozesz wywnioskowac jakie sa mozliwe opcje (pole sell_form_opts_values ) . Najlepiej zapisz je sobie do bazy danych , bo na ich podtsawie mozesz generowac formularz do allegro

Kluczem glownym takiej tabeli bedzie para IDpola_sprzedazy i IDserwisu (poniewaz allegro sklada sie z kilku serwisow np polska czechy rosja testwebapi i kazdy ma inne pola sprzedazy).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.