LogoLogo
  • Smartbot Pro
  • Мини-курс
    • Регистрация и личный кабинет
    • Начальные инструменты сценариев
    • Создание первого сценария
    • Пользователи и сбор информации
    • Заявки, переменные и менеджеры
    • Проверка данных
    • Сбор заявок на вебинар внутри Телеграма
    • Тестирование неопубликованных сценариев
    • Рассылки
    • Шаблон «Тест с набором баллов»
    • Статистика
    • Лайфхаки интерфейса
  • Техподдержка
  • Рецепты
    • Игра в комментариях
    • Бот для ответов на частые вопросы
    • Как получить телефон пользователя
    • Выдача лид-магнита за подписку
    • Тест с набором баллов
    • Как принимать платежи в боте
    • Как собирать заявки через бота
    • Как отправлять заявки в групповой чат
    • Как переслать ссылку на чат с конкретным пользователем
    • Как проверять, сколько людей перешло по реферальным меткам
    • Антиспам с удалением пользователя из группового чата
  • Начало работы
    • Коротко о главном
    • Регистрация в сервисе
    • Подробнее о сценариях
    • Как подключить мессенджер
      • Подключение Telegram
        • 🆕Подключение Telegram Business
      • Подключение ВК
        • Подключение комментариев
      • Подключение Viber
      • Подключение Wazzup
        • Подключение других каналов через Wazzup
        • Привязка аккаунта Wazzup
      • Подключение Jivo
        • Подключение других каналов через Jivo
        • Привязка аккаунта Jivo
        • Особенности в работе с Jivo
      • Подключение канала к сценарию
      • Привязка аккаунта социальной сети
      • Подключение бота в каналы и групповые чаты
        • Добавление бота в групповой чат в Telegram
        • Добавление бота в канал Telegram
        • Добавление бота в групповой чат в ВК
    • Добавление менеджеров
  • Сценарии
    • Основы
      • Создание сценария
      • Шаблоны сценариев
        • Личные шаблоны
        • Шаблон Тайного Санты
      • Интерфейс редактора
      • Публикация сценария
      • Тестирование сценария
      • Как выбирается сценарий
    • События сценария
      • Сообщение от пользователя
      • Новый комментарий
      • Нет подходящего сценария
      • Первое сообщение
      • События ВКонтакте
      • Webhook
      • Фильтр предобработки
        • Настройка фильтра для нежелательных пользователей
    • Действия
      • Отправить сообщение
        • Кнопки
      • Обработать сообщение
        • Сохранение плавающего числа вложений
      • Извлечь данные
      • Сменить контекст
      • Записать в статистику
      • Отправить уведомление
      • Переход в другой сценарий
      • Работа с пользователем
      • Таймер
      • Перевод на оператора
      • Установить переменную
      • Выполнить SmartQuery
      • Бросить кубик
      • Удалить пользователя из чата
    • Условия
      • Условие
      • Условие с вариантами
      • Рандом
      • Проверка подписки
    • Переменные
      • Специальные переменные
      • Пользовательские переменные
      • Глобальные переменные
      • Временные переменные
      • Переменная %ref%
        • Как проверять, сколько людей перешло по реферальным меткам
      • Переменная “Вложение”
      • Где сработал бот — %realm%
    • Прием оплаты
      • Подключение платежной системы
      • ЮKassa для приема платежей
      • Прием оплаты через Тинькофф
      • 🆕Прием оплаты с помощью Telegram Stars
    • Меню для Telegram бота
    • Интеграции
      • Google-таблицы
        • Как собирать данные пользователей в таблицу
      • HTTP-запросы
      • amoCRM
        • Блок "Создать сделку"
        • Блок "Изменить сделку"
        • Переменные для работы с amoCRM
        • 🆕Редактирование сделки, созданной через Wazzup24
      • Get Course
  • Инструменты
    • Smartbot AI
      • Блок "Ответ Chat GPT"
      • 🆕Рецепты с AI ботом
        • Настройка шаблона "Консультация через Smartbot AI"
        • ИИ-лидогенератор
      • Режим "Проконсультировать"
      • Режим "Получить телефон"
    • Рассылки
    • Магазины в Telegram
      • Создание каталога
      • Импорт товаров из Excel-файла
      • Магазин с модификациями
    • Статистика
    • Пользователи
    • Чаты
  • Настройки
    • Проекты
    • Кабинеты
      • Выход из аккаунта и удаление кабинета
  • SmartQuery
    • Введение
    • Синтаксис языка
    • Справочник функций
    • Работа с датами
    • Рецепты и примеры
  • Nocode Cloud
    • Коротко о главном
      • Как подключить Nocode инструмент
    • n8n
      • Блоки в n8n (узлы/ноды)
      • Триггеры в n8n
      • Режимы работы
  • Документы
    • Политика конфиденциальности
    • Пользовательское соглашение
    • Договор публичной оферты
      • Редакция №7 от 17 декабря 2024г
      • Редакция №6 от 7 августа 2024г
      • Редакция №5 от 19 января 2024г
      • Редакция №4 от 31 января 2023г
      • Редакция №3 от 13 декабря 2022г
      • Редакция №2 от 2 ноября 2022 г
      • Редакция №1 от 15 февраля 2022 г
    • Договор публичной оферты для партнеров
    • Подписка и тарифы
      • Как активировать подписку на сервис
      • Тарифы и цены
