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

Функция ИИ-ассистента, которая отправляет данные из диалога HTTP-запросом в Bitrix24, WhatsApp через wappi.pro, SMS Aero или Google Таблицу.

Данная функция ассистента позволяет отправлять произвольный HTTP запрос (вебхук) и передавать в нем данные.

Что такое Вебхуки простыми словами?

Представьте, что вебхук — это как автоматический "звонок" или уведомление, которое ваш ИИ-ассистент может отправить другому сервису в интернете. Как только в диалоге с пользователем происходит какое-то важное событие (например, пользователь оставил заявку или указал свой номер телефона), ассистент может мгновенно передать эту информацию по указанному вами веб-адресу (URL).

Функция пригодится тем, кто хочет:

  • Передавать информацию во внешние системы (например, в Bitrix24).

  • Передавать данные для отправки SMS-уведомлений клиентам или менеджерам.

  • Отправлять сообщения в мессенджеры (например, WhatsApp, Telegram) через специальные шлюзы или API.

  • Записывать данные в Google Таблицы (помимо стандартной интеграции).

Как работает?

Это универсальный инструмент: вы можете отправлять данные на адреса разрешённых сервисов (список ниже). Главное — правильно настроить логику ассистента (через промт или сценарий), чтобы он понимал, когда и что отправлять.

Важно: По умолчанию ИИ не получает ответ сервера — функция только отправляет данные. Если ответ нужен ИИ для разговора с клиентом (например, статус заявки), прямо напишите в промте: «верни ответ сервера».

Параметры:

  • Метод HTTP-запроса (поле «HTTP метод»). Можно использовать стандартные методы: GET , POST . По умолчанию используется GET . Если писать промт вручную, можно указать и PUT, PATCH или DELETE.

  • Адрес (URL) (поле «URL адрес», обязательное), на который будет отправлен запрос.

  • Заголовки запроса (поле «Заголовки (JSON формат)») в формате JSON.
    Например: {"Content-Type": "application/json", "Authorization": "Bearer token"}
    Используется для передачи дополнительной информации, такой как тип контента или токен авторизации.

  • Тело запроса (поле «Тело запроса (JSON формат)») в формате JSON. Актуально для метода POST, когда нужно отправить данные на сервер.

Если сервис не ответил (нет соединения), avChat через 5 секунд повторит запрос один раз.

Где настроить

  1. Откройте Сообщения → ⤷ ИИ ассистенты, нажмите на название ассистента, вкладка «Функционал».

  2. «Конструктор функций» → «Открыть» → включите «Отправить HTTP запрос».

  3. Заполните «Триггер вызова функции» (по умолчанию: «После получения всех необходимых данных от пользователя»), «HTTP метод», «URL адрес» и при необходимости заголовки и тело запроса.

  4. Нажмите «Применить функции», затем «Сохранить изменения».

В «Дополнительные настройки» добавится блок вида:

Код
После получения всех необходимых данных от пользователя, то вызови функцию "Отправить HTTP запрос" с нужными параметрами:
HTTP метод: POST
URL адрес: https://wappi.pro/api/sync/message/send?profile_id=***
Заголовки (JSON формат): {"Authorization": "***"}
Тело запроса (JSON формат): {"body": "{выжимка заявки}", "recipient": "79990000000"}.

Инструкцию можно написать и вручную, как в примерах ниже, — функция подключится, если в тексте промта есть слова «HTTP запрос» (например, «Метод HTTP запроса»).

Настройка функции «Отправить HTTP запрос на внешний URL» в конструкторе ИИ-ассистента

Пример: Отправка в WhatsApp

Пример простого запроса для отправки сообщения в WhatsApp с использованием сервиса wappi.pro

Код
Представься что ты бот поддержки и что ты передашь запрос коллеге. Спроси у пользователя телефон и удобный способ связи: звонок или WhatsApp ?
После получения номера телефона пользователя и способа связи, отправь всю информацию на номер XXXX:

Метод HTTP запроса: POST
URL (не меняй его): https://wappi.pro/api/sync/message/send?profile_id=***
Заголовки: {
"Authorization": "***",
"Content-Type": "application/json"
}
Тело запроса: {
"body": ЗАЯВКА "{Информация о диалоге}"
"recipient": "XXXX"
}

