«МФЦ»

Чат-бот с помощью которого петербуржцы могут проконсультироваться по вопросам предоставления госуслуг, не прибегая к помощи специалистов МФЦ.
Задача
Реализация
1. Получение информации об услугах
2. Поиск ближайшего МФЦ
3. Проверка статуса
Реализация чат-бота для Санкт-Петербургских МФЦ. Предоставление справочной информации по наиболее популярным услугам, поиск ближайших отделений МФЦ, проверка статуса поданного заявления..
В чат-боте были реализованы 5 основных веток сценария: получение информации об услугах, найти ближайший МФЦ, проверка статуса заявления, запись на приём и поиск по ключевым словам.
Для реализации ветки использовались два ключевых компонента "Вывод текста" и "Кнопки навигации". Раздел бота представляет собой некую базу вопрос-ответ, которая представлена в виде тематических подразделов. Например, получение паспорта.
Для реализации ветки поиска ближайших МФЦ использовалась интеграция с геокодером Яндекс, также был написан собственный API для получения информации о секторах. Пользователю с помощью компонента "Кнопки навигации" предлагается выбрать способ, с помощью которого можно найти ближайший МФЦ - ввод адреса или отправка геопозиции. Данные записываются посредством компонента "Ввод пользователя".
Раздел «Проверить статус заявления» позволяет пользователю отследить статус поданного заявления. Реализация данной ветки осуществлялась с помощью HTTP-запроса к API с данными МФЦ. С помощью компонента «Ввод пользователя» просим указать номер обращения и сохраняем его в переменную, затем осуществляем запрос, сохраняем ответ в переменную, в компоненте «Условие» проверяем наличие ошибки в ответе. Если пришедший ответ содержит ошибку – обращение с данным номером не найдено. Иначе выводим ответ пользователю со статусом заявления.
При ручном вводе ответ пользователя записывается в переменную. С помощью геокодера Яндекс отправляется HTTP-запрос. Ответ с наименованием найденной улицы сохраняется в переменную.
Затем с помощью компонента «Условие» проверяем принадлежность полученного от пользователя адреса к Санкт-Петербургу (eq locality 'Санкт-Петербург'). Если введенный адрес принадлежит Санкт-Петербургу, записываем координаты в переменную. Если полученный адрес находится за пределами Петербурга, уведомляем об этом пользователя и просим ввести корректный адрес. Используя HTTP-запрос к API с информацией о центрах МФЦ, выводим информацию пользователю ответ запроса в текстовом виде.