Integracja z systemem OCR oraz API Klienta

Zobacz, jak zautomatyzowaliśmy system weryfikacji paragonów, odciążając administratorów i zapewniając użytkownikom płynne naliczanie punktów lojalnościowych

Klient

NDA

Branża

FMCG

Technologie

logo Drupal Drupal
Logo TypeScript Typescript
Logo Vue.js Vue.js

Korzyść

Automatyzacja weryfikacji paragonów w systemie

Element tła

Naszym celem było zintegrowanie zewnętrznego systemu OCR klienta z Drupalem. Głównym problemem był brak webhooków i asynchroniczność API. Oznacza to, że system nie zwracał wyniku (poprawnego naliczenia punktów) od razu, lecz kolejkował go do ręcznej weryfikacji. Przez to użytkownik widział jedynie prognozę punktów, a nie ich realny stan na swoim koncie.

Zaprojektowaliśmy mechanizm, który aktywnie odpytuje serwer o zmiany statusów i synchronizuje dane z Drupalem. Dzięki temu administratorzy nie muszą ręcznie śledzić każdego zgłoszenia, a użytkownicy natychmiast otrzymują informację o zebranych punktach. Wykorzystaliśmy do tego:

  • Vue3 – zapewnia płynne działanie interfejsu bez przeładowania strony,
  • TypeScript – narzuca ścisłe typowanie odpowiedzi z API, co ułatwia utrzymanie kodu i rozwój w przyszłości,
  • Pinia – działa jako globalny magazyn, dzięki czemu stan wysyłki i dane użytkowników są dostępne od ręki,
  • Axios – umożliwia stabilne przesyłanie ciężkich plików graficznych i obsługę błędów sieciowych.

Za spójność danych odpowiada wdrożony w backendzie mechanizm CRON (oparty o moduł Simple Cron). Skonfigurowaliśmy w nim dwa niezależne zadania:

  • szybkie (co kilka godzin) – sprawdza tylko nowe paragony ze statusem „Do weryfikacji”, aby użytkownik jak najszybciej otrzymał punkty,
  • pełne (raz na dobę) – odświeża statusy wszystkich paragonów z ostatniego okresu, wyłapując ewentualne ręczne korekty dokonane przez administratorów w systemie OCR.

Rozdzielenie procesów pozwoliło zoptymalizować liczbę zapytań do API, zapewniając użytkownikom szybki czas reakcji przy jednoczesnym zachowaniu pełnej spójności danych z systemem klienta.

Formularz stał się centralnym punktem programu lojalnościowego klienta. Od momentu uruchomienia serwis przetworzył automatycznie dziesiątki tysięcy paragonów, co realnie odciążyło administratorów, eliminując konieczność ręcznego przepisywania danych. Na wdrożeniu zyskali również użytkownicy, którzy otrzymali płynnie działające narzędzie bez konieczności instalowania dodatkowych aplikacji.

drupal

Dominik Raducki

Drupal Developer

Dzięki zastosowaniu CRONa mechanizm automatycznie wykrywa ręczną zmianę oceny paragonu w systemie i aktualizuje dane. W ten sposób użytkownicy mają pewność, że stan ich konta jest zawsze aktualny i zgodny z rzeczywistością.

Element tła
  1. Gdy integrujesz stronę z systemami zewnętrznymi, które nie mają mechanizmów powiadamiania o zmianie statusu.

  2. Gdy w procesie weryfikacji istnieje czynnik ludzki, a finalny wynik jest zmienny i nieprzewidywalny.

  3. Gdy potrzebujesz pełnej spójności danych między systemami w czasie rzeczywistym.

Potrzebujesz niestandardowej integracji z Drupalem?