Добрый день, я планирую сделать чат-бот по типу доски объявлений.
Есть 2 основных флоу:
- Поиск объявления по названию (пользователь вводит ручками название города и получает список существующих объявлений)
- Добавление объявлений (пользователь опять вводит название города и добавляет объявление.
Я честно говоря не пойму, как правильно организовать такую логику где пользователь вводит название города.
У меня есть несколько вариантов:
1 вариант:
При добавлении объявления (флоу 1) - использовать api. т.е получается такой путь
Пользователь вводит название города (ошибки в грамматики также должны обрабатываться)
Уходит запрос по api/
На выходе получаем название города, страну, координаты или id города (в зависимости от того что отдает api)
Далее сохраняем все в бд (название города, страна, id города)
При поиске объявления (флоу 2) - также используем api
- Пользователь вводит название
- Уходит запрос к api
- На выходе получает id города
- Метчит все объявления с этим id
- И выдает листинг с объявлениями.
2 вариант:
Заранее заготовить в БД список всех городов
А при вводе название города пользователем просто искать в бд на соответствие, но в таком случае будет проблема с обработкой ошибок.
Очень много сервисов работает по такому типу, например Авито, Циан и т.д
Подскажите пожалуйста какой вариант лучше выбрать? Или может отказать от обоих вариантов и сделать что-то другое? Заранее благодарю за помощь!