Таким образом, после получения всех данных от пользователя, они будут подставлены в запрос и он будет вызван!

Пример: Отправка СМС

Пример простого запроса для отправки смс с использованием сервиса https://smsaero.ru/:

Код
Спроси у пользователя его имя, телефон и возраст.
После получения всех данных отправь их:
Метод HTTP запроса: GET
URL (не меняй его): https://_ДОСТУПЫ_К_API_@gate.smsaero.ru/v2/sms/send?number={номер телефона}&text={имя и возраст}&sign=SMS Aero
Заголовки: пустые
Тело запроса: пустое

Таким образом, после получения всех данных от пользователя, они будут подставлены в URL и он будет вызван!

Пример: Добавление записи в Гугл-таблицу

1. Настройка доступа к таблице

Прежде чем отправлять данные в Google Таблицу, нужно разрешить доступ:

  • Откройте нужную таблицу.

  • В правом верхнем углу нажмите на кнопку "Настройки доступа".

  • Установите доступ: "Все, у кого есть ссылка" — это нужно, чтобы скрипт мог отправлять данные без ограничений.

2. Создание скрипта для обработки данных

Теперь нужно добавить код, который будет принимать и обрабатывать данные:

  • В меню таблицы выберите "Расширения" → "Apps Script".

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

Пример функции принимает три параметра:

  • name — строка (имя пользователя),

  • age — строка (возраст пользователя),

  • phone — число (номер телефона).

Код скрипта ниже:

Код
function doGet(request) {
  const {name, age, phone} = request.parameter // получение параметров
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Лист1") // лист «Лист1»
  sheet.appendRow([name, age, phone]) // имя — в A, возраст — в B, телефон — в C
  return ContentService.createTextOutput("Данные успешно добавлены.")
}

3. Публикация скрипта как веб-приложения

После того как написан скрипт, нужно сделать его доступным для внешнего вызова:

  • Нажмите "Начать развертывание" → "Новое развертывание". (новое развертывание необходимо делать при каждом изменении скрипта!)

  • Выберите тип развертывания: "Веб-приложение".

  • При запросе доступа — подтвердите, нажав "Предоставить доступ".

  • В меню "У кого есть доступ" выберите Все

  • После публикации скопируйте ссылку из поля "Веб-приложение". Она будет выглядеть примерно так:
    https://script.google.com/macros/s/AKf...

4. Написание инструкции в промте

Теперь преобразуем ссылку, чтобы в нее передавались параметры: https://script.google.com/macros/s/AK*****mJ2/exec?name={имя}&age={возраст}&phone={телефон}

Напишем конечную инструкцию:

Код
Спроси у пользователя его имя, телефон и возраст.
После получения всех данных отправь их:
Метод HTTP запроса: GET
URL (не меняй его): https://script.google.com/macros/s/AK*****mJ2/exec?name={имя}&age={возраст}&phone={телефон}
Заголовки: пустые
Тело запроса: пустое

 Таким образом можно вызывать и другие сервисы из списка разрешённых.

Частые ошибки

  • Ничего не приходит. Проверьте, что адрес относится к разрешённым сервисам (см. выше) и что в URL нет опечаток.

  • Google Таблица не пополняется. После правки скрипта не сделали «Новое развертывание» или в «У кого есть доступ» выбрано не «Все».

  • В сообщении вместо данных клиента текст «{имя}». ИИ вызвал функцию раньше, чем узнал данные. Уточните триггер: «после того как клиент назвал имя и телефон».

Связанные статьи

Код
 Если вам будет нужна помощь в настройке, то обращайтесь в поддержку

Читайте дальше

Связанные материалы

Следующий шагПередать менеджеру (распределение AmoCRM)

Инструкция помогла?

Помощник

Задайте вопрос по документации. Вопросы без ответа используются для улучшения помощи.

Ищу ответ…

Подготовить обращение

Открыть контакт
Отправьте подготовленный текст самостоятельно в выбранном канале.