Powered by GitBook
On this page
  • Примеры использования
  • Как создавать HTTP-запросы
  • Краткая справка по полям блока
  • Справка по методам
  • Функция to_json
  1. Сценарии
  2. Интеграции

HTTP-запросы

PreviousКак собирать данные пользователей в таблицуNextamoCRM

Last updated 5 months ago

Интеграция "HTTP-запрос" позволяет отправлять произвольные HTTP-запросы на сторонние сервера. Это позволяет интегрировать Smartbot с вашим сайтом, CRM или интернет-магазином.

Примеры использования

  • Получение информации:

    • Чат-бот может отправлять запросы на внешние API (интерфейсы программирования приложений), чтобы получить актуальную информацию. Например, бот может запрашивать погоду, курсы валют или данные о товарах из интернет-магазина.

  • Отправка данных:

    • Если пользователь вводит данные (например, заполняет форму или оформляет заказ), бот может отправить эти данные на сервер для обработки. Это может быть полезно, например, для регистрации пользователей или оформления заказов.

  • Интеграция с другими сервисами:

    • HTTP-запросы позволяют вашему боту взаимодействовать с различными внешними сервисами, такими как CRM-системы, базы данных или платежные системы. Это расширяет функциональность бота и позволяет ему выполнять более сложные задачи.

Как создавать HTTP-запросы

Чтобы настроить HTTP-запрос, создадим соответствующий блок на экране сценария. Сделать это можно через правое дополнительное меню (раздел "Интеграции"), или щелчком правой кнопкой мыши на свободном участке.

Выбор блока из панели слева (на широких экранах - сверху)
При нажатии правой кнопкой мыши на свободном участке конструктора

Новый блок появится на экране, и справа автоматически откроется его меню.

Если вы интегрируетесь с существующим сервисом, то всю необходимую информацию для настройки этого шага вы можете найти в официальной документации к API этого сервиса, либо свяжитесь с разработчиками вашего сайта.

Краткая справка по полям блока

  • Тип запроса (http-метод): GET/POST/...

  • URL-адрес: страница (endpoint), к которой должен обратиться Smartbot, тут же можно указать query-параметры запроса, например: https://some.site/some_endpoint?key1=value1&key2=value2

  • Тело запроса: полезная нагрузка, может быть задана в трёх разных форматах:

    • Форма: тело запроса представляет собой форму (список пар ключ-значение), запрос будет отправляться с заголовком Content-Type: application/x-www-form-urlencoded (если явно не задано другое значение этого заголовка)

    • Content-Type: application/json(если явно не задано другое значение этого заголовка)

    • Текст: данные отправляются as-is, никаких дополнительных заголовков не добавляется

  • Заголовки: дополнительная информация, например, авторизационные данные: Authorization: Bearer [token]

