Allegro WebAPI

Interfejs programistyczny platformy Allegro

doGetItemsList

Ostatnia zmiana: ---
Dostępność:
Metoda pozwala na pobranie kompletu informacji o ofertach dostępnych na wszystkich listingach (kategorii, użytkownika, specjalnych) oraz w wynikach wyszukiwania. Możliwe jest filtrowanie danych na wiele różnych sposobów (m.in. po rodzaju listingu, słowie kluczowym i szczegółach wyszukiwania. cenie, typie oferty czy parametrach w kategorii), a także ich sortowanie wg dowolnego z dostępnych typów. Domyślnie (bez podania identyfikatora kategorii/działu) zwracana jest lista wszystkich kategorii głównych (bez informacji o ofertach) oraz lista stałych filtrów dla listingu ofert (w tym lista działów). Logika działania metody została oparta na systemie dynamicznych filtrów, zwracanych kontekstowo i pozwalających precyzyjnie sterować zakresem zwracanych danych. Tutorial opisujący zasadę działania dynamicznych filtrów znajduje się pod adresem: http://allegro.pl/webapi/tutorials.php/tutorial/id,281. Metoda zwraca dane z ostatnich dwóch miesięcy (także aukcje zakończone, które nie zostały jeszcze przeniesione do archiwum).

  1. webapiKey | string | wymagany
    Klucz WebAPI użytkownika.
  2. countryId | int | wymagany
    Identyfikator kraju, z którego pobrane mają zostać oferty (listę identyfikatorów krajów uzyskać można za pomocą metody doGetCountries).
  3. filterOptions | FilterOptionsType[] | niewymagany
    Kryteria filtrowania wyników (lista możliwych do ustawienia w danym kontekście filtrów, zwracana jest na wyjściu metody w ramach struktury filtersList).
    1. filterId | string | niewymagany
      Identyfikator filtra.
    2. filterValueId | string[] | niewymagany
      Identyfikator(y) wartości filtra (dla filtrów pojedynczych lub wielokrotnych).
    3. filterValueRange | RangeValueType | niewymagany
      Zakres wartości filtra (dla filtrów zakresowych).
      1. rangeValueMin | string | niewymagany
        Minimalna wartość filtra.
      2. rangeValueMax | string | niewymagany
        Maksymalna wartość filtra.
  4. sortOptions | SortOptionsType | niewymagany
    Sposób sortowania ofert.
    1. sortType | string | niewymagany
      Typ sortowania: endingTime - czas do końca/czas zakończenia (wartość domyślna dla wiekszości listingów), startingTime - czas wystawienia, price - cena, priceDelivery - cena z dostawą, popularity - popularność (liczba złożonych ofert), name - tytuł oferty, relevance - trafność.
    2. sortOrder | string | niewymagany
      Kierunek sortowania: asc - rosnąco (wartość domyślna dla większości listingów), desc - malejąco.
  5. resultSize | int | niewymagany
    Rozmiar porcji danych (min. 1, maks. 1000). Domyślna wartość: 100.
  6. resultOffset | int | niewymagany
    Sterowanie pobieraniem kolejnych porcji danych. Domyślna wartość: 0.
  7. resultScope | int | niewymagany
    Sterowanie zakresem zwracanych danych (maska, wartości można sumować): 1 - nie zwracaj struktury z filtrami, 2 - nie zwracaj struktury z kategoriami, 4 - nie zwracaj struktury z ofertami). Domyślnie zwracane są wszystkie dane.



Orientacyjna struktura wywołania metody

