TECHNICZNE ZADANIE (TZ)
Integracja systemu księgowego z platformą InBoost
1. Cel integracji
Automatyzacja wymiany danych między systemem księgowym firmy a platformą InBoost w celu:
- prowadzenia bazy klientów
- działania programu lojalnościowego
- przekazywania zdarzeń zakupów
- unikania duplikacji danych
- kontroli poprawności synchronizacji
2. Synchronizacja klientów
2.1 Logika działania
1. System powinien okresowo wyszukiwać klientów w InBoost.
2. Jeśli klient istnieje w InBoost, ale nie ma go w systemie księgowym — należy utworzyć klienta w systemie księgowym.
3. Jeśli klient istnieje w obu systemach:
- przekazać historię zakupów za ostatnie 3 miesiące (bez duplikacji);
- przekazać aktualny stan bonusów.
2.2 Identyfikacja klientów
Identyfikacja klientów odbywa się na podstawie numeru telefonu.
3. Program lojalnościowy
3.1 Aktualizacja bonusów
W przypadku zmiany stanu bonusów w systemie księgowym należy:
- wysyłać nową ilość bonusów do InBoost
- używać API InBoost
Przekazanie powinno odbywać się przy każdej zmianie stanu bonusów.
4. Naliczanie bonusów
Przy naliczaniu bonusów system powinien:
- wysyłać kod naliczenia bonusów na Webhook InBoost.
Wymagania:
- zrealizować ochronę przed duplikacją
- kod naliczenia przekazywany jest tylko raz.
5. Użycie bonusów
Przy użyciu bonusów system powinien:
- wysyłać kod użycia bonusów na Webhook InBoost.
Wymagania:
- zrealizować ochronę przed duplikacją
- kod użycia przekazywany jest tylko raz.
6. Zdarzenia po zakupie
Po dokonaniu zakupu należy:
1. wysłać zdarzenie zakupu na Webhook InBoost;
2. wykonać osobne zapytanie API z szczegółami zakupu.
Wymagania:
- zdarzenie przekazywane jest tylko raz
- duplikacja zdarzeń nie jest dozwolona.
7. Informowanie o wygasaniu bonusów
System powinien:
1. stworzyć listę klientów, których bonusy wkrótce wygasną;
2. stworzyć jedno zapytanie webhook;
3. przekazać listę numerów telefonów klientów.
8. Dane klienta (mapowanie pól)
Przy tworzeniu lub aktualizacji klienta należy zachować:
- numer telefonu
- imię
- nazwisko
- data urodzenia
- źródło pozyskania
- specjalność
9. Wymagania techniczne
Integracja powinna wykorzystywać:
- REST API InBoost
- Webhook zdarzenia.
10. Logowanie
Należy zrealizować:
- logowanie wszystkich zapytań API
- logowanie błędów
- logowanie przypadków duplikacji zdarzeń.
11. Ochrona przed duplikacją
Dla następujących zdarzeń powinien być używany unikalny ID zdarzenia:
- zakupy
- naliczanie bonusów
- użycie bonusów
Jest to konieczne, aby uniknąć ponownego przetwarzania zdarzeń.
12. Częstotliwość synchronizacji
Zalecana częstotliwość pracy systemu:
- synchronizacja klientów — co 10–30 minut
- przekazywanie bonusów — w czasie rzeczywistym
- przekazywanie zdarzeń zakupów — w czasie rzeczywistym.
13. Oczekiwany rezultat
Po realizacji integracji powinno być zapewnione:
- automatyczna synchronizacja klientów
- poprawne działanie programu lojalnościowego
- przekazywanie zdarzeń zakupów do systemu
- brak duplikacji danych
- stabilna integracja między systemami.