Максим
Полезные статьи

HTTP-ЗАПРОСЫ: МЕТОД GET

В первой части руководства по HTTP-запросам мы разобрали метод POST для отправки данных на сервер. Теперь пришло время изучить второй ключевой метод — GET, который используется для получения информации от внешних источников.
В этом руководстве мы создадим практичного чат-бота для проверки операторов мобильной связи по номеру телефона. Сначала соберем простую версию, а затем усложним её, добавив валидацию ввода, обработку пользовательских данных и зацикливание сценария. Всё это без единой строчки программирования!
Метод GET открывает безграничные возможности: проверка данных, получение актуальных курсов валют, прогноз погоды, генерация случайного контента и многое другое. Давайте разберемся, как это работает на практике.
Если вы еще не читали первую часть этого руководства, настоятельно рекомендую начать с неё. Там мы подробно разбираем:
  • Что такое HTTP-запросы и зачем они нужны
  • Как работает метод POST
  • Создание чат-бота с отправкой данных на сервер
  • Основы работы с API
Там заложен фундамент, который поможет лучше понять материал этой части.
HTTP-ЗАПРОСЫ: МЕТОД POST ДЛЯ ОТПРАВКИ СООБЩЕНИЙ И ИЗОБРАЖЕНИЙ Создайте чат-бот с HTTP-запросами: метод POST для отправки сообщений и изображений через Telegram Bot API. Пошаговая инструкция по настройке HTTP-блока, работе с параметрами, созданию inline-кнопок. Практическое руководство на Watbot.ru с готовым шаблоном watbot.ru

Повторение основ платформы

Прежде чем приступить к созданию бота, давайте быстро освежим базовые навыки работы с конструктором Watbot.ru.

1. Работа со связями

Связи между блоками отображаются синими стрелками и показывают логику движения по сценарию. Чтобы удалить связь, наведите курсор — она станет красной — и нажмите на значок корзины посередине.
Чтобы создать новую связь, наведите курсор на черную точку блока, зажмите левую кнопку мыши и протяните стрелку к целевому блоку. Связь установлена!

2. Удаление и добавление блоков

Удаление блоков — наведите курсор на блок, нажмите на корзину и подтвердите действие. Блок исчезнет вместе со всеми связями.
Добавление блоков возможно двумя способами:
Первый способ — через кнопку «Добавить блок» в верхнем правом углу. Откроется панель с блоками, разделенными по категориям от «Часто используемых» до специализированных. Есть поисковая строка для быстрого поиска.
Второй способ быстрее: наведите курсор на черную точку любого блока, нажмите правую кнопку мыши — появится контекстное меню с блоками и поиском. При таком способе новый блок добавится сразу с проведенной связью, что очень удобно. Если добавляете через кнопку, связь придется проводить вручную.

Разница между методами GET и POST

Перед тем как начать сборку, важно понять принципиальную разницу между двумя основными HTTP-методами.
Метод POST используется для отправки данных на сервер. Вы передаете информацию (например, форму заявки, данные пользователя, файл), и сервер её обрабатывает. Это как отправить письмо — вы вкладываете содержимое и отправляете адресату.
Метод GET используется для получения данных от сервера. Вы запрашиваете информацию по определенным параметрам, и сервер возвращает результат. Это как задать вопрос — вы спрашиваете, сервер отвечает.
В первой части мы научились отправлять данные (POST). Сегодня научимся получать информацию (GET). Эти два метода дополняют друг друга и покрывают абсолютное большинство задач при работе с API.

Создание простой версии бота

Начнем с базовой версии — бота, который проверяет оператора по заранее заданному номеру телефона.

1. Поиск подходящего API-сервиса

Для работы нам нужен сервис, который предоставляет информацию об операторах связи через API. Мы нашли бесплатный сервис для проверки телефонных номеров:
NUM API Сервис проверки телефонного номера по API num.voxlink.ru
Главные преимущества этого сервиса:
  • Полностью бесплатный
  • Не требует регистрации
  • Не нужен API-ключ
  • Простой в использовании
