Allegro WebAPI

Interfejs programistyczny platformy Allegro

doMyAccount2

Tematyka: Moje Allegro
Ostatnia zmiana: 14.02.2012 r.
Dostępność:

Metoda pozwala na pobranie listy ofert z poszczególnych zakładek Mojego Allegro (licytowane, kupione, niekupione, sprzedawane, sprzedane, niesprzedane, do wystawienia) zalogowanego użytkownika. Domyślnie zwracanych jest pierwszych 25 ofert z danej zakładki, posortowanych malejąco po czasie ich zakończenia. Możesz także pobrać informacje o konkretnych ofertach z danej zakładki (itemsArray). Pełen podgląd nazw oraz identyfikatorów kupujących możliwy jest tylko dla zakładek typu 'sell' i 'sold' - dla pozostałych typów wspomniane dane zwrócone zostaną w formie zanonimizowanej.

Ważne! Po ręcznym usunięciu ofert z zakładek Mojego Allegro na WWW, metoda również przestanie zwracać informacje o nich.


  1. session-handle |  string | wymagany
    Identyfikator sesji użytkownika, uzyskany za pomocą metody doLogin(Enc).
  2. account-type | string | wymagany
    Wybrany typ zakładki Mojego Allegro (bid - oferty z zakładki Licytuję, won - oferty z zakładki Kupione, not_won - oferty z zakładki Niekupione, sell - oferty z zakładki Sprzedaję, sold - oferty z zakładki Sprzedane, not_sold - aoferty z zakładki Niesprzedane, future - oferty z zakładki Do wystawienia). Od 20.10.2016 (data wdrożenia nowej wersji Obserwowanych) parametry watch i watch_cl nie zwracają danych.
  3. offset |  int | niewymagany
    Parametr pozwalający na sterowanie miejscem rozpoczęcia pobierania listy ofert. Wartość parametru wskazuje na to, od której oferty z kolei (biorąc pod uwagę sposób sortowania listy - rosnąco po czasie zakończenia), ma zostać pobrana paczka 25 ofert (oferty indeksowane są od 0).
  4. items-array | long[] | niewymagany
    Tablica identyfikatorów ofert.
  5. limit | int | niewymagany
    Parametr pozwalający na określenie rozmiaru porcji danych (minimum: 1, maksimum: 100, domyślnie: 25).



Orientacyjna struktura wywołania metody

