Магазин одежды в мессенджер с примеркой по фото

Клиент пишет в мессенджер, помощник подбирает товар из каталога, показывает его на фото клиента и принимает заказ — заказы попадают в mongoDb и Google Sheets.

  • Примерка по селфи снимает главное возражение
  • Подбор товара по описанию, а не по артикулу
  • Заказ оформляется в переписке, без сайта и корзины
  • Быстрые ответы: частые запросы держатся в redis
RedisMongoDB ToolGoogle Sheets ToolWhatsApp Business CloudMongoDB Atlas Vector StoreEmbeddings OpenAI

Как это работает

Чтобы данные из Google Sheets автоматически попадали в Edit Image, достаточно готового сценария — без выгрузок руками.

  1. Запуск: Триггер сообщения WhatsApp
  2. Проверка: Проверить, является ли сообщение кнопкой или изображением
  3. Если да — Маршрутизировать интерактивное сообщение или изображение
  4. Если да — Разобрать данные кнопки и пользователя
  5. Проверка: Маршрутизировать нажатие кнопки VTO или заказа
  6. Если да — Установить контекст VTO в Redis
  7. Затем: Предложить пользователю загрузить селфи
  8. Если нет — AI-агент оркестрации заказов
  9. Затем: Отправить подтверждение заказа
  10. Если нет — Получить контекст VTO из Redis
  11. Проверка: Хранится ли ID товара VTO в Redis?
  12. Если да — Извлечь imageID, waId и productID
  13. Затем: Получить изображение товара из MongoDB
  14. Затем: Скачать изображение товара из Drive (VTO)
  15. Затем: Изменить размер изображения товара до 1024px
  16. Затем: Извлечь изображение товара как base64
  17. Проверка: Объединить товар, селфи и результат валидации
  18. Проверка: Валидировать объединённое селфи перед примеркой
  19. Если да — Сформировать payload для API генерации изображений Gemini
  20. Затем: Сгенерировать VTO через Gemini API
  21. Затем: Преобразовать ответ Gemini в файл изображения
  22. Затем: Загрузить результат VTO в WhatsApp
  23. Затем: Отправить результат VTO пользователю
  24. Затем: Удалить контекст VTO из Redis
  25. Если да — Уведомить пользователя, что VTO обрабатывается
  26. Если нет — Попросить пользователя повторно отправить валидное фото
  27. Затем: Получить URL медиа из WhatsApp
  28. Затем: Скачать селфи пользователя
  29. Затем: Проанализировать селфи пользователя через Gemini
  30. Проверка: Gemini: подтвердить ровно одного человека
  31. Затем: Изменить размер селфи до 1024px
  32. Затем: Извлечь селфи пользователя как base64
  33. Если нет — Попросить пользователя отправить корректное фото
  34. Если нет — Проверить входящее сообщение
  35. Проверка: Пропустить валидные сообщения, заблокировать невалидные
  36. Если да — Получить сессию пользователя из Redis
  37. Затем: Загрузить сессию и добавить сообщение пользователя
  38. Затем: AI-агент покупок (BytezBot)
  39. Затем: Определить JSON-намерение или ответ простым текстом
  40. Затем: Добавить ответ ИИ в историю сессии
  41. Затем: Сохранить сессию в Redis
  42. Проверка: Маршрутизировать JSON-намерение или простой текст
  43. Если да — Маршрутизировать поиск товара или рекомендацию
  44. Если да — Сформировать ключ кэша Redis из поискового запроса
  45. Затем: Проверить кеш Redis
  46. Проверка: Кэширован ли товар в Redis?
  47. Если да — Разобрать кэшированный JSON-массив товаров
  48. Проверка: Перебрать товары в цикле
  49. Затем: Собрать тело сообщения с карточкой товара
  50. Затем: Преобразовать base64 изображения товара в бинарный формат
  51. Затем: Загрузить изображение товара в WhatsApp
  52. Затем: Отправить сообщение с товаром и кнопками
  53. Если нет — Векторный поиск MongoDB Atlas
  54. Затем: Скачать изображение товара из Google Drive
  55. Затем: Преобразовать изображение товара в base6464
  56. Затем: Агрегировать все base64-изображения товаров
  57. Проверка: Объединить результаты векторного поиска с изображениями
  58. Затем: Объединить товары с base64-изображениями
  59. Затем: Сохранить товары в кеш
  60. Затем: Распаковать товары из результата кэша
  61. Если нет — Отправить текстовый ответ пользователю
  62. Если нет — Отправить ошибку валидации пользователю
  63. Затем: GPT-5-nano (классификатор намерений)
  64. Затем: GPT-4o (агент заказов)
  65. Затем: Создать заказ в MongoDB
  66. Затем: Получить инфо товара из MongoDB
  67. Затем: Записать заказ в Google Sheets
  68. Затем: Эмбеддинги OpenAI
  69. Затем: Память сессии для агента покупок
  70. Затем: Память сессии для агента заказов

Настроить такую автоматизацию (Google Sheets + Edit Image) можно в Scriptera — без кода: опишите задачу, остальное сделают за вас.