Сделайте CRM источником истины для слотов и подтверждённых записей, Telegram — интерфейсом, а Google Sheets — дополнительным источником по явно заданным правилам. Конфликты двух источников нужно разрешать заранее.
[имя] спросил: Спроектируйте на верхнем уровне сервис записи в косметологический салон через Telegram: данные находятся и в CRM, и в Google Sheets, а запись должна попадать в CRM.
Сделайте CRM источником истины для слотов и подтверждённых записей, Telegram — интерфейсом, а Google Sheets — дополнительным источником по явно заданным правилам. Конфликты двух источников нужно разрешать заранее.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сделайте CRM источником истины для слотов и подтверждённых записей, Telegram — интерфейсом, а Google Sheets — дополнительным источником по явно заданным правилам. Конфликты двух источников нужно разрешать заранее.
Backend принимает действия бота, показывает доступность, проверяет слот и идемпотентно создаёт запись в CRM. Локальная БД хранит состояние диалога, ключ операции и результат интеграции. При timeout сначала выясняют, создана ли запись, а не отправляют новую вслепую. Из Sheets можно синхронизировать справочники, но не обещать свободный слот по устаревшей копии. Ограничьте доступ к персональным данным и добавьте уведомление об ошибке с понятным дальнейшим действием.