$domyaccount2_request = array(
   'session-handle' => '22eb99326c6be29aa16d07d622bcfbcbee94ad54846f2f4e03_1',
   'account-type' => 'won',
   'offset' => 0,
   'items-array' => array(),
   'limit' => 1
);

  1. myaccount-list | MyAccountStruct2[]
    Tablica struktur zawierających informacje o ofertach wybranego typu.
    1. my-account-array | string[]
      Tablica, w której zwracane są wszystkie publicznie dostępne informacje nt. ofert. Kolejne jej pola zawierają:
      • identyfikator oferty,
      • cena wywoławcza przedmiotu (lub 0.00 gdy nie została ustawiona),
      • obecna cena przedmiotu,
      • cena minimalna przedmiotu (lub 0.00 gdy nie została ustawiona),
      • cena Kup Teraz! (lub 0.00 gdy nie została ustawiona),
      • początkowa liczba przedmiotów dostępnych w ofercie,
      • czas rozpoczęcia oferty (w czasie jej trwania, widzi ją tylko sprzedający),
      • czas zakończenia oferty,
      • identyfikator kupującego oferującego najwyższą cenę (lub 0 gdy nikt jeszcze nie złożył oferty),
      • tytuł oferty,
      • liczba złożonych ofert kupna,
      • identyfikator sprzedającego,
      • identyfikator kraju,
      • wartość informująca o wybranych dla oferty opcjach dodatkowych (więcej),
      • maksymalna cena oferowana za przedmiot przez użytkownika,
      • maksymalna cena oferowana za przedmiot,
      • liczba przedmiotów, które do tej pory nie zostały sprzedane, ale jeszcze mogą zostać sprzedane (dot. ofert trwających),
      • liczba przedmiotów, które zostały do tej pory sprzedane (dot. ofert trwających),
      • pole zdezaktualizowane (zawsze będzie zwracać NULL),
      • liczba sprzedanych przedmiotów (dot. ofert zakończonych),
      • liczba niesprzedanych przedmiotów (dot. ofert zakończonych),
      • nazwa kupującego (lub 0 w przypadku braku ofert, pełna wartość pola widoczna jest tylko dla sprzedającego w danej ofercie, dla pozostałych w polu zwracana jest nazwa użytkownika w formie zanonimizowanej: X...Y),
      • liczba punktów kupującego (lub 0 w przypadku braku ofert),
      • kraj kupującego (lub 0 w przypadku braku ofert),
      • nazwa sprzedającego,
      • liczba punktów sprzedającego,
      • kraj sprzedającego,
      • liczba osób obserwujących aukcję (lub NULL w przypadku braku obserwujących),
      • informacja o tym, czy w ofercie włączona  jest opcja Kup Teraz! (1 - jest, 0 - nie jest),
      • liczba zdjęć dołączonych do oferty,
      • treść notatki dodanej przez sprzedającego do oferty (widoczna tylko dla sprzedającego, dla pozostałych oraz w przypadku braku notatki zwracane jest 0),
      • informacja o tym, na ile minut przed końcem oferty ma zostać wysłane e-mailem przypomnienie o tym fakcie (dot. ofert obserwowanych),
      • tekstowy status oferty oczekującej na wystawienie (np. 'Oczekuje', 'Wstrzymana przez administratora Allegro', itp.),
      • liczba wyświetleń oferty,
      • pole zdezaktualizowane (zawsze będzie zwracać NULL),
      • pole zdezaktualizowane (zawsze będzie zwracać NULL),
      • informacja o tym, czy oferta jest powiązana z produktem (1 - jest, 0 - nie jest, dotyczy typów: sell, sold, not_sold, future),
      • informacja o tym, czy oferta jest oznaczona jako Standard Allegro [PL]/Aukro Plus [CZ]/Super Offer [UA/KZ] (1 - jest, 0 - nie jest, dotyczy typów: won, not_won, watch, watch_cl, sell, sold, not_sold).



Orientacyjna struktura odpowiedzi serwera

$domyaccount2_response = array(
   'myaccount-list' => array(
      'my-account-array' => array(
         '946564965',
         'NULL',
         '16.50',
         'NULL',
         '16.50',
         '8',
         'NULL',
         '2010-03-25 14:03:45',
         'NULL',
         'Kombajn do zbierania kur po wioskach Ósme piętro',
         'NULL',
         '7730428',
         '1',
         'NULL',
         'NULL',
         'NULL',
         'NULL',
         '1',
         'NULL',
         'NULL',
         'NULL',
         'NULL',
         'NULL',
         'NULL',
         'Fonografika-pl',
         '4906',
         '1',
         'NULL',
         'NULL',
         '1',
         '0',
         'NULL',
         'NULL',
         'NULL',
         'NULL',
         'NULL',
         'NULL',
         '1'))
);

  • ERR_NO_DATABASE
    Problemy z bazą danych Allegro.
  • ERR_NO_SESSION / ERR_SESSION_EXPIRED
    Niepoprawny identyfikator sesji lub sesja wygasła.
  • ERR_TOO_HIGH_LIMIT_VALUE
    Wartość rozmiaru porcji danych poza zakresem (dopuszczalny zakres: 1-100).
  • ERR_WEBAPI_KEY_INACTIVE
    Klucz WebAPI na którym została wygenerowana sesja został zdezaktywowany (jego właściciel nie zaakceptował warunków Regulaminu WebAPI).
  • ERR_WEBAPI_NOT_AVAIL
    Problemy z usługą Allegro WebAPI.

Allegro nie bierze odpowiedzialności za skutki wykorzystania zamieszczonych przykładów kodu, nie daje także gwarancji ich poprawnego działania. Widoczny kod ma charakter wyłącznie poglądowy i może zawierać błędy.

