ТЕХНИЧЕ ЗАДАНИЕ (ТЗ)
Интеграция учетной системы с платформой InBoost
1. Цель интеграции
Автоматизировать обмен данными между учетной системой компании и платформой InBoost для:
- ведения клиентской базы
- работы бонусной программы
- передачи событий покупок
- избегания дублирования данных
- контроля корректности синхронизации
2. Синхронизация клиентов
2.1 Логика работы
1. Система должна периодически выполнять поиск клиентов в InBoost.
2. Если клиент существует в InBoost, но отсутствует в учетной системе — необходимо создать клиента в учетной системе.
3. Если клиент существует в обеих системах:
- передать историю покупок за последние 3 месяца (без дублирования);
- передать актуальный баланс бонусов.
2.2 Идентификация клиентов
Идентификация клиентов выполняется по номеру телефона.
3. Бонусная программа
3.1 Обновление бонусов
При изменении баланса бонусов в учетной системе необходимо:
- отправлять новое количество бонусов в InBoost
- использовать API InBoost
Передача должна выполняться при каждом изменении бонусного баланса.
4. Начисление бонусов
При начислении бонусов система должна:
- отправлять код начисления бонусов на Webhook InBoost.
Требования:
- реализовать защиту от дублирования
- код начисления передается лишь один раз.
5. Списание бонусов
При списании бонусов система должна:
- отправлять код списания бонусов на Webhook InBoost.
Требования:
- реализовать защиту от дублирования
- код списания передается лишь один раз.
6. События после покупки
После совершения покупки необходимо:
1. отправить событие покупки на Webhook InBoost;
2. выполнить отдельный API-запрос с деталями покупки.
Требования:
- событие передается лишь один раз
- дублирование событий не допускается.
7. Информирование о сгорании бонусов
Система должна:
1. сформировать список клиентов, у которых бонусы скоро сгорят;
2. сформировать один webhook-запрос;
3. передать перечень номеров телефонов клиентов.
8. Данные клиента (маппинг полей)
При создании или обновлении клиента необходимо сохранять:
- номер телефона
- имя
- фамилия
- дата рождения
- источник привлечения
- специальность
9. Технические требования
Интеграция должна использовать:
- REST API InBoost
- Webhook события.
10. Логирование
Необходимо реализовать:
- логирование всех API-запросов
- логирование ошибок
- логирование случаев дублирования событий.
11. Защита от дублирования
Для следующих событий должен использоваться уникальный ID события:
- покупки
- начисления бонусов
- списания бонусов
Это необходимо для избежания повторной обработки событий.
12. Периодичность синхронизации
Рекомендуемая частота работы системы:
- синхронизация клиентов — каждые 10–30 минут
- передача бонусов — в реальном времени
- передача событий покупок — в реальном времени.
13. Ожидаемый результат
После реализации интеграции должно быть обеспечено:
- автоматическую синхронизацию клиентов
- корректную работу бонусной программы
- передачу событий покупок в систему
- отсутствие дублирования данных
- стабильную интеграцию между системами.