$dogetitemslist_request = array(
   'webapiKey' => '4y77dg10db8',
   'countryId' => 1,
   'filterOptions' => array(
     array(
      'filterId' => 'category',
      'filterValueId' => array('237548'))),
);


  1. itemsCount | int
    Liczba wszystkich ofert (we wskazanej kategorii i/lub wystawionych przez wskazanego użytkownika i/lub pasujących do danego zapytania).
  2. itemsFeaturedCount | int
    Liczba promowanych ofert (znajdujących się w zwróconej paczce danych).
  3. itemsList | ItemListType[]
    Informacje o ofertach.
    1. itemId | long
      Identyfikator oferty.
    2. itemTitle | string
      Tytuł oferty.
    3. leftCount | int
      Liczba przedmiotów dostępnych do kupienia.
    4. bidsCount | int
      Liczba kupionych przedmiotów.
    5. biddersCount | int
      Liczba użytkowników kupujących/licytujących w ofercie.
    6. quantityType | string
      Typ dostępnych w ofercie przedmiotów: pieces - sztuki, sets - komplety, pairs - pary.
    7. endingTime | datetime
      Planowy czas zakończenia oferty.
    8. timeToEnd | string
      Pozostały czas do zakończenia oferty (słownie).
    9. categoryId | int
      Identyfikator kategorii.
    10. conditionInfo | string
      Stan przedmiotu: new - nowy, used - używany, undefined - nieokreślony.
    11. promotionInfo | int
      Opcje promowania w ofercie (maska, wartości mogą być sumowane): 1 - wyróżnienie, 2 - podświetlenie, 4 - pogrubienie.
    12. additionalInfo | int
      Dodatkowe oznaczenia w ofercie (maska, wartości mogą być sumowane): 1 - Standard Allegro (PL)/Aukro+ (CZ)/Super Offer (UA)/Vatera Premium (HU), 2 - darmowa wysyłka.
    13. sellerInfo | UserInfoType
      Informacje o sprzedającym.
      1. userId | int
        Identyfikator użytkownika.
      2. userLogin | string
        Nazwa użytkownika.
      3. userRating | int
        Liczba punktów użytkownika.
      4. userIcons | int
        Dodatkowe informacje o użytkowniku (maska, wartości mogą być sumowane): 1 - konto Junior, 2 - strona "O mnie", 4 - konto Firma, 8 - sklep Allegro, 16 - Super Sprzedawca (RU).
      5. countryId | int
        Identyfikator kraju użytkownika (listę identyfikatorów krajów uzyskać można za pomocą metody doGetCountries).
    14. priceInfo | PriceInfoType[]
      Informacje o cenie przedmiotów.
      1. priceType | string
        Typ ceny: buyNow - Kup Teraz!, bidding - aktualna cena w licytacji, withDelivery - cena z dostawą.
      2. priceValue | float
        Kwota (w walucie kraju przekazanego w countryId).
    15. photosInfo | PhotoInfoType[]
      Tablica struktur zawierająca informacje o zdjęciach w ofercie.
      1. photoSize | string
        Rozmiar zdjęcia: small - małe (64x48), medium - średnie (128x96), large - duże (400x300).
      2. photoUrl | string
        Odnośnik do zdjęcia.
      3. photoIsMain | boolean
        Informacja o tym czy dane zdjęcie jest głównym w ofercie (i miniaturką na listingu): true/false.
    16. parametersInfo | ParameterInfoType[]
      Informacje o parametrach wybranych dla oferty.
      1. parameterName | string
        Nazwa parametru (do wyświetlenia w aplikacji).
      2. parameterValue | string[]
        Wartość parametru (pojedyncza, lista lub zakres od-do).
      3. parameterUnit | string
        Jednostka parametru (występuje tylko dla części parametrów).
      4. parameterIsRange | boolean
        Informacja o tym czy parametr jest typu zakresowego: true/false.
    17. advertInfo | AdvertInfoType
      Szczegóły ogłoszenia (zwracane tylko dla ofert typu ogłoszeniowego).
      1. serviceId | string
        Identyfikator serwisu z którego pochodzi ogłoszenie: otoMotoPl, otoDomPl, otoWakacjePl, alleWakacjePl, oferiaPl, tablicaPl, strefaMarekAllegroPl, ebookiAllegroPl, otoMotoCz, hotelCz, bezRealitkyCz, spaCz, turistikCz, wikiRealityCz, iDeveloperCz, slandoUa, promUa.
      2. advertId | string
        Identyfikator ogłoszenia.
  4. categoriesList | CategoriesListType
    Informacje o kategoriach.
    1. categoriesTree | CategoryTreeType[]
      Kategorie "siostrzane" i "dzieci" (pierwszego poziomu) dla identyfikatora kategorii podanej na wejściu lub lista kategorii głównych (jeżeli na wejściu nie podano konkretnej kategorii).
      1. categoryId | int
        Identyfikator kategorii.
      2. categoryName | string
        Nazwa kategorii.
      3. categoryParentId | int
        Identyfikator kategorii nadrzędnej.
      4. categoryItemsCount | int
        Liczba ofert wystawionych w kategorii.
    2. categoriesPath | CategoryPathType[]
      Pełna ścieżka kategorii prowadzących do kategorii podanej na wejściu (nie zwracana jeżeli kategoria nie została wskazana).
      1. categoryId | int
        Identyfikator kategorii.
      2. categoryName | string
        Nazwa kategorii.
      3. categoryParentId | int
        Identyfikator kategorii nadrzędnej.
  5. filtersList | FilterListType[]
    Informacje o filtrach możliwych do ustawienia w danym kontekście.
    1. filterId | string
      Identyfikator filtra.
    2. filterName | string
      Nazwa filtra.
    3. filterType | string
      Typ filtra: country - filtr globalny dla danego serwisu/kraju, category - filtr istniejący tylko w ramach przekazanej kategorii (parametr).
    4. filterControlType | string
      Typ kontrolki potrzebnej do wyświetlenia filtra: combobox (do wyboru pojedyncza wartość z listy), checkbox (do wyboru wiele wartości z listy), textbox (wartość do samodzielnego uzupełnienia).
    5. filterDataType | string
      Typ danych jakie przyjmuje filtr: string, int, long, float, datetime.
    6. filterIsRange | boolean
      Informacja o tym czy parametr jest typu zakresowego: true/false.
    7. filterArraySize | int
      Maksymalna liczba wartości jaką można przekazać dla danego filtra (zwracana tylko dla filtrów wielokrotnych).
    8. filterValues | FilterValueType[]
      Informacje o wartościach filtrów.
      1. filterValueId | string
        Identyfikator wartości filtra.
      2. filterValueName | string
        Nazwa wartości filtra (do wyświetlenia w aplikacji).
      3. filterValueCount | int
        Liczba ofert pasujących do danego filtra (zwracana tylko gdy jest możliwa do wyliczenia w danym kontekście).
    9. filterRelations | FilterRelationType
      Informacje o relacjach między filtrami.
      1. relationAnd | string[]
        Lista wszystkich identyfikatorów filtrów, z którymi dany filtr musi zostać użyty.
      2. relationOr | string[]
        Lista identyfikatorów filtrów, spośród których co najmniej jeden musi być użyty z danym filtrem.
      3. relationExclude | string[]
        Lista identyfikatorów filtrów, z którymi dany filtr nie może zostać użyty.
  6. filtersRejected | string[]
    Identyfikatory filtrów przekazanych na wejściu, które dla danego wywołania nie zostały aktywowane (są błędne lub niepoprawne w danym kontekście).



