# HTTP-запрос

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

В данной статье мы подробно рассмотрим сам шаг, а [пример использования](/moduli/http-requests/primer-ispolzovaniya.md) и про настройку модуля HTTP-запросы можно почитать [тут](/moduli/http-requests.md).

Обратите внимание, что для того, чтобы отправлять запросы на какой-либо сайт, нужно [подтвердить, что вы являетесь его владельцем](/moduli/http-requests/sposoby-podtverzhdeniya-vladeniya-domenom.md).

![Интерфейс шага](/files/-M9-Y5dGg9ov-GY_x9kd)

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

Краткая справка по полям шага:

* Тип запроса: GET/POST/...
* URL-адрес: страница (endpoint), к которой должен обратиться Smartbot, тут же можно указать query-параметры запроса, например:\
  <https://some.site/some\\_endpoint?key1=value1\\&key2=value2>
* Тело запроса: полезная нагрузка, может быть задана в трёх разных форматах:
  * Форма: тело запроса представляет собой форму (список пар ключ-значение), запрос будет отправляться с заголовком\
    `Content-Type: application/x-www-form-urlencoded` (если явно не задано другое значение этого заголовка)
  * JSON: тело запроса является [JSON-документом](https://developer.mozilla.org/ru/docs/Learn/JavaScript/Объекты/JSON). Запрос будет отправляться с заголовком&#x20;

    `Content-Type: application/json`(если явно не задано другое значение этого заголовка)
  * Текст: данные отправляются as-is, никаких дополнительных заголовков не добавляется
* Заголовки: дополнительная информация, например, авторизационные данные: `Authorization: Bearer [token]`

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

* Тело ответа: данные, которые прислал сервер в ответ. Если `Content-Type` равен`application/json`, то типом этой переменной будет Словарь, иначе Строка
* Статус ответа: число, например 200, 400 или 500\
  вы можете проверять статус ответа, чтобы узнать завершился ли запрос успешно
* Заголовки ответа: сервер также может прислать какую-то дополнительную информацию в виде заголовков, они сохранятся в переменную типа Словарь

По умолчанию все эти данные сохраняются во [временные переменные](/sozdanie-scenariev/peremennye/vremennye-peremennye.md): %body%, %status% и %headers% соответственно.

Пример использования этого шага можно посмотреть тут: [Пример использования](/moduli/http-requests/primer-ispolzovaniya.md).


---

# 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://docs.smartbot-vk.ru/sozdanie-scenariev/shagi/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.