#1 (17.08.2010 r.) / php (Autor: arest-pl)
  1. <?
  2. /******************************************************
  3.  
  4. Funkcja rozbijająca maskę opcji aukcji
  5.  
  6. *******************************************************/
  7.  
  8. function MaskaAukcji($int) {
  9. $tmp = decbin($int);
  10. $bin = Array();
  11. for($i=strlen($tmp)-1;$i>=0;$i--) $bin[] = (substr($tmp,$i,1) == '1');
  12. return Array(
  13. 'Promowana' => $bin[0],
  14. 'Wyrozniona' => $bin[1],
  15. 'Miniaturka' => $bin[2],
  16. 'Sklepowa' => $bin[3],
  17. 'Usunieta' => $bin[4],
  18. 'Przesylka_kupujacy' => $bin[5],
  19. 'Przesylka_sprzedajacy' => $bin[6],
  20. 'Platnosc_przelew' => $bin[7],
  21. 'Platnosc_odbior' => $bin[8],
  22. 'Promowana' => $bin[13],
  23. 'Przesylka_za_granice' => $bin[14],
  24. 'Dodatkowe_informacje' => $bin[15],
  25. 'Do_wystawienia' => $bin[16],
  26. 'Aukcja_webapi' => $bin[17],
  27. 'Podswietlenie' => $bin[18],
  28. 'Promowana_kategoria' => $bin[19],
  29. 'Prywatna' => $bin[20],
  30. 'otoMoto' => $bin[21],
  31. 'Poczta_ekonomiczna' => $bin[22],
  32. 'Poczta_priorytetotwa' => $bin[23],
  33. 'Kurier' => $bin[24],
  34. 'Odbior_osobisty'=> $bin[25]
  35. );
  36. }
  37. ?>
#2 (08.12.2010 r.) / php (Autor: danielnowacki)
  1. <?php
  2. /**
  3. * Metody pomocnicze do obsługi aukcji
  4. *
  5. * @package Allegro/Auction
  6. * @author Daniel Nowacki
  7. */
  8. class Allegro_Auction_Helper
  9. {
  10. /**
  11. * Tablica z hashami dla opcji aukcji
  12. *
  13. * @see http://allegro.pl/webapi/faq.php#faq_6
  14. * @var array
  15. */
  16. public static $HASH_OPTIONS = array(
  17. 1 => 'promowanie: pogrubienie tytułu na listingach',
  18. 2 => 'promowanie: wyróżnienie na listingach',
  19. 4 => 'promowanie: miniaturka wyświetlana na listingach',
  20. 8 => 'aukcja sklepowa',
  21. 16 => 'aukcja usunięta przez administratora',
  22. 32 => 'koszty przesyłki pokrywa kupujący',
  23. 64 => 'koszty przesyłki pokrywa sprzedający',
  24. 128 => 'forma płatności: zwykły przelew',
  25. 256 => 'forma płatności: płatność przy odbiorze',
  26. //512 => 'maska zdezaktualizowana (zawsze wyłączona)',
  27. //1024 => 'maska zdezaktualizowana (zawsze wyłączona)',
  28. //2048 => 'maska zdezaktualizowana (zawsze wyłączona)',
  29. //4096 => 'maska zdezaktualizowana (zawsze wyłączona)',
  30. 8192 => 'aukcja promowana na stronie głównej',
  31. 16384 => 'sprzedający zgadza się na wysyłkę za granicę',
  32. 32768 => 'podano dodatkowe informacje o przesyłce i płatności',
  33. 65536 => 'aukcja do wystawienia w przyszłości',
  34. 131072 => 'aukcja wystawiona za pośrednictwem Allegro WebAPI',
  35. 262144 => 'promowanie: podświetlenie na listingach',
  36. 524288 => 'promowanie: strona kategorii',
  37. 1048576 => 'aukcja prywatna',
  38. 2097152 => 'aukcja wystawiona na otoMoto',
  39. 4194304 => 'opcja dostawy: przesyłka pocztowa ekonomiczna',
  40. 8388608 => 'opcja dostawy: przesyłka pocztowa priorytetowa',
  41. 16777216 => 'opcja dostawy: przesyłka kurierska',
  42. 33554432 => 'opcja dostawy: odbiór osobisty',
  43. //67108864 => 'maska zdezaktualizowana (zawsze włączona)',
  44. );
  45.  
  46. /**
  47. * Dekoduje opcje aukcji, zwraca je w postaci tablicy asocjacyjnej
  48. *
  49. * Wartość opcji dla aukcji jest pobierna z danych zwróconych przez
  50. * doMyAccount2
  51. *
  52. * @see http://allegro.pl/webapi/documentation.php/show/id,107#method-output
  53. *
  54. * @param int $auctionOptions
  55. * @return array
  56. */
  57. public static function decodeOptions($auctionOptions)
  58. {
  59. $selectedOptions = array();
  60. foreach(self::$HASH_OPTIONS as $hash => $option)
  61. {
  62. if ($hash & $auctionOptions) {
  63. $selectedOptions[$hash] = $option;
  64. }
  65. }
  66.  
  67. return $selectedOptions;
  68. }
  69. }
  70.  
  71.  
  72. // przykład użycia
  73. $testValue = 1+2+4+8+32;
  74. $options = Allegro_Auction_Helper::decodeOptions($testValue);
  75. echo join('<br />', array_map('ucfirst', $options));
