# HTTP-запрос

## Интеграция чат-бота с внешними сервисами с использованием API

Укажите ваш URL, тип запроса и заголовки для обработки запроса.

Поддерживаются методы GET, POST, PUT, DELETE и PATCH.

<figure><img src="/files/tzNJTI5PWIA8tQ6gw6ZK" alt="http в боте"><figcaption><p>Блок "HTTP-запрос" в сценарии</p></figcaption></figure>

При использовании метода POST дополнительно появляется возможность передать body в запросе.

## Запрос

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

<figure><img src="/files/JKDbdQuuyEJzrJVJ7DS1" alt="интеграции бот"><figcaption><p>Отправка данных контакта в запросе</p></figcaption></figure>

#### Пример запроса:

```javascript
{
    "variables": [
        {
            "name": "Город",
            "value": "Москва"
        }
    ],
    "contact": {
        "name": "Дмитрий",
        "messenger": "whatsapp",
        "phone": "79999999999"
    }
}
```

{% hint style="warning" %}
**Время ожидания соединения:** 3 секунды
{% endhint %}

## Отправка файла

Для отправки файла выберете метод POST.&#x20;

В разделе body выберете режим multipart/form-data и нажмите на кнопку "Добавить файл".

Выберете способ добавления файла:

* "Загрузить файл" — выберите файл на вашем устройстве. Файл будет загружен сразу и будет отправляться при каждой обработке данного HTTP-запроса.
* "Указать ссылку" — заполните key и url (в поле url можно указать ссылку на файл текстом или использовать локальную/глобальную переменную, которая содержит ссылку). Файл по ссылке будет загружаться в начале обработки блока HTTP-запроса и отправлен вместе с самим запросом.

{% hint style="warning" %}
Максимально допустимый размер передаваемого файла — 100 Мб.
{% endhint %}

<figure><img src="/files/LeT8FNGg9Xt6HQCFHEUQ" alt="интеграция бот" width="375"><figcaption><p>Добавление файла в настройках блока HTTP-запрос</p></figcaption></figure>

При выборе способа "**Указать ссылку**" можно указать переменную, в которую раннее в сценарии пользователем чат-бота был загружен файл. Файл из этой переменной будет передан в бинарном формате.