Orientacyjna struktura odpowiedzi serwera

$dogetitemslistresponse = array(
   'itemsCount' => 312,
   'itemsFeaturedCount' => 78,
   'itemsList' => array(
      array(
        'itemId' => 3136513627,
        'itemTitle' => 'Wiedźmin - Sezon Burz',
        'leftCount' => 43,
        'bidsCount' => 7,
        'biddersCount' => 7,
        'quantityType' => 'pieces',
        'endingTime' => 2013-12-29T13:57:12+01:00,
        'timeToEnd' => '3 godz',
        'CategoryId' => 92466,
        'conditionInfo' => 'new',
        'promotionInfo' => 3,
        'additionalInfo' => 0,
        'sellerInfo' => array(
             'userId' => 5921761,
             'userLogin' => 'testowekonto',
             'userRating' => 53726,
             'userIcons' => 14,
             'countryId' => 1),
        'priceInfo' => array(
           array(
             'priceType' => 'buyNow',
             'priceValue' => 29.9),
           array(
             'priceType' => 'withDelivery',
             'priceValue' => 39.9)),
        'photosInfo' => array(
           array(
             'photoSize' => 'small',
             'photoUrl' => 'http://img12.allegroimg.pl/photos/64x48/36/66/01/35/3136513627',
             'photoIsMain' => true),
           array(
             'photoSize' => 'medium',
             'photoUrl' => 'http://img12.allegroimg.pl/photos/128x96/36/66/01/35/3136513627',
             'photoIsMain' => true),
           array(
             'photoSize' => 'large',
             'photoUrl' => 'http://img12.allegroimg.pl/photos/400x300/36/66/01/35/3136513627',
             'photoIsMain' => true)),
        'parametersInfo' => array(
           array(
             'parameterName' => 'Stan',
             'parameterValue' => 'Nowy',
             'parameterIsRange' => false))),
      array(...))
   'categoriesList' => array(
        'categoriesTree' => array(
           array(
             'categoryId' => 92466,
             'categoryName' => 'Polskie',
             'categoryParentId' => 79156,
             'categoryItemsCount' => 7270),
           array(
             'categoryId' => 92465,
             'categoryName' => 'Zagraniczne',
             'categoryParentId' => 79156,
             'categoryItemsCount' => 36924)),
        'categoriesPath' => array(
           array(
             'categoryId' => 7,
             'categoryName' => 'Książki i Komiksy',
             'categoryParentId' => 0),
           array(
             'categoryId' => 79153,
             'categoryName' => 'Literatura piękna, popularna i faktu',
             'categoryParentId' => 7),
           array(
             'categoryId' => 79156,
             'categoryName' => 'Fantasy',
             'categoryParentId' => 79153),
           array(
             'categoryId' => 92466,
             'categoryName' => 'Polskie',
             'categoryParentId' => 79156))),
   'filtersList' => array(
      array(
        'filterId' => 'condition',
        'filterName' => 'Stan',
        'filterType' => 'country',
        'filterControlType' => 'checkbox',
        'filterDataType' => string,
        'filterIsRange' => false,
        'filterValues' => array(
           array(
             'filterValueId' => 'new',
             'filterValueName' => 'Nowe',
             'filterValueCount' => 5349),
           array(
             'filterValueId' => 'used',
             'filterValueName' => 'Używane',
             'filterValueCount' => 1920)),
        'filterRelations' => array(
             'relationOr' => array('category','departmentPage','search','special','userId'),
             'relationExclude' => array('categoryPage','mainPage'))),
      array(
        'filterId' => 75,
        'filterName' => 'Okładka',
        'filterType' => 'category',
        'filterControlType' => 'checkbox',
        'filterDataType' => int,
        'filterIsRange' => false,
        'filterValues' => array(
           array(
             'filterValueId' => '1',
             'filterValueName' => 'miękka',
             'filterValueCount' => 2690),
           array(
             'filterValueId' => '3',
             'filterValueName' => 'miękka z obwolutą',
             'filterValueCount' => 36),
           array(
             'filterValueId' => '2',
             'filterValueName' => 'twarda,
             'filterValueCount' => 236),
           array(
             'filterValueId' => '4',
             'filterValueName' => 'twarda z obwolutą',
             'filterValueCount' => 25)),
        'filterRelations' => array(
             'relationAnd' => array('category'))),
      array(...))
);


  • ERR_FILTER_DEPENDENCY_ALL
    Filtr nie może zostać użyty bez przekazania dodatkowo wszystkich podanych filtrów: lista filtrów.
  • ERR_FILTER_DEPENDENCY_AT_LEAST_ONE
    Filtr nie może zostać użyty bez przekazania dodatkowo przynajmniej jednego z podanych filtrówlista filtrów.
  • ERR_FILTER_DEPENDENCY_MISMATCH
    Filtr nie może zostać użyty jednocześnie z przynajmniej jednym z podanych filtrówlista filtrów.
  • ERR_INPUT_COUNTRY_ERROR
    Niepoprawny identyfikator kraju (wskazany kraj nie jest obsługiwany lub w parametrze przekazano zerową/pustą wartość).
  • ERR_INCORRECT_FILTER_VALUE
    Niepoprawna wartość identyfikatora wartości filtra (dla filtra pojedynczego, wielokrotnego lub zakresowego).
  • ERR_INCORRECT_RESULT_SCOPE
    Niepoprawna wartość zakresu zwracanych danych.
  • ERR_INCORRECT_RESULT_SIZE
    Niepoprawna wartość rozmiaru porcji danych (spoza zakresu 1-1000).
  • ERR_INCORRECT_RESULT_OFFSET
    Niepoprawna wartość offsetu (mniejsza od 0).
  • ERR_INCORRECT_SORT_ORDER
    Niepoprawna wartość kierunku sortowania.
  • ERR_INCORRECT_SORT_TYPE
    Niepoprawna wartość typu sortowania.
  • ERR_WEBAPI_EXPIRED
    Data ważności klucza WebAPI została przekroczona (nie dotyczy PL).
  • ERR_WEBAPI_KEY
    Niepoprawna wartość klucza WebAPI lub klucz został zablokowany.
  • 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).

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 (09.07.2015 r.) / c# (Autor: Pawlooos)
  1. FilterOptionsType[] filter = new FilterOptionsType[2];
  2. filter[0] = new FilterOptionsType();
  3. filter[1] = new FilterOptionsType();
  4.  
  5. filter[0].filterId = "search";
  6. filter[1].filterId = "offerType";
  7.  
  8. string[] filterValue_Search = new string[1];
  9. filterValue_Search[0] = TBoxItemName.Text.ToString();
  10. string[] filterValue_OfferType = new string[1];
  11. filterValue_OfferType[0] = "buyNow";
  12. //filterValue_OfferType[1] = "auction";
  13.  
  14. filter[0].filterValueId = filterValue_Search;
  15. filter[1].filterValueId = filterValue_OfferType;
  16.  
  17. int itemsFeaturedCount; // Liczba promowanych ofert
  18. bool itemsFeaturedCountSpecified;
  19. ItemsListType[] itemsList; // Oferty
  20. CategoriesListType categoriesList; // Informacje o kategoriach
  21. FiltersListType[] filtersList; // Filtry możliwe do ustawienia
  22. string[] filtersRejected; // Niepoprawne filtry
  23.  
  24. //sessionHandle - przechowuję liczbę wszystkich zwróconych ofert (pasujacych do zapytania)
  25. sessionHandle = service.doGetItemsList(
  26. webApiKey, // WebApi klucz
  27. 1, // Id kraju => 1 dla PL
  28. filter, // Kryteria filtrowania
  29. null, // Kryteria sortowania
  30. 1000, // Rozmiar porcji wynikowej, domyślnie (przy false pobiera 100)
  31. true, //
  32. 0, // Sterowanie pobieraniem kolejnych porcji
  33. false, //
  34. 0, // Sterowanie zakresem zwracanych danych
  35. false, //
  36. out itemsFeaturedCount, out itemsFeaturedCountSpecified, out itemsList, out categoriesList, out filtersList, out filtersRejected);
