Allegro WebAPI

Interfejs programistyczny platformy Allegro

doGetSellFormAttribs

Ostatnia zmiana: 26.05.2011 r.
Dostępność:
Metoda pozwala na pobranie listy parametrów dostępnych dla danej kategorii we wskazanym kraju. Wybrane parametry mogą następnie posłużyć np. do budowy filtra przy listowaniu zawartości kategorii z poziomu metody doShowCat.

  1. country-id | int | wymagany
    Identyfikator kraju (listę identyfikatorów krajów uzyskać można za pomocą metody doGetCountries).
  2. webapi-key | string | wymagany
    Klucz WebAPI użytkownika.
  3. local-version | long | niewymagany
    Parametr zdezaktualizowany (należy przekazać dowolną wartość, odpowiednią dla typu parametru).
  4. cat-id | int | wymagany
    Identyfikator kategorii.



Orientacyjna struktura wywołania metody

$dogetsellformattribs_request = array(
   'country-id' => 1,
   'webapi-key' => 'g2fe408289',
   'local-version' => 0,
   'cat-id' => 175
);

  1. sell-form-fields | SellFormType[]
    Tablica struktur zawierających informacje o parametrach danej kategorii.
    1. sell-form-id | int
      Identyfikator parametru.
    2. sell-form-title | string
      Nazwa parametru.
    3. sell-form-cat | int
      Identyfikator kategorii, w której dostępny jest parametr (dotyczy też wszystkich podkategorii wskazanej kategorii). 0 oznacza, że parametr dostępny jest we wszystkich kategoriach.
    4. sell-form-type | int
      Określenie typu parametru na liście kategorii (1 - string, 2 - integer, 3 - float, 4 - combobox, 5 - radiobutton, 6 - checkbox, 7 - image (base64Binary), 8 - text (textarea), 9 - datetime (Unix time), 13 - date).
    5. sell-form-res-type | int
      Wskazanie na typ pola, w którym należy przekazać wybraną wartość parametru (1 - string, 2 - integer, 3 - float, 7 - image (base64Binary), 9 - datetime (Unix time), 13 - date).
    6. sell-form-def-value | int
      Domyślna wartość parametru (dla parametrów typu combobox/radiobutton/checkbox - na podstawie sell-form-opts-values).
    7. sell-form-opt | int
      Informacja na temat obligatoryjności parametru (1 - parametr obowiązkowy, 8 - parametr opcjonalny).
    8. sell-form-pos | int
      Pozycja parametru na liście parametrów dla danej kategorii. 0 oznacza, że stosowane jest sortowanie alfabetyczne.
    9. sell-form-length | int
      Dopuszczalny rozmiar (w znakach) przekazywanej wartości parametru.
    10. sell-min-value | string
      Minimalna wartość parametru  (dot. parametrów typu: int, float, combobox, checkbox, date; wartość 0 wskazuje na brak dolnego ograniczenia).
    11. sell-max-value | string
      Maksymalna wartość parametru (dot. parametrów: int, float, combobox, checkbox, date; wartość 0 wskazuje na brak górnego ograniczenia).
    12. sell-form-desc | string
      Opis kolejnych wartości, które można ustawić dla parametru (dot. parametrów typu combobox/radiobutton/checkbox).
    13. sell-form-opts-values | string
      Wskazanie konkretnych wartości (odpowiednich dla opisów wyżej), które można ustawić dla danego parametru (dot. parametrów typu combobox/radiobutton/checkbox, dla parametrów typu checkbox kolejne wartości można sumować).
    14. sell-form-field-desc | string
      Pole nieużywane dla parametrów.
    15. sell-form-param-id | int
      Oryginalny identyfikator parametru.
    16. sell-form-param-values | string
      Unikalne i niezmienne identyfikatory wartości parametru (dot. pól typu combobox/radiobutton/checkbox).
    17. sell-form-parent-id |int
      Identyfikator parametru rodzica (jego sell-form-param-id - tylko dla parametrów zależnych nie będących na szczycie hierarchi. Jeżeli dany parametr nie jest parametrem zależnym, lub jeżeli znajduje się na szczycie hierarchi parametrów zależnych - w polu zwracana zostanie wartość 0).
    18. sell-form-parent-value | string
      Wartość parametru rodzica, dla której parametr powiązany może być wykorzystany (tylko dla parametrów zależnych. Jeżeli dany parametr nie jest parametrem zależnym - w polu nie zostanie zwrócona żadna wartość).
    19. sell-form-unit | string
      Jednostka parametru (jeżeli została określona).
    20. sell-form-options | int
      Dodatkowe własności parametru: 1 - parametr zależny; 2 - parametr typu checkbox z wykorzystaniem operatora OR (z możliwym wyborem jednej lub wielu wartości), w przypadku gdy ta wartość nie jest ustawiona działanie parametru opiera się na operatorze AND; 6 - parametr typu checkbox z możliwym wyborem pojedynczej wartości (w praktyce combobox); 8 - parametr zakresowy.
  2. ver-key | long
    Wartość klucza wersji odpowiednia dla wybranego kraju i przekazanego klucza WebAPI.
  3. ver-str | string
    Wersja komponentu pól formularza sprzedaży odpowiednia dla przekazanego klucza WebAPI.