{% hint style="danger" %}
Ссылку из переменной с файлом предварительно нужно декодировать. Для этого в отдельном http-блоке выполните запрос — [Получить ссылку на медиафайл](https://docs.leadteh.ru/leadtex-api/rabota-s-api/dopolnitelnye-metody/ssylki-na-mediafaily)
{% endhint %}

<figure><img src="/files/BLMuJAxsgqsrlpLBF1jo" alt="отправка файлов бот" width="375"><figcaption><p>Загрузка файла по ссылке</p></figcaption></figure>

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

{% hint style="info" %}
Отправка бинарных файлов используется, например, при передаче файлов в нейросеть для последующей обработки. &#x20;

При **интеграции с нейросетями** часто используется двухстадийный запрос (например, Gemini и Chat GPT): после первого запроса вы получаете file\_id, а затем отправляете этот file\_id с промптом.

Пример настройки http-блока для интеграции с Gemini.

![интеграция с gemini](/files/OssBkfMV8YAFKAUnehT9)
{% endhint %}

## Ответ

В случае успеха, сервер должен ответить кодом `200`, а тело должно содержать текст для пользователя.

Текст должен быть форматирован под стандарты WhatsApp. Форматирование под другие мессенджеры происходит автоматически на нашем сервере.

В случае ошибки (например валидации), вы можете сообщить пользователю об этом. Для этого сервер должен ответить кодом `422`, а тело должно содержать сообщение для пользователя.

Для записи кода ответа включите позицию **"Записать код ответа в переменную"**.

Добавили возможность **выводить тело ответа в чат** для дальнейшей работы с полученным ответом.

<figure><img src="/files/iAjyxBxnuklQJMxbf3s7" alt="отладка интеграции"><figcaption><p>Вывод тела ответа в чат</p></figcaption></figure>

{% hint style="warning" %}
**Время получения ответа можно регулировать** от 5 до 60 секунд
{% endhint %}

<figure><img src="/files/z578DR2GjxTi1cciv8ch" alt="интеграция бот"><figcaption><p>Timeout для получения ответа</p></figcaption></figure>

**Записать ответ json в переменные** позволяет записывать полученный ответ от сервера в переменные для дальнейшей работы с ними.

<figure><img src="/files/0N08xFXAeBvGxAIpKOR6" alt="интеграция бот"><figcaption><p>Запись ответа в json переменные</p></figcaption></figure>

#### Интеграция с Telegram API в чат-боте

Практическое руководство по настройке HTTP блоков для работы с Telegram API.

{% tabs %}
{% tab title="ВКонтакте" %}
{% embed url="<https://vk.com/video-38689596_456239959>" %}
HTTP запрос и API Telegram
{% endembed %}
{% endtab %}

{% tab title="YouTube" %}
{% embed url="<https://youtu.be/sj2hIEcRG3A>" %}
HTTP запрос и API Telegram
{% endembed %}
{% endtab %}
{% endtabs %}

Так же блок позволяет проводить **обработку ответа с помощью JavaScript** и дает возможность "дописать" свой скрипт для расширения функционала вашего бота.

<figure><img src="/files/vphSat96UK7iQsqa88V6" alt="внешние интеграции с ботом"><figcaption><p>Обработка ответа с помощью JavaScript в HTTP-блоке</p></figcaption></figure>

#### Создание умного бота с использованием JavaScript и HTTP запросов

Комплексный кейс разработки бота для фильтрации фильмов с использованием JavaScript логики и HTTP интеграций.

{% tabs %}
{% tab title="ВКонтакте" %}
{% embed url="<https://vk.com/video-38689596_456239930>" %}
Поиск фильмов в Телеграм боте
{% endembed %}
{% endtab %}

{% tab title="YouTube" %}
{% embed url="<https://youtu.be/1sx2QvRZhH8>" %}
Поиск фильмов в Телеграм боте
{% endembed %}
{% endtab %}
{% endtabs %}

#### HR автоматизация: подключение Avito API для поиска персонала

Видео с разбором интеграции Avito API в чат-бот для автоматизации HR-процессов. Узнайте, как создать систему поиска и отбора кандидатов через популярную площадку объявлений.

{% tabs %}
{% tab title="ВКонтакте" %}
{% embed url="<https://vkvideo.ru/video-38689596_456240245>" %}
Парсинг резюме с Avito в Телеграм
{% endembed %}
{% endtab %}

{% tab title="YouTube" %}
{% embed url="<https://youtu.be/iz1bl_Vhqj0?si=glScXdhmjjq-nuFW>" %}
Парсинг резюме с Avito в Телеграм
{% endembed %}
{% endtab %}
{% endtabs %}

Готовый шаблон для внедрения проекта "Интеграция Авито и Телеграм бота | Парсинг резюме для HR" в один клик:&#x20;

{% embed url="<https://app.leadteh.ru/templates/65/bots/672483?utm_source=bz&utm_medium=templates>" %}

#### Telegram Gift: выдача подарков в Телеграм боте

Пошаговое руководство по подключению Telegram API для выдачи подарков в боте.

{% tabs %}
{% tab title="ВКонтакте" %}
{% embed url="<https://vkvideo.ru/video-38689596_456240326>" %}
Отправка подарков в Телеграм боте
{% endembed %}
{% endtab %}

{% tab title="YouTube" %}
{% embed url="<https://youtu.be/-4PIwB3w5rQ?si=pF4BHMvbjk58jEjS>" %}
Отправка подарков в Телеграм боте
{% endembed %}
{% endtab %}
{% endtabs %}

Готовый шаблон для внедрения проекта "ВСЁ, что нужно знать о ПОДАРКАХ в Telegram за 15 МИНУТ" в один клик:&#x20;

{% embed url="<https://app.leadteh.ru/templates/86/bots/754834?utm_source=bz&utm_medium=templates>" %}

{% content-ref url="/pages/oVey4f8eA3aG1EwX7ysI" %}
[Примеры интеграций](/baza-znanij-leadtex/bloki/specialnye/http-zapros/primery-integracii.md)
{% endcontent-ref %}

**Серия уроков с интеграцией нейросетей в чат-боты:**&#x20;

{% embed url="<https://help.leadteh.ru/baza-znanij-leadtex/bystryi-start/keisy-na-praktike/boty-s-ii>" %}

> Бонус для новых пользователей и возможность получить 500 рублей баллами в\
> подарок 🎁
>
> \
> \- Регистрируйтесь на LEADTEX\
> \- Создавайте и тестируйте первый проект\
> \- Не пропускайте специальный оффер.\
> [**Получить подарок 👈**](https://leadteh.ru/?utm_source=bz)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://leadtex-help.gitbook.io/baza-znanij-leadtex/bloki/integracii/http-zapros.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