Откройте сайт сервиса. Прокрутите страницу вниз — там вы найдете примеры использования API с различными методами запросов.

2. Настройка HTTP-запроса

Добавьте блок «HTTP запрос» после стартового блока. Проведите между ними связь.
Откройте настройки блока. На сайте API-сервиса найдите пример запроса с методом GET. Обычно это выглядит примерно так:
https://api.example.com/phone?number=+79991234567
Скопируйте этот URL и вставьте в поле «URL» блока HTTP-запрос. В этом URL уже содержится конкретный номер телефона, который будет проверен.
Метод — обязательно выберите GET. Это критически важно! Если оставите POST или другой метод, запрос не сработает.
Заголовки — для этого простого сервиса заголовки не нужны. Оставьте поле пустым.
Тайм-аут — установите время ожидания ответа от сервера. Можно поставить 10-15 секунд. Это максимальное время, которое бот будет ждать ответ. Если сервер не ответит за это время, запрос завершится ошибкой.
Выводить тело ответа в чат — активируйте эту опцию временно для первого тестирования. Нам нужно увидеть, в каком формате приходят данные.
Сохраните настройки блока.

3. Подключение Telegram и первое тестирование

Если вы еще не подключили Telegram к платформе, сделайте это сейчас. Как получить токен от BotFather и подключить мессенджер? На канале Watbot есть отдельная подробная видеоинструкция:
- YouTube Смотрите любимые видео, слушайте любимые песни, загружайте собственные ролики и делитесь ими с друзьями, близкими и целым миром. www.youtube.com
После подключения перейдите в Telegram к вашему боту. Отправьте команду /start.
Через пару секунд придет длинное сообщение с непонятным текстом — это JSON-ответ от API. Не пугайтесь, сейчас мы его расшифруем!

4. Расшифровка JSON-ответа

Скопируйте всё сообщение полностью. Откройте любой JSON-форматор — просто введите в поисковике «JSON форматор» и выберите первый попавшийся сайт.
Вставьте скопированный текст в форматор. Данные отобразятся в читаемом виде, и вы увидите структуру ответа:
  • number (номер) — проверенный номер телефона
  • operator (оператор) — название оператора связи (МТС, Билайн, Мегафон и т.д.)
  • region (регион) — регион регистрации номера
Вот эти данные нам и нужно извлечь!

5. Сохранение данных в переменную

Вернитесь на платформу Watbot.ru. Откройте настройки блока HTTP-запрос.
Отключите опцию «Выводить тело ответа в чат» — она больше не нужна.
Активируйте опцию «Записать ответ JSON в переменную». Нажмите «Добавить переменную».
Путь — укажите путь к полю с оператором. Обычно это просто слово operator.
Имя переменной — назовите её «оператор» для удобства.
Сохраните настройки.

6. Вывод результата пользователю

От кнопки «Продолжить» блока HTTP-запрос добавьте блок «Цепочка сообщений». Проведите связь.
В текстовом поле напишите: «Ответ по вашему номеру телефона. Оператор: 
Теперь нужно вставить переменную с названием оператора. Не пишите вручную со скобками — есть более удобный способ!
Внизу редактора текста найдите кнопку «Переменная». Нажмите на неё, выберите из списка переменную «оператор». Она автоматически вставится в правильном формате: {{оператор}}.
Сохраните блок.

7. Проверка базовой версии

Вернитесь в Telegram и снова отправьте команду /start.
Теперь вместо JSON-кода должно прийти читаемое сообщение вроде: «Ответ по вашему номеру телефона. Оператор: МТС».
Отлично! Базовая версия работает. Но есть проблема: бот проверяет только один конкретный номер, жестко прописанный в URL. Чтобы проверить другой номер, придется каждый раз менять его в сценарии. Это неудобно. Давайте исправим!

Усложнение бота: ввод номера пользователем

Сделаем бота по-настоящему полезным — пользователи смогут вводить любые номера для проверки.

