Automatyczna aktualizacja cenników na ponad 40 stronach
Klient
Uniwersytety WSB Merito
Branża
Edukacja
Technologie
Główna korzyść
Zautomatyzowana aktualizacja cen i znaczna poprawa wydajności strony

Z czym mierzył się klient?
Problem Uniwersytetów WSB Merito był bardzo złożony. Ogólnopolska sieć szkół i uczelni wyższych potrzebowała systemu, który pozwoli automatycznie zarządzać cennikami na 46 stronach. Ceny musiały być pobierane bezpośrednio z CRM Salesforce i aktualizowane bez ręcznej pracy.
System musiał uwzględniać wiele wariantów cenników:
- dla kandydatów, absolwentów i obcokrajowców,
- z podziałem na tryb stacjonarny i zaoczny,
- różne modele płatności (jednorazowa, ratalna).
Dochodziły do tego m.in. limity miejsc, liczba płatności i powiązania między kierunkami, które trzeba było odfiltrować przed zapisaniem w Drupalu.
Największym wyzwaniem była jednak skala i złożoność danych – Salesforce przekazywał wszystkie informacje finansowe i rekrutacyjne dla wielu placówek w jednym dużym pliku. Jego przetwarzanie przy każdej aktualizacji znacznie obciążało serwer i spowalniało działanie strony.
Administratorzy strony potrzebowali więc rozwiązania, które:
- zautomatyzuje aktualizację cenników,
- zapewni im kontrolę w krytycznych momentach, np. wtedy, gdy ceny trzeba będzie tymczasowo zmienić ręcznie,
- nie wpłynie negatywnie na wydajność strony i doświadczenia użytkowników końcowych.
Jak rozwiązaliśmy problem?
Customowy moduł na Drupalu
Stworzyliśmy dedykowane rozwiązanie, które zautomatyzowało pobieranie, porządkowanie i aktualizowanie cenników z Salesforce. System nie przetwarza jednego dużego pliku z danymi przy każdym zapytaniu, tylko najpierw dzieli go na mniejsze części przypisane do konkretnych placówek, a potem odfiltrowuje nieaktualne kody. Dzięki temu Drupal pracuje na uporządkowanych, lżejszych danych, a to ogranicza obciążenie serwera i pozwala sprawnie aktualizować informacje na stronie.
Tryb awaryjnej aktualizacji cenników
Do wprowadzania pilnych zmian przygotowaliśmy specjalny mechanizm natychmiastowej aktualizacji, który można uruchomić z poziomu panelu administratorów. Standardowa synchronizacja uruchamia się automatycznie w nocy, gdy ruch na stronie jest mniejszy.
Bezpieczeństwo danych
Gdy system wykryje błędny, pusty lub zbyt mały plik z Salesforce CRM, automatycznie przerywa import i nie nadpisuje poprawnych danych na stronie. Administratorzy mogą też zablokować migrację w razie ręcznego wprowadzania zmian, np. w krytycznym momencie procesu rekrutacji. Dzięki temu system nie nadpisuje danych, które w danej chwili są aktualne i prawidłowe.
Przyspieszenie działania strony
Dane są odpowiednio formatowane już na etapie importu do Drupala. System zapisuje m.in. najniższą cenę, liczbę miejsc, liczbę rat, warianty płatności oraz powiązania między kierunkami. Dzięki temu strona nie musi za każdym razem przeliczać tych informacji od nowa podczas wyświetlania cennika użytkownikowi.
Co zyskał klient?
Dzięki naszemu rozwiązaniu Uniwersytety WSB Merito zyskały stabilny system zarządzania cennikami, który automatycznie pobiera, porządkuje i publikuje dane z Salesforce na stronie. W dodatku system ma zabezpieczenia, które nie nadpisują cenników w momencie wykrycia błędu czy niepoprawnego pliku importu.
Ogromną korzyścią jest też zwiększona wydajność strony. Użytkownik nie musi czekać, aż system przeliczy wszystkie warianty cen, rat i trybów studiów w momencie wejścia na stronę. Cenniki ładują się szybko, mimo że ich struktura jest rozbudowana.

Komentarz eksperta
Najbardziej przełomowym momentem projektu było odejście od przetwarzania potężnego, monolitycznego pliku JSON na żywo. Podzieliliśmy go na mniejsze fragmenty per szkoła oraz zadbaliśmy o pełne formatowanie danych strukturalnych już na etapie zapisu w Drupalu. To pozwoliło nam znacznie obniżyć zużycie pamięci serwera i skrócić czas ładowania stron cenników do minimum.
Kiedy warto wdrożyć podobne rozwiązanie w swoim projekcie?

Gdy dane na stronie muszą być regularnie synchronizowane z systemem zewnętrznym.
Gdy cenniki, oferty lub produkty na Twojej stronie mają wiele wariantów zależnych od rozbudowanych filtrów.
Gdy potrzebujesz opcji awaryjnej aktualizacji z poziomu panelu bez utraty kontroli nad publikacją danych.
Chcesz zautomatyzować aktualizację cen na swojej stronie?


