> For the complete documentation index, see [llms.txt](https://multyai.gitbook.io/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://multyai.gitbook.io/home/docs/automation/graph/block/action/otpravit-zapros-na-vneshnii-sait.md).

# Отправить запрос на внешний сайт

Действие позволяет отправить запрос на внешний сайт, например, по API. \
Например с помощью этого действия:<br>

* Развлечь пользователей в чате  шуткой
* Выдать мудрую мысль / гороскоп / анекдот в чате
* Если вы технарь, то можете интегрировать Multy.AI через запросы прямо сейчас, не дожидаясь пока неободимых функционал будет добавлен. Например, необходимую платежную систему.\
  \
  Примеры таких интеграций вы можете увидеть в инструкциях:
* [Бот-цитатник](https://help.multy.ai/home/education/geimifikaciya/bot-citatnik)
* [Гороскоп ](https://help.multy.ai/home/education/geimifikaciya/goroskop)

Рассмотрим действие подробнее:<br>

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2F8I51vPgkLZz1DaR14JVL%2Fimage.png?alt=media&amp;token=d59bf0a5-0748-4a5b-a0f2-02e868314cdf" alt=""><figcaption><p>Пример действия</p></figcaption></figure>

На самом деле тут все просто:

* **URL адрес -** адрес на который необходимо отправлять запрос. Это может быть сайт с цитатами, шутками, гороскопом, прогнозом погоды или даже платежной системы. Для проверки корректности данных можете использовать сайт: [**https://httpbin.org/anything**](https://httpbin.org/anything)\
  **И отправлять запросы на него.**&#x20;

Метод отправки:

* **GET -** данные будут отправлены методом GET. Т.е. как будто пользователь открыл страницу в браузере.

* **JSON POST -** данные будут отправлены методом POST в виде JSON-объекта. Например, вы отправляете параметры: `user=Vasya&age=28`, то они будут переданы  сайту в таком формате:\
  `{"user": "Vasya", "age": 28}`<br>

* **FORM POST -** данные будут отправлены методом POST. Будто пользователь заполнил форму на вашем сайте. В большинстве случаев для отправки данных достаточно использовать **FORM POST** или **JSON POST** (если вам необходимо передавать данные в JSON).

* **PHP POST -** данные будут отправлены методом POST. Моэнь быть использовано для совместимости со старыми сайтами, написанными на PHP.

* **PUT -** данный метод позволяет частично изменять в запросе данные по API.&#x20;

* **PATCH -** данный метод позволяет редактировать в запросе данные по API.&#x20;

* **DELETE -**  данный метод позволяет удалять данные по API.&#x20;

Формат результата:

* **Текст** - данные с сайта будут переданы в Multy.AI в формате обычного текста.
* **JSON** - данные с сайта будут переданы в Multy.AI в формате [JSON](https://help.multy.ai/home/docs/automation/variables/json-path).
* **Файл** - данные с сайта будут переданы в Multy.AI в формате файла.

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FDB78BkZyRDwxZ9Oq0JcA%2Fimage.png?alt=media&amp;token=96e834c5-1058-4bc5-ba5c-03541d4363ae" alt=""><figcaption><p>Пример запроса</p></figcaption></figure>

**Переключатели:**

* **Добавить заголовки запроса  -** позволяет передавать заголовки для сайта указанного в запросе. Например, для создания заказов в платежной системе.\
  &#x20;Передача заголовков позволяет проверять: не был ли подделан запрос злоумышленником  и действительно ли его создал администратор.  \
  В примере: передан заголовок **Authorization** с значением: *YOUR\_TOKEN* в формате текста. &#x20;
* **Добавить параметры запроса -** позволяет передавать параметры для сайта указанного в запросе. Например, для создания заказов в платежной системе.\
  В примере: передан параметр **user** с заначением: *Vasya* в формате текста.  т.е. передали имя клиента. Аналогично передали возраст age и признак клиента.

**Рассмотрим подробнее:**&#x20;

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FnOyyakF9DBM0uE2p1Tqt%2Fimage.png?alt=media&amp;token=4cb879ab-3a26-4d34-87c5-a37cfb7cb6ca" alt=""><figcaption><p>Пример заголовка/ параматра</p></figcaption></figure>

**Параметр** - название параметра. Тут вводим название параметра, например: *user*

**Текст -** в выпадающем меню выбираем тип параметра: *Текст, число, целое число, True/False, массив и JSON.*

* *Текст* - значение параметра будет передано текстом.
* *Число* -значение параметра будет передано числом.
* *Целое число* -значение параметра будет передано целым числом.
* True /False - параметр будет передан только либо True, либо Fals&#x65;**.**
* *Массив* - значение параметра будет массивом.
* *JSON* - значение параметра будет передано в виде [JSON](https://help.multy.ai/home/docs/automation/variables/json-path).

**Значение** - значение параметр&#x430;**.** Здесь указываем значение. Например, для примера выше Vasya.

**Добавить параметры в JSON формате** - позволяет передавать данные в JSON формате. Пример данных:

{"user":"Vasya","age":28,"is\_client":true}

**Важно!** Для составления JSON рекомендуется использовать специальный сайт. Например, [этот.](https://jsonformatter.org/)\
**Перезаписывать параметры рекурсивно -** рекурсивная перезапись погружается внутрь объектов и дополняет их или переписывает только их части.\
**Сохранять результат в переменную  -** позволяет сохранить результат в переменную для дальнейшей обработки.\
Например, вы получили данные в формате JSON и сохранили результат  в переменную data.\
тогда чтобы достать например имя пользователя достаточно отправить сообщение:\
`{var:data.user}`