Orientacyjna struktura odpowiedzi serwera

$dogetsellformattribs_response = array(
   'sell-form-fields' => array(
      array(
         'sell-form-id' => 3241,
         'sell-form-title' => 'Stan',
         'sell-form-cat' => 175,
         'sell-form-type' => 4,
         'sell-form-res-type' => 2,
         'sell-form-def-value' => 0,
         'sell-form-opt' => 8,
         'sell-form-pos' => 0,
         'sell-form-length' => 1,
         'sell-min-value' => 0.00,
         'sell-max-value' => 3.00,
         'sell-form-desc' => '-- Wybierz -- |używana|nowa, bez folii|nowa, w folii',
         'sell-form-opts-values' => '0|1|2|3',
         'sell-form-field-desc' => '',
         'sell-form-param-id' => 122,
         'sell-form-param-values' => '0|1|2|3',
         'sell-form-parent-id' => 0,
         'sell-form-parent-value' => '',
         'sell-form-unit' => '',
         'sell-form-options' => 0),
      array(
         'sell-form-id' => 3242,
         'sell-form-title' => 'Liczba płyt w wydaniu',
         'sell-form-cat' => 175,
         'sell-form-type' => 4,
         'sell-form-res-type' => 2,
         'sell-form-def-value' => 0,
         'sell-form-opt' => 8,
         'sell-form-pos' => 1,
         'sell-form-length' => 1,
         'sell-min-value' => 0.00,
         'sell-max-value' => 3.00,
         'sell-form-desc' => '-- Wybierz -- |jedna|dwie|trzy i więcej',
         'sell-form-opts-values' => '0|1|2|3',
         'sell-form-field-desc' => '',
         'sell-form-param-id' => 124,
         'sell-form-param-values' =>'0|1|2|3',
       'sell-form-parent-id' => 0,
         'sell-form-parent-value' => '',
         'sell-form-unit' => '',
         'sell-form-options' => 0 )),
   'ver-key' => 25319881,
   'ver-str' => '1.1.18'

);

  • ERR_CATEGORY_NOT_FOUND
    Niepoprawny identyfikator kategorii.
  • ERR_INPUT_COUNTRY_ERROR
    Niepoprawny identyfikator kraju (wskazany kraj nie jest obsługiwany lub w parametrze przekazano zerową/pustą wartość).
  • ERR_NO_DATABASE
    Problemy z bazą danych Allegro.
  • ERR_WEBAPI_EXPIRED
    Data ważności klucza WebAPI została przekroczona.
  • ERR_WEBAPI_KEY
    Niepoprawna wartość klucza WebAPI lub klucz został zablokowany.
  • ERR_WEBAPI_KEY_INACTIVE
    Klucz WebAPI został zdezaktywowany (nie zaakceptowano 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 (24.08.2015 r.) / python (Autor: rikkt0r)
  1. from suds.client import Client
  2.  
  3. config = {
  4. 'allegro_key': 'XXX',
  5. 'allegro_country': 1,
  6. 'allegro_version': 0 # deprecated
  7. }
  8.  
  9. class Allegro:
  10. def __init__(self):
  11. self.c = Client('https://webapi.allegro.pl/service.php?wsdl')
  12. self.c.options.cache.setduration(hours=2)
  13.  
  14. def get_filters(self, catId):
  15.  
  16. filter_list = self.c.service.doGetSellFormAttribs(
  17. countryId=config['allegro_country'],
  18. localVersion=config['allegro_version'],
  19. webapiKey=config['allegro_key'],
  20. catId=catId
  21. ).sellFormFields
  22.  
  23. return filter_list
  24.  
  25.  
  26. if __name__ == "__main__":
  27. a = Allegro()
  28.  
  29. # Telefony i Akcesoria --> Iphone --> IPhone 6
  30. filters = a.get_filters(4) # Telefony i Akcesoria
  31. filters2 = a.get_filters(48978) # Iphone
  32. filters3 = a.get_filters(249586) # Iphone 6