#3 (06.12.2012 r.) / php (Autor: biuro_art)
  1. function checkSold()
  2. {
  3. require_once(BASEPATH.'libraries/lib/nusoap'.EXT);
  4. $soap= new SoapClient('http://webapi.allegro.pl/uploader.php?wsdl');
  5. $userId = $this->doLogin(); // funkcja logowania
  6. $param = array (
  7. 'session-handle' => $userId['session-handle-part'],
  8. 'account-type' => 'sold', // tylko sprzedane gdy chcesz wygrane zmień na "won"
  9. 'offset' => 0,
  10. 'tems-array' => ''
  11. );
  12.  
  13. $items=$this->soap->call('doMyAccount2',$param);
  14. $i=0;
  15. foreach($items as $item){
  16. $closedAuctions = new AuctionSold($this->soap,$this->sesja,$item["my-account-array"]);
  17. }
  18. }
#4 (03.12.2014 r.) / vb.net (Autor: djwheele)
  1. 'przyklad ten pokazuje jak za pomoca doMyAccount2 pobrać wszystkie sprzedawane przedmioty.
  2. 'zakładki można dowolnie zmieniać, poprzez sterowanie wejsciem - "sold" "won" itd
  3.  
  4. 'pobieranie ilości elementów w zakładce - tutaj jest to sprzedawane - sell
  5. Dim licznik = Allegro.doMyAccountItemsCount(Logowanie.sessionHandle, "sell", New Long(-1) {})
  6. MsgBox("Liczba sprzedawanych aukcji wegług doMyAccountItemsCount to : " & licznik)
  7. 'pierwsza strona na początek
  8. Dim offset = 0
  9.  
  10. 'pobieramy aukcje tak długo jak mamy następną stronę
  11. While licznik > 0
  12.  
  13. Dim accountStructTable As MyAccountStruct2()
  14. Try
  15. 'tablica struktur do przechowywania pobranych elementów
  16. accountStructTable = Allegro.doMyAccount2(Logowanie.sessionHandle, "sell", offset, New Long(-1) {}, 50)
  17. MsgBox("Długość tablicy struktur: " & accountStructTable.Length.ToString)
  18.  
  19. Catch ex As Exception
  20. Loglbx.Items.Add("Wystąpił błąd w funkcji doMyAccountStruct2")
  21. MsgBox(ex.Message)
  22. Return
  23. End Try
  24.  
  25. For Each accountStruct As MyAccountStruct2 In accountStructTable
  26. Loglbx.Items.Add((accountStruct.myaccountarray(0) + " " +
  27. accountStruct.myaccountarray(1) + " " +
  28. accountStruct.myaccountarray(9) & " ") +
  29. accountStruct.myaccountarray(8))
  30. Next
  31. ' pobraliśmy 25 elementów
  32. licznik = licznik - 50
  33. 'przechodzimy do następnej strony
  34. offset = offset + 50
  35. End While