Как с помощью сниппета сделать API-запрос для обработки номера телефона и иных данных из сообщений?
Лия позволяет подготовить сниппет — фрагмент кода, который можно использовать как шаг в Сценарии. Ранее мы уже рассказывали, как настроить бота для определения номера телефона и передачи его в контекст. А в этой статье мы покажем, как с помощью сниппета отправить API-запрос к вашему серверу и работать с полученным ответом прямо во время общения Лии с клиентом, без вмешательства оператора.
Как и в прошлый раз, мы возьмем пример с номером телефона, но важно отметить, что этот подход можно использовать не только для телефонных данных — аналогичным способом вы можете обрабатывать любые данные, которые поступают на вход в сообщении.
Зачем это нужно?
Многим нашим клиентам — операторам связи, банкам, сервисам доставки и другим компаниям — необходимо автоматически определять и обрабатывать данные клиентов. Это помогает решать задачи, такие как направлять обращения в нужный отдел, предлагать персонализированные предложения или выявлять подозрительные действия для антифрод-анализа, что значительно упрощает процессы и улучшает взаимодействие с клиентами.
Например, номер телефона помогает определить оператора, регион, коды и другие параметры, что может быть полезно для вашего бизнес-логики.
Примерный алгоритм и сниппет
Вот простой алгоритм действий, который описывает работу сниппета:
Получаем номер телефона: — Если номер передан в параметрах, используем его. — Если номера нет в параметрах, ищем его в контексте (например, из сообщений в чате).
Проверяем номер телефона: — Убираем все лишние символы (например, пробелы или дефисы). — Убираем код страны (например, 7 или 8 для России), если он есть.
Отправляем запрос к API: — Формируем запрос к внешнему сервису (например, API оператора), передаем очищенный номер телефона.
Получаем ответ от API: — Смотрим, какой статус вернул API. Если все в порядке, продолжаем работу. Если ошибка — выводим сообщение об ошибке.
Сохраняем данные: — Сохраняем информацию о операторе, регионе и других параметрах в контекст, чтобы использовать их дальше в процессе общения с клиентом.
Выводим информацию: — Логируем или выводим в чат информацию о найденном операторе и других данных (например, название оператора).
Обработка ошибок: — Если возникла ошибка при запросе или обработке, выводим сообщение об ошибке и предлагаем возможные действия.
Важно! Все логи core.sendText
нужны только на этапе тестирования, чтобы отслеживать работу функции. Перед запуском в реальной системе их следует удалить или закомментировать.
Last updated