Allegro WebAPI

Interfejs programistyczny platformy Allegro

FAQ

Odpowiedzi na najczęściej zadawane pytania związane z WebAPI.

  1. Czy mogę uzyskać więcej informacji na temat sesji?
    Identyfikator sesji, otrzymany w wyniku wywołania metod doLogin(Enc), zachowuje ważność przez jedną godzinę od momentu jego utworzenia. Dodatkowo - sesja ma charakter odnawialny. Oznacza to, że wywołanie jakiejkolwiek metody wymagającej podania identyfikatora sesji spowoduje, że czas trwania tej sesji będzie naliczany od nowa.

    Dla każdego użytkownika obowiązuje limit maksimum 10 jednocześnie otwartych sesji. W przypadku otwarcia 11-tej z kolei, ta najwcześniej utworzona zostanie automatycznie zamknięta.
  2. Czy na wywoływanie metod nałożone są jakieś limity?
    W WebAPI wprowadziliśmy dwa główne limity:
    • Na klucz WebAPI: 9000 zapytań na minutę. Jeśli go przekroczysz - zablokujemy klucz WebAPI na 5 minut, a w odpowiedzi dostaniesz błąd ERR_MINUTE_LIMIT_EXCEEDED.
    • Na adres IP: 120 zapytań na sekundę. Jeśli go przekroczysz - w odpowiedzi dostaniesz błąd ERR_IP_LIMIT_EXCEEDED. Aby zdjąć blokadę, ustaw serwer proxy na swojej maszynie z zablokowanym IP i z tego serwera, wypełnij CAPTCHA pod adresem: http://allegro.pl/blocked/index.php.

    Dodatkowo wprowadziliśmy limit w metodach doLogin, doLoginEnc i doLoginWithAccessToken, który zabezpiecza przed zbyt dużą ilością błędnych logowań.
    Po 4 requeście z niepoprawnymi danymi do logowania - w odpowiedzi dostaniesz błąd ERR_CAPTCHA_REQUIRED. Aby zdjąć blokadę, zaloguj się na zablokowane konto przez formularz logowania na allegro.pl.
  3. Do tej pory wszystko działało bez problemu, a teraz nagle otrzymuje błąd ERR_INVALID_VERSION_CAT_SELL_FIELDS.
    Powyższy błąd wskazuje na to, że w parametrze wywołania metody podany został niepoprawny (nieaktualny) klucz wersji. Klucze wersji są zmiennie, dlatego należy przede wszystkim sprawdzić czy przekazywana wartość klucza zgadza się z jego aktualną wartością (do sprawdzenia wartości kluczy wersji użyć można metod: doQuery(All)SysStatus).
  4. Jakie maksymalnej długości hasło mogę przekazać przy logowaniu się za pośrednictwem WebAPI?
    Tak naprawdę przekazać można hasło dowolnej długości, jednak po stronie serwera WebAPI odczytane zostanie jedynie pierwsze 16 znaków (aktualny limit na długość hasła w serwisie) - pozostałe znaki zostaną zignorowane.
  5. Jak działają i co oznaczają maski dla opcji oferty?

    Maski te (zwracane przez metody doMyAccount2, doGetItemsInfo oraz doShowItemInfoExt), to - przedstawione w systemie dziesiętnym - sumy logiczne wartości (będących kolejnymi potęgami dwójki), wskazujących na opcje wybrane dla oferty. Wartości te oznaczają kolejno:

    • 1 - oferta jest promowana przez pogrubienie tytułu na listingach,
    • 2 - oferta jest promowana przez wyróżnienie na listingach,
    • 4 - oferta jest promowana przez miniaturkę wyświetlaną na listingach,
    • 8 - oferta sklepowa,
    • 16 - oferta została usunięta przez administratora serwisu,
    • 32 - wskazanie na fakt, że koszty przesyłki pokrywa kupujący,
    • 64 - wskazanie na fakt, że koszty przesyłki pokrywa sprzedający,
    • 128 - wybrana forma płatności: zwykły przelew,
    • 256 - wybrana forma płatności: płatność przy odbiorze,
    • 512 - wybrana forma płatności: szybki przelew,
    • 1024 - maska zdezaktualizowana (zawsze wyłączona),
    • 2048 - przynajmniej jedna z opcji wysyłki jest darmowa,
    • 4096 - oferta zawiera dodatkowe informacje o płatności i dostawie,
    • 8192 - oferta jest promowana na stronie głównej,
    • 16384 - sprzedający zgadza się na wysyłkę za granicę,
    • 32768 - podano dodatkowe informacje o przesyłce i płatności,
    • 65536 - oferta została utworzona z czasem do wystawienia w przyszłości,
    • 131072 - oferta została wystawiona za pośrednictwem WebAPI,
    • 262144 - oferta jest promowana przez podświetlenie na listingach,
    • 524288 - oferta jest promowana na stronie kategorii,
    • 1048576 - maska zdezaktualizowana (zawsze wyłączona),
    • 2097152 - maska zdezaktualizowana (zawsze wyłączona),
    • 4194304 - wybrana opcja dostawy: przesyłka pocztowa ekonomiczna,
    • 8388608 - wybrana opcja dostawy: przesyłka pocztowa priorytetowa,
    • 16777216 - wybrana opcja dostawy: przesyłka kurierska,
    • 33554432 - wybrana opcja dostawy: odbiór osobisty,
    • 67108864 - maska zdezaktualizowana (zawsze wyłączona),
    • 134217728 - przedmioty w ramach oferty są sprzedawane w kompletach,
    • 268435456 - oferta będzie wznowiona z pełnym zestawem przedmiotów,
    • 536870912 - oferta będzie wznowiona tylko z niesprzedanymi przedmiotami,
    • 1073741824 - oferta jest oznaczona jako "Standard Allegro",

    Aby odczytać poszczególne opcje, najprościej zamienić otrzymaną maskę na postać binarną i sprawdzić ustawienia kolejnych bitów.
  6. Podczas wywoływania metody otrzymuje błąd ERR_NO_SESSION, chociaż jestem pewny że identyfikator sesji który podaje jest poprawny i aktualny.
    Błąd ten może być wynikiem jednego z zabezpieczeń, które stosowane jest w WebAPI. Podczas wywoływania metody wykorzystującej identyfikator sesji, sprawdzane jest czy IP z którego wywoływana jest metoda jest tym samym IP z poziomu którego sesja była uprzednio utworzona. Należy upewnić się, że obie metody wywoływane są z poziomu tego samego IP.
  7. Próbuję wystawić ofertę z terminem wystawienia na kilka minut naprzód, jednak wystawia się ona natychmiast.
    Podobnie jak na WWW, wszystkie oferty dla których termin wystawienia zostanie ustalony do 10 minut naprzód od chwili wywoływania metody, traktowane są jako do wystawienia od razu (kwestia uwarunkowań technicznych). Aby oferta faktycznie została wystawiona w terminie późniejszym, jako chwilę jej startu należy podać termin późniejszy od chwili obecnej o więcej niż 10 minut.
  8. Jakie elementy oferty, w której była sprzedaż, mogę edytować przez WebAPI?

    W takich ofertach możesz edytować:

    • ilość sztuk,
    • zdjęcia,
    • parametry,
    • opis,
    • ceny i opcje dostawy,

    Przez WebAPI nie można edytować ceny w ofertach, w których była sprzedaż. Możesz to zrobić jedynie przez REST API.