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

## Постановка задачи

Предположим у вас есть свой сайт/CRM/интернет-магазин/сервис по адресу, например, <https://test.smartbot-vk.ru>, и вы хотите отправлять на него запросы с информацией о заказах ваших клиентов.

Предположим, что у этого сайта есть страница **/add\_entry**, и отправка формы на этот адрес приводит к сохранению информации о заказе пользователя.

{% hint style="info" %}
Для вашего удобства [в конце этой статьи](/moduli/http-requests/primer-ispolzovaniya.md#primer-koda-servera-prinimayushego-zaprosy-iz-etoi-stati) приведён пример кода такой страницы.
{% endhint %}

## Реализация

### Настройка модуля

Для начала необходимо подключить и настроить модуль «HTTP-запросы».

Включим модуль и добавим наш домен.

{% hint style="info" %}
**Домен** — это адрес вашего сайта без префикса https\:// и без адреса конкретной страницы.
{% endhint %}

![](/files/-M9-JhvlnB_xccnS6MGP)

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

После успешного подтверждения вы должны видеть примерно следующее:

![](/files/-M9-TSR6wlkFGAeN5BKS)

Настройка модуля завершена, теперь можно добавить шаг HTTP-запрос в нужную вам цепочку.

## Добавление шага

Создадим цепочку «Добавить заказ».

![](/files/-M9-UfUMGCHp5fBdwML9)

Добавим в неё шаг «HTTP-запрос»:

![](/files/-M9-UpPsVmKzq9JhTtU1)

Нужно выбрать тип запроса: **GET** или **POST** и указать полный URL-адрес страницы, куда нужно отправить запрос.

Так как мы хотим передать какие-то данные в запросе, указываем их на вкладке «Тело запроса». Для примера мы будет передавать 2 параметра: **name** — имя заказчика, и **order** — содержимое заказа. Вы можете отправлять любые данные с любой удобной вам структурой. Кроме форм можно также передавать JSON и простой текст, а также указывать заголовки, например, для авторизации. Везде можно использовать переменные и SQ: в URL, в именах и значениях параметров и заголовков.

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

## Проверяем интеграцию

![](/files/-M9-Wnq808PCy3Q1AjzR)

В случае если что-то пошло не так, включите «Режим отладки» в разделе «Настройки»: бот будет подробно показывать ход обработки запроса.

## Пример кода сервера, принимающего запросы из этой статьи

Этот код приведён для примера и полноты статьи. В реальности вы будете взаимодействовать либо уже с существующим API, либо его реализуют ваши разработчики.

```python
# language: Python 3.6+
# deps: pip install aiohttp

from aiohttp import web

async def add_entry(req: web.Request):
    req_data = await req.post()
    name = req_data.get('name', 'аноним')
    order = req_data.get('order', '')
    print(f'Новый заказ от пользователя {name}')
    return web.Response(text=f'Привет, {name}, ваш заказ: {order}!')

app = web.Application()
app.add_routes([web.post('/add_entry', add_entry)])

if __name__ == '__main__':
    web.run_app(app, port=8080, host='0.0.0.0')
```


---

# 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/moduli/http-requests/primer-ispolzovaniya.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.