#2 (13.02.2016 r.) / java (Autor: promesco)
  1. // Kod pokazuje jak wylistować sobie oferty z kategorii Motoryzacja oraz użycie cechy Uszkodzone->Tak
  2. // Do kodu cechy dobrałem się poprzez wyszukiwanie w kategorii ofert , a następnie drukowanie każdej oferty
  3. // z osobna pod względem jej cech i w ten sposób ctrl + f i szukamy odpowiedniej frazy cechy :) kod w jaki
  4. // znalazłem te id cechy(dodałem filter do kategorii , żeby nie było za dużo wyników) :
  5.  
  6. DoGetItemsListRequest itemsreq = new DoGetItemsListRequest();
  7. itemsreq.setCountryId(countryCode);
  8. itemsreq.setWebapiKey(webapiKey);
  9. Integer scope=0,size=0,offset=0;
  10. itemsreq.setResultOffset(offset);
  11. itemsreq.setResultSize(size);
  12. itemsreq.setResultScope(scope);
  13.  
  14. ArrayOfFilteroptionstype filter = new ArrayOfFilteroptionstype();
  15. // Filter Kategorii , id można zdobyć poprzez http://allegro.pl/category_map.php?id=0&cols=3&show=cids lub funkcją
  16. // z webapi , ale to już sobie można znaleźć
  17. FilterOptionsType fotcat = new FilterOptionsType();
  18. fotcat.setFilterId("category");
  19. ArrayOfString categories = new ArrayOfString();
  20. categories.getItem().add("149");
  21. fotcat.setFilterValueId(categories);
  22. // Dodajemy do gamy filtrów
  23. filter.getItem().add(fotcat);
  24.  
  25. itemsreq.setFilterOptions(filter);
  26.  
  27. DoGetItemsListResponse doGetItemsList = allegro.doGetItemsList(itemsreq);
  28.  
  29. List<FiltersListType> item = doGetItemsList.getFiltersList().getItem();
  30. // Ograniczyłem też iterację do 1000 jak później widać w ifie , bo nie chciałem odrazu całości przeszukiwać
  31. // ale jak będziecie mieć lipe i nie znajdziecie to wywalcie to po prostu
  32. int i = 0;
  33.  
  34. for(FiltersListType flt : item)
  35. {
  36. if (i < 1000)
  37. {
  38. System.out.println("-----------------");
  39. System.out.println("Filter name : " + flt.getFilterName());
  40. System.out.println("Filter id : " + flt.getFilterId());
  41. if(flt.getFilterValues() != null)
  42. for(FilterValueType fvt : flt.getFilterValues().getItem())
  43. System.out.println("Filter Value id : " + fvt.getFilterValueId() + " Filter Value name : " + fvt.getFilterValueName());
  44. i++;
  45. }
  46. }
  47. */
  48. //-------------------------------------------------------------------------------------------------------------------------------
  49. // Kod do Wyszukiwania po cesze którą już mamy(u mnie 178 , czyli Uszkodzone i wartość cechy czyli 2):
  50. // Tworzymy Request
  51. DoGetItemsListRequest itemsreq = new DoGetItemsListRequest();
  52. itemsreq.setCountryId(countryCode); // Kod Kraju który wcześniej trzeba było zaimplementować
  53. itemsreq.setWebapiKey(webapiKey); // Klucz WebApi
  54. Integer scope=0,size=0,offset=0; // Te wartości mnie nie interesowały więc 0 :)
  55. itemsreq.setResultOffset(offset);
  56. itemsreq.setResultSize(size);
  57. itemsreq.setResultScope(scope);
  58. // Inicjujemy Filter
  59. ArrayOfFilteroptionstype filter = new ArrayOfFilteroptionstype();
  60.  
  61. FilterOptionsType fotcat = new FilterOptionsType();
  62. fotcat.setFilterId("category");
  63. ArrayOfString categories = new ArrayOfString();
  64. categories.getItem().add("149");
  65. fotcat.setFilterValueId(categories);
  66.  
  67. filter.getItem().add(fotcat);
  68.  
  69. FilterOptionsType fotfeature = new FilterOptionsType();
  70. fotfeature.setFilterId("178");
  71. ArrayOfString yes = new ArrayOfString();
  72. yes.getItem().add("2");
  73. fotfeature.setFilterValueId(yes);
  74.  
  75. filter.getItem().add(fotfeature);
  76.  
  77. itemsreq.setFilterOptions(filter);
  78.  
  79. DoGetItemsListResponse doGetItemsList = allegro.doGetItemsList(itemsreq);