1. Добавление блока запроса номера

Добавьте новый блок «Цепочка сообщений» между стартовым блоком и HTTP-запросом. Переместите связь от старта к этому новому блоку.
Напишите текст: «Введите номер телефона. Номер должен начинаться с +7. Пример: +79991234567».
Важно сразу объяснить пользователю правильный формат! Это снизит количество ошибок.

2. Настройка валидации

Теперь настроим валидацию — проверку введенных данных на соответствие формату. Это защитит бота от некорректного ввода.
В настройках блока найдите раздел «Валидация». Это проверка данных пользователя по указанному формату.
Выберите нужный формат из списка. Для номера телефона обычно подходит формат «Телефон» или «Пользовательский» с регулярным выражением, если нужна точная проверка.
Сообщение об ошибке валидации — напишите текст, который увидит пользователь при неправильном вводе: «Пожалуйста, введите номер телефона по указанному формату. Пример: +79991234567».
Если пользователь попытается ввести текст вместо цифр или формат будет неправильным, бот не пустит его дальше и покажет это сообщение.

3. Сохранение номера в переменную

Активируйте опцию «Записать ответ в пользовательскую переменную». Назовите переменную «number» (или «номер» — как вам удобнее).
Скопируйте название этой переменной — оно понадобится в следующем шаге!

4. Подстановка переменной в URL

Теперь самое важное — научим бота использовать введенный пользователем номер в запросе к API.
Сначала подготовим переменную в правильном формате. Откройте блок «Цепочка сообщений» (где пользователь вводит номер). Внизу нажмите кнопку «Переменная» и выберите number. Переменная появится в формате {{number}}. Скопируйте её вместе со скобками.
Теперь откройте настройки блока HTTP-запрос. Найдите в URL ту часть, где указан конкретный номер телефона.
Было: https://api.example.com/phone?number=+79991234567
Замените жестко заданный номер на переменную:
Стало: https://api.example.com/phone?number={{number}}
Что это дает? Теперь любой номер, который введет пользователь, автоматически подставится в этот URL, и API проверит именно его!

5. Проверка валидации

Давайте протестируем валидацию. Перезапустите бота в Telegram командой /start.
Появится сообщение с просьбой ввести номер. Попробуйте написать что-то неправильное, например: «мой номер» или «123».
Бот не пропустит вас дальше! Появится сообщение об ошибке: «Пожалуйста, введите номер телефона по указанному формату».
Теперь введите номер правильно: +79991234567.
Бот примет данные и выдаст информацию об операторе. Валидация работает!

6. Добавление информации о регионе

Давайте расширим функционал и добавим еще одно поле — регион регистрации номера.
Вернитесь к настройкам блока HTTP-запрос. В разделе «Записать ответ JSON в переменную» добавьте еще одну переменную:
Путь — укажите region (или как называется это поле в JSON-ответе).
Имя переменной — назовите «регион».
Теперь откройте блок вывода результата (последняя цепочка сообщений). Добавьте в текст:
«Ответ по вашему номеру телефона.
Оператор: {{оператор}}
Регион: {{регион}}»
Не забудьте вставить переменную через кнопку «Переменная», чтобы не ошибиться с форматом!

7. Зацикливание сценария

Сейчас после проверки одного номера бот останавливается. Чтобы проверить другой номер, нужно перезапускать бота. Давайте это исправим!
В блоке с выводом результата добавьте кнопку с текстом «Вернуться в начало».
Зайдите в настройки клавиатуры и перетащите кнопку снизу наверх, чтобы она стала inline (отображалась под сообщением). Обязательно сохраните настройки.
Теперь проведите связь от кнопки «Вернуться в начало» к блоку запроса номера телефона (не к стартовому блоку, а к тому, где пользователь вводит номер!).
Получается замкнутый цикл: проверили один номер → нажали «Вернуться в начало» → ввели другой номер → проверили → и так бесконечно.

8. Финальное тестирование