Ниже, после настройки параметров запроса, задаются переменные, в которые будет сохранён ответ сервера:

  • Тело ответа: данные, которые прислал сервер в ответ. Если Content-Type равенapplication/json, то типом этой переменной будет Словарь, иначе Строка

  • Статус ответа: число, например 200, 400 или 500 вы можете проверять статус ответа, чтобы узнать завершился ли запрос успешно

  • Заголовки ответа: сервер также может прислать какую-то дополнительную информацию в виде заголовков, они сохранятся в переменную типа Словарь

Справка по методам

Метод GET

Описание:

Метод GET используется для получения данных с сервера. Запросы, отправленные с помощью GET, обычно не изменяют состояние сервера и могут быть кэшированы.

Применение:

  • Получение информации о пользователе или чате.

  • Запрос данных для отображения в интерфейсе бота.

  • Пример использования: запрос на получение информации о пользователе через API Telegram.

Синтаксис:

Параметры передаются в строке URL, например:

https://api.telegram.org/bot><token>/getMe

Метод POST

Описание:

Метод POST предназначен для отправки данных на сервер, что может приводить к созданию или изменению ресурсов. Этот метод часто используется для отправки форм или создания новых объектов.

Применение:

  • Отправка сообщений от бота пользователю.

  • Создание новых записей или заказов.

  • Пример использования: отправка сообщения через API Telegram.

Синтаксис:

Параметры передаются в теле запроса в формате JSON:

{
  "chat_id": "<chat_id>",
  "text": "Привет из бота!"
}

Метод PATCH (аналог PUT)

Описание:

Метод PATCH используется для частичного обновления существующих ресурсов. Он позволяет изменить только те поля, которые необходимо обновить, а не пересоздавать весь объект.

Применение:

  • Обновление информации о пользователе или настройках бота.

  • Изменение статуса заказа или заявки.

  • Пример использования: изменение текста сообщения или его атрибутов.

Синтаксис:

Параметры также передаются в теле запроса:

{
  "text": "Обновленный текст сообщения"
}

Метод DELETE

Описание:

Метод DELETE используется для удаления ресурса на сервере. Когда клиент отправляет DELETE-запрос, он сообщает серверу, что хочет удалить определенный ресурс, например, запись в базе данных или файл.

Применение:

Метод DELETE часто используется в следующих сценариях:

  • Удаление пользователя из системы.

  • Удаление сообщения в чате.

  • Удаление товара из корзины покупок.

Синтаксис:

Адрес DELETE-запроса может выглядеть следующим образом:

https://api.example.com/products/21 # 21 - id продукта, который удалить

Функция to_json

Бывают случаи, когда при формировании тела запроса встречаются проблемы.

Cannot convert request body body="{'a':'b'}" to JSON.

Это происходит чаще всего, когда тело запроса достаточно сложное, имеет сложные и/или вложенные структуры, например:

{
	"user_id": %user_id%,
	"products": %products% # массив продуктов, где каждый продукт - словарь
	"extra": {
		"email": "www.example@mail.com",
		"phone": "+79998887766",
		"social": [
			"telegram": "@another_user",
			"facebook": "facebook.com/another_user"
		]
	}
}

Чтобы проблем не возникало, можно использовать вариант передачи тела запроса при помощи функции to_json.

Для этого нужно:

  1. Создать блоки “Выполнить SmartQuery” и “Отправить HTTP-запрос”

  1. В блоке “Выполнить SmartQuery” записать все тело запроса в переменную (например, %request_body%). Она может быть как временной, так и пользовательской/глобальной.

  1. В блоке “Отправить HTTP-запрос” выбрать тип тела запроса “Текст” и в теле написать выражение SmartQuery (обязательно в двойных фигурных скобках):

# В нашем примере, %переменная% - %request_body%, вы можете называть ее как вам угодно
{{ %переменная% | to_json }}
  1. В блоке “Отправить HTTP-запрос” переключиться на “Заголовки” и добавить заголовок “Content-Type” со значением “application/json” (это нужно, чтобы сервер понимал, что бот отправляет HTTP-запрос с телом в формате JSON):

Желаем вам удачи в создании мощных и многофункциональных чат-ботов с помощью HTTP-запросов!

JSON: тело запроса является . Запрос будет отправляться с заголовком

JSON-документом
Меню блока