Skocz do zawartości

Uwaga. Zmiany w funkcjonowaniu API Allegro - dyskusja

Polecane posty

Witajcie. W związku z zapowiedzianymi przez Allegro zmianami polegającymi na usunięciu z API jednej z funkcji, która jest intensywnie używana przez Sello, zachodzi konieczność wykonania w Sello pewnym zmian.

 

W uproszczeniu, obecnie Sello pobiera z serwisu parametry, aktualizując sobie słowniki płatności, wysyłek, województw, krajów, atrybutów specyficznych itd. Dzięki temu przy różnych zmianach w Allegro zazwyczaj nie było konieczności aktualizacji programu - gdyż dane te były aktualizowane dynamicznie w razie potrzeb. Do pobierania tych danych wykorzystywana jest funkcja zwracająca listę wszystkich pól i ich możliwych wartości.

 

Niestety Allegro usuwa tę funkcję z API i pobieranie wszystkich możliwych pól będzie teraz możliwe tylko w kontekście wybranej pojedynczej kategorii.

 

Co to zmienia?

Obecnie, gdy Sello pobiera przy pierwszym uruchomieniu parametry to inicjuje sobie wszystkie pola słownikowe, atrybuty, tak że w momencie dodawania nowej aukcji te pola są już w bazie uzupełnione.

Zmiany wprowadzane w API Allegro powodują, że do póki nie zostanie wybrana kategoria w aukcji to nie wiadomo jakie pola można w niej użyć. Ma to ogromny wpływ na wystawianie aukcji, korzystanie z szablonów itp.

Zmiany te otwierają również furtkę ku temu, aby w różnych kategoriach były dostępne różne opcje - choć Allegro o tym jeszcze nie mówi, np. w kategorii X będą inne opcje wysyłki niż w kategorii Y. To więc też musimy uwzględnić, aby nowe rozwiązanie uwzględniało taką hipotetyczną możliwość.

 

W związku z tym chcielibyśmy z Wami przedyskutować niektóre rzeczy, aby stworzyć nowe rozwiązanie, najmniej inwazyjne i stwarzające najmniej problemów.

 

Rozwiązania obecnie widzimy dwa.

1. Sugerowane przez Allegro, pobieranie danych do formularza wystawiania aukcji w momencie dodawania nowej aukcji. Niestety to podejście utrudnia pracę na wielu aukcjach jednocześnie z różnych kategorii i wymaga połączenia z serwisem w trakcie tworzenia aukcji w Sello.

2. Zoptymalizowana wersja istniejącego w Sello rozwiązania, tylko zamiast pobierania wszystkich danych na początku (i okresowo) to dane były by pobierane tylko dla kategorii, które są faktycznie używane.

 

Stąd pytanie pierwsze, z ilu kategorii korzystacie? Chodzi bardziej o przybliżone wartości, czy jest to mniej niż 50, 100, 300, 500, więcej.

 

Dodatkowo podsyłam polecenia SQL, które pomogą to policzyć:

 

select count(distinct(au_Catid)) 'liczba kategorii' from au__auction 

select count(distinct(au_Catid)) 'liczba kategorii w trwajacych' from au__auction where au_State = 3

 

Link to postu

Ja mam 88.

 

Co do rozwiązania w Sello, to oczywiście na co dzień opcja 2.

Ale trzeba też pomyśleć o parametrach kategorii, których obecnie nie mamy, ale np. chcemy mieć.

 

Stąd pierwsze co mi przychodzi na myśl, to przycisk "Pobierz parametry dla kategorii" w każdym miejscu, gdzie istnieje możliwość wyboru kategorii, czyli w nowej aukcji i w szablonie aukcji.

Link to postu
  • 1 miesiąc temu...

Liczba kategorii: 119

Liczba kategorii w trwających: 102

 

Opcja druga, zmniejszy się pranie serwera zapytaniami "select *" :)

 

BarteK, mi się marzy sello 2.0:

- zupełnie przepisany od nowa kod na najnowszym stabilnym .Net :)

- poprawione zapytania w widokach

- oparty o cefsharp itd..

 

Ale do tego trzeba raczej już drugiego zespołu z kilku letnim doświadczeniem. :/

Link to postu

W wersji 1.24 jest wdrożona opcja nr 2. Gdyby ktoś miał bardzo dużą ilość kategorii i pobieranie atrybutów trwało by zbyt długo to prosiłbym wtedy o sygnał, będziemy optymalizować rozwiązanie. Przy 50-100 kategoriach czas pobierania atrybutów jest akceptowalny. Na takim zestawie danych pracowaliśmy tworząc rozwiązanie.

Link to postu
Użytkownik forum
Temat jest zablokowany i nie można w nim pisać.
×
×
  • Dodaj nową pozycję...