Не забудьте отключить «Выводить тело ответа в чат» в блоке HTTP-запрос, если вы включали её для отладки!
Перейдите в Telegram и перезапустите бота. Введите номер телефона.
Должно прийти сообщение вроде:
«Ответ по вашему номеру телефона.
Оператор: МТС
Регион: Московская область»
Нажмите «Вернуться в начало». Введите другой номер — бот снова проверит его и выдаст результат.
Отлично! Бот полностью функционален и может проверять бесконечное количество номеров.

Дополнительные возможности API

Обратите внимание на интересную деталь: в JSON-ответе иногда появляется поле «old_operator» (старый оператор).
Это поле появляется, если номер переносили от одного оператора к другому. Например, номер был зарегистрирован в МТС, потом владелец перенес его в Билайн, сохранив номер.
В таком случае:
  • operator — текущий оператор (Билайн)
  • old_operator — предыдущий оператор (МТС)
Можете добавить еще одну переменную для отображения старого оператора, если это важно для вашей задачи!

Другие идеи использования метода GET

Проверка номеров телефонов — это только один пример. Метод GET открывает огромные возможности для интеграций!

Конвертер валют

Подключитесь к API обмена валют и создайте бота, который показывает актуальный курс. Пользователь вводит сумму, выбирает валюты — бот моментально конвертирует по текущему курсу.
Можно проверять:
  • Сколько стоит 1000 рублей в долларах
  • Текущий курс евро
  • Динамику изменения курса за день

Прогноз погоды

Интегрируйте API погоды (Yandex Weather). Пользователь вводит город — бот показывает:
  • Текущую температуру
  • Прогноз на неделю
  • Влажность, давление, ветер
  • Вероятность осадков

Генератор случайного контента

Есть множество бесплатных API, которые генерируют:
  • Случайные шутки
  • Мотивационные цитаты
  • Факты о животных
  • Рецепты блюд
  • Советы дня
Пользователь нажимает кнопку — получает случайный контент. Идеально для развлекательных ботов!

Проверка доменов

API проверки доменов покажет:
  • Свободен ли домен для регистрации
  • Кому принадлежит домен (WHOIS)
  • Когда истекает регистрация

Курсы криптовалют

Подключитесь к API криптобирж и показывайте:
  • Актуальную цену Bitcoin, Ethereum
  • Изменение за 24 часа
  • Графики и тренды

Информация о фильмах

API вроде OMDB или TMDB предоставляют данные о фильмах:
  • Рейтинги
  • Описание сюжета
  • Актерский состав
  • Даты выхода

Типы API-сервисов

При работе с методом GET вы столкнетесь с разными типами сервисов.

Полностью бесплатные без регистрации

Как сервис проверки номеров из нашего примера. Это самый простой вариант:
  • Не нужна регистрация
  • Не требуется API-ключ
  • Просто делаете запрос и получаете ответ
Минус: обычно есть ограничения на количество запросов (например, 100 в день).

Бесплатные с регистрацией

Многие сервисы требуют:
  1. Зарегистрироваться на сайте
  2. Получить персональный API-ключ
  3. Добавить этот ключ в URL запроса
Выглядит это так: https://api.example.com/data?key=YOUR_API_KEY
Преимущество: обычно выше лимиты запросов. Например, 1000 запросов в день вместо 100.

Платные сервисы

Профессиональные API часто требуют оплаты:
  • Месячная подписка
  • Оплата за каждый запрос
  • Комбинированные тарифы
Зато предоставляют:
  • Неограниченные запросы
  • Расширенные данные
  • Техническую поддержку
  • Гарантированную стабильность
Выбирайте тип сервиса в зависимости от масштаба проекта и бюджета.

Практические советы по работе с GET

Давайте обсудим важные нюансы, которые помогут избежать типичных ошибок.

Проверяйте документацию

У каждого API есть документация. Всегда изучайте её перед интеграцией:
  • Какие параметры нужны в запросе
  • В каком формате приходит ответ
  • Есть ли ограничения на количество запросов
  • Нужна ли авторизация
