Заказ живёт в таблице между запусками
Каждое сообщение о заказе дописывается новой строкой, и бот отвечает, зная весь его путь.
Как выглядит сценарий
Сообщение о заказе
Что произошло▶
Модель▦
Что было раньше▶
Новая запись▶
Запись события▶
Ответ по заказу▶▦
Ответ▶
- Исполнение + данные
- LLM
- Исполнение
Каждое сообщение — отдельный запуск, и запуски ничего не знают друг о друге. История заказа существует ровно потому, что кто-то её записывает: без коллекции бот на «а что с заказом» может ответить только «расскажите, что было раньше».
Что внутри
- Сообщение о заказе — вход.
- Что произошло — модель достаёт номер, новый статус и суть.
- Новая запись и Запись события дописывают строку в коллекцию.
- Что было раньше читает всё, что по этому заказу уже записано.
- Ответ по заказу подтверждает изменение и напоминает путь заказа по датам.
Дописываем, а не перезаписываем. Хранить один «текущий статус» дешевле, но тогда на вопрос «когда отправили» отвечать нечем.
Что настроить под себя
- Список статусов в описании поля: он приводит любые формулировки к вашему словарю.
- Фильтр по заказу. Сейчас читаются последние пятьдесят событий по всем заказам, и разбирается модель. Как только заказов станет много, в выборку нужно добавить условие по номеру — иначе и дорого, и неточно.
- Кто присылает события. В работе это обычно не человек, а вебхук от вашей системы; граф от этого не меняется.
Что подключить
Коллекция в разделе «Таблицы». Ничего внешнего: вся история живёт внутри продукта.