#3 (21.07.2016 r.) / python (Autor: spudnica)
  1.  
  2. #kod do wszukiwnia itemów w Pythonie 2.7, wymaga instalacji modulu suds
  3. from suds.client import Client
  4. import time
  5.  
  6. #Definiuje plik wejsciowz
  7. url = 'https://webapi.allegro.pl/service.php?wsdl'
  8. client = Client(url)
  9.  
  10. #Wpisz swoje webapi
  11. webAPI = 'XXXXXX'
  12. countryId = 1
  13.  
  14. filtr_query=client.factory.create('ArrayOfFilteroptionstype')
  15.  
  16. #do tej tablicy mozna dopisać co się chce i dowolnie edytować
  17. tablica = {'category':'10',
  18. 'condition':'used',
  19. 'search':'tomanek'
  20. }
  21. rangeUp = len(tablica)-1
  22.  
  23. for i in range(0,rangeUp):
  24. filtr = client.factory.create('FilterOptionsType')
  25. filtr.filterId = tablica.keys()[i]
  26. filtrAOS = client.factory.create('ArrayOfString')
  27. filtrAOS.item = tablica.values()[i]
  28. filtr.filterValueId = filtrAOS
  29. filtr_query.item.append(filtr)
  30.  
  31.  
  32. wynik = client.service.doGetItemsList(webAPI, countryId, filtr_query, resultScope = 3,resultSize = 5)
  33. print "Otrzymano %d wynikow." % wynik.itemsCount , "Sukces! %s " % time.strftime("%A, %H:%M:%S")
  34.  
  35. #time.sleep(10)
  36.