Пять минут на изучение документации сэкономят часы на отладку!

Тестируйте запросы отдельно

Перед добавлением в бота проверьте API через браузер или инструменты вроде Postman:
  1. Вставьте URL в адресную строку браузера
  2. Посмотрите, какой приходит ответ
  3. Убедитесь, что данные корректны
Только после этого интегрируйте в бота.

Обрабатывайте ошибки

API может быть временно недоступен или вернуть ошибку. Добавьте блок с условием:
  • Если запрос успешен → показываем результат
  • Если ошибка → сообщаем пользователю: «Сервис временно недоступен, попробуйте позже»

Кешируйте данные

Если данные обновляются редко (например, курс валют раз в час), нет смысла делать запрос при каждом обращении пользователя. Сохраняйте результат в переменную и обновляйте раз в час.
Это экономит лимиты запросов и ускоряет работу бота.

Уважайте лимиты

У бесплатных API обычно есть ограничения:
  • 100 запросов в день
  • 10 запросов в минуту
  • 1000 запросов в месяц
Следите за статистикой использования. Если приближаетесь к лимиту, либо оптимизируйте запросы, либо переходите на платный тариф.

Защищайте API-ключи

Если сервис выдал вам персональный API-ключ:
  • Не публикуйте его в открытом доступе
  • Не показывайте в скриншотах и видео
  • Периодически обновляйте для безопасности
При компрометации ключа злоумышленники могут использовать ваш лимит запросов.

Сравнение GET и POST

Теперь, когда вы изучили оба метода, давайте сравним их применение.
GET используйте когда:
  • Нужно получить данные (курсы, погода, информация)
  • Запрос не изменяет состояние сервера
  • Параметры простые и помещаются в URL
  • Результат можно кешировать
POST используйте когда:
  • Нужно отправить данные (форма, файл, заявка)
  • Запрос изменяет данные на сервере (создание, обновление)
  • Данные большие или конфиденциальные
  • Передаете сложные структуры (JSON, XML)
В большинстве ботов вы будете использовать оба метода в разных частях сценария!

Что мы создали

Давайте подведем итог. Вы создали функционального чат-бота, который:
  • Запрашивает номер телефона у пользователя
  • Проверяет корректность ввода через валидацию
  • Отправляет GET-запрос к внешнему API
  • Получает данные об операторе и регионе
  • Извлекает нужную информацию из JSON-ответа
  • Выводит результат в читаемом виде
  • Позволяет проверять неограниченное количество номеров
Всё это без единой строчки кода! Вы использовали только визуальный конструктор и базовые принципы работы с API.
Самое важное — вы освоили метод GET, который открывает доступ к тысячам бесплатных API-сервисов. Теперь вы можете интегрировать в своих ботов данные о погоде, валюте, новостях, статистике и многом другом.
Комбинируя GET (получение данных) и POST (отправка данных) из первой части, вы можете создавать по-настоящему мощные решения с глубокими интеграциями!
Экспериментируйте с разными API, изучайте их документацию и создавайте полезных ботов для себя и своих клиентов. Удачи в разработке! 🚀

Полезные ссылки

Бесплатная регистрация на платформе Watbot для создания чат-ботов:
Watbot — визуальный конструктор чат-ботов Визуальный конструктор чат-ботов для Вашего бизнеса. Подойдёт для любой ниши. Соберите готовое решение чат-бота за 10 минут! 300 видеоуроков внутри платформы. Больше 100 шаблонов чат-ботов. Легко научиться собирать. Усиливает продажи и автоматизацию. watbot.ru
Видео-инструкция HTTP-ЗАПРОСЫ: МЕТОД GET:
HTTP GET ДЛЯ НАЧИНАЮЩИХ БЕЗ ПРОГРАММИРОВАНИЯ Продолжаем изучать блок с HTTP-запросом. В этом видео разбираем метод GET, объясняем разницу методов, а также собираем бота без навыков программирования! Пош... www.youtube.com