Бипуим: Документация
8-800-505-24-05Сайт Бипиум
  • 😎Отвечаем на ваши вопросы
  • 🎂Версии и обновления
  • ❗Обновление до версии 2.0
  • Документация
    • 🆕С чего начать
      • Регистрация и вход
      • Создаем каталоги и записи
      • Формируем отчёты
      • Настраиваем правовую политику
      • Применяем автоматизации
    • ⚙️Конструктор данных
      • Отделы
      • Каталоги
        • Редактирование структуры
        • Настройка отображения
        • Поиск и фильтрация
        • Импорт записей
          • 📗Импорт из Excel
        • Экспорт записей
        • Активность
      • Системные каталоги
        • Сотрудники
        • События
        • Внешние запросы
        • Сценарии
        • Процессы
        • Доступ к сервисам
        • Вебхуки
      • Виды
      • Записи
    • 📊Отчеты
      • Графики
    • 🔑Права
      • Правила
      • Привилегии
      • Правовые группы
      • Правовые виды
      • Права на поля
      • Комбинация прав
    • 🤖Автоматизации
      • События
        • Изменение данных
        • Внешние запросы
      • Сценарии
        • Компоненты
          • Начало процесса
          • Конец процесса
          • Таймер
          • Ошибка
          • Шлюз «ИЛИ» (условное ветвление)
          • Шлюз «И» (распараллеливание)
          • Получить запись
          • Найти записи
          • Изменить запись
          • Создать запись
          • Удалить запись
          • Структура каталога
          • Загрузить файл
          • Сгенерировать документ
          • Назначение переменных
          • Код (Javascript)
          • Веб-запрос
          • SQL-запрос
          • Конвертер
          • Парсер
          • Запуск процесса
          • Получение почты
          • Отправка почты
          • Соединяющая линия
          • Отправить сообщение
        • Переменные
        • Выражения
        • Входные и выходные параметры компонентов
        • Примеры настройки
          • Условие
          • Цикл
      • Ограничения
  • Лицензии
    • 🌐Тип лицензирования
  • Примеры
    • 🔑Права доступа к данным
    • 🤖Автоматизации
      • Выгрузка файлов на Яндекс Диск
      • Отправка на больничный
      • Автоматизация оплаты счетов
      • Создание наименований записей
      • Расчет скидок для клиентов
      • Запрет на создание дубликатов в каталоге
      • Автозаполнение данных по ИНН
      • Переброс данных между связанными каталогами
      • Очередь сценариев
      • Отслеживание заявок с сайта помощью UTM-меток
      • Просрочка задач по дедлайну
      • Реализация механизма согласования записей
      • Массовое изменение записей
      • Создание каталога для рассылки почты
      • Перенос данных между системами Бипиума
      • Импорт данных из Excel
      • Генерация счет-фактуры
      • Генерация excel-отчетов
      • Планировщик задач
      • Импорт банковских выписок
      • Производственный календарь
      • Складской учет
  • Интеграции
    • 🥂Методы интеграции
      • Интеграция данных
        • API
        • Вебхуки (webhooks)
      • Интеграция интерфейса
        • Веб-формы
        • Веб-расширения
      • Примеры интеграций
        • Тильда
          • Прием данных с формы Tilda
          • Интеграция веб-интерфейса в Tilda
        • Интеграция с сервисом «DaData»
        • Интеграция c «Единой информационной системой в сфере закупок»
        • Мессенджеры
          • Интеграция с Telegram-ботом
        • Почтовые сервисы
          • UniSender
          • MailChimp
        • Сервисы Google
          • Google Calendar
        • Телефония
          • Oktell
            • Панель телефонии Oktell
            • Компонент Bpium в Oktell
        • 1C
    • 🔌API
      • Данные
        • Каталоги (Catalogs)
        • Записи (Records)
        • Связи (Relations)
        • Истории (Histories)
        • Файлы (Files)
        • Отделы (Sections)
        • Виды (Views)
        • Сообщения (Messages)
      • Агрегация
        • Разложения (Values)
        • Сводка (Totals)
      • Отчеты
        • Дашборды (Boards)
        • Графики (Widgets)
      • Поисковые выборки
        • Доступные связи (AvailableRecords)
        • Доступные условия фильтра (AvailableFilterRecords)
        • Сотрудники (Users)
        • Контакты (Contacts)
      • Права (Rights)
      • Профиль (Profile/me)
  • Установка на сервер
    • 🧱Архитектура
      • Варианты разворачивания
    • 🖥️Требования
    • 📂Установка как служба
    • 🛳️Установка через Docker
    • 🎛️Мультидоменная среда
    • 🆘Материалы
      • TLS/SSL Сертификат
      • Параметры config.env
        • Для Bpium
        • Для Bpium S3
        • Для Bpium BPM
      • Запуск
      • Обсуживание
        • Активация
        • Обновление
        • Бэкап и восстановление базы
        • Брендирование (Whitelabel)
        • Удаление
      • Перенос базы из облака
      • Возможные проблемы в ходе установки и работы
  • Обучение
    • Базовый курс
      • Урок 1. Отделы
      • Урок 2. Каталоги с данными
      • Урок 3. Карточки записей
      • Урок 4. Связи между данными
      • Урок 5. Фильтры и виды
      • Урок 6. Приглашение сотрудников
      • Урок 7. Права доступа к данным
      • Урок 8. Графические отчеты
      • Урок 9. Бизнес-процессы
      • Урок 10. Интеграции
    • Технический курс
      • Урок 1. Принцип работы автоматизаций
      • Урок 2. Первая автоматизация изнутри
      • Урок 3. Валидация данных
      • Урок 4. Простые вычисления
      • Урок 5. Расчет суммы заказа
      • Урок 6. Генерация счетов/документов
      • Урок 7. Рассылка почтовых сообщений
      • Урок 8. Прием внешних данных
      • Урок 9. Отправка данных на сторонние сервисы
    • Паттерны проектирования ИС
      • Унификация
      • Упорядоченность
      • Разделение
      • Актуализация
      • Вынос параметров
      • Выделение позиций
      • Слияние
      • Дублирование
      • Типизация
      • Информирование
Powered by GitBook
On this page
  • Создание адреса для приема внешних запросов
  • Синхронный и асинхронный запуск процесса
  • Параметры события
  • Кроссдоменные запросы (CORS)
  1. Документация
  2. Автоматизации
  3. События

Внешние запросы

Запуск процесса при поступлении внешнего HTTP-запроса на определенный адрес.

Создание адреса для приема внешних запросов

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

  • Укажите название. Например, ту задачу, которую выполняет процесс.

  • Укажите уникальный «URL-идентификатор». Он определяет адрес приема запросов. Полный адрес, по которому Бипиум будет слушать запросы, формируется из этого идентификатора по правилу:

    { Адрес сервера Bpium }/api/webrequest/{ URL-идентификатор }

  • В поле «Выполнить» выберите или создайте новый сценарий.

Синхронный и асинхронный запуск процесса

С ответом внешней системе. Если некая внешняя система или сайт отправит любой HTTP-запрос на указанный адрес, то Бипиум запустит процесс по назначенному сценарию, передав ему параметры запроса через переменные. Выходные переменные процесса будут возвращены в качестве ответа внешней системе. Пока выполняется процесс, Бипиум будет держать HTTP-соединение с внешней системой, чтобы вернуть ей ответ. Ограничение на длительность исполнения процесса — 60 секунд. По истечению таймаута Бипиум разрывает HTTP-соединение с инициатором запроса и принудительно прекращает сценарий.

Без ответа внешней системе. Для запуска долгих процессов, ответ от которых не требуется возвращать внешней системе, процессы можно запускать асинхронно. В этом случае внешней системе будет сразу передан пустой ответ и соединение будет закрыто, а запущенный процесс будет выполнятся до его завершения. Результаты процесса не будут возвращены внешней системе, но будут сохранены в каталоге «Процессы». Для асинхронного запуска процессов укажите параметрasync=trueв GET-параметрах запроса внешней системы к Бипиуму. Пример:

{ Адрес сервера Bpium }/api/webrequest/{ URL-идентификатор }/?async=true

Параметры события

Процесс запускается с передачей всех параметров внешнего HTTP-запроса.

event: {
    id: "1",
    type: "$webRequest",
    async: true
},
script: {
    id: "7"
},
user: {
    id: "2"
},

url: "https://test.bpium.ru/api/webrequest/testurl?async=true",
method: "GET",
headers: {
    "Content-type": "text/html;",
    "Host": "youdomain.bpium.ru"
}
cookies: {
    "Content-type": "text/html;",
    "Host": "youdomain.bpium.ru"
}
query: {
    "sort": "id",
    "limit": "10"
}
body: {
    "paramname": "client",
    "email": "client@domain.com",
    "fio": "Андрей Иванович Широков"
}

Общие параметры событий

  • event(объект) — параметры внешнего запроса. Доступно с версии 1.5.2.

    • id(строка) — идентификатор внешнего запроса в каталоге Внешние запросы.

    • type(строка) — название типа события — $webRequest.

    • async(булево) — признак запуска: true — асинхронно, false — синхронно.

  • script(объект) — параметры запущенного сценария. Доступно с версии 1.5.2.

    • id(строка) — идентификатор сценария в каталоге Сценарии.

  • user(объект) — сотрудник вызвавший событие.

    • id(строка) — идентификатор сотрудника или null, если сотрудник не определен (событие вызвано системой).

Дополнительные параметры события

Процесс запускается с передачей всех параметров внешнего HTTP-запроса:

  • url(строка) — Полный URL-адрес внешнего запроса и всех параметров.

  • method(строка) — HTTP-метод запроса, например: GET, POST, PATCH, PUT, HEAD.

  • headers(объект) — коллекция HTTP-заголовков запроса. Ключи объекта — названия заголовков.

  • cookies(объект) — коллекция куков запроса. Ключи объекта — идентификаторы куки-переменных.

  • query(объект) — коллекция GET-параметров запроса (параметры, переданные в URL после знака «?»). Пример {адрес приема внешнего запроса}?sort=id&limit=10.

    Ключи объекта — названия параметров.

  • body(объект) — содержимое тела запроса, например POST-параметры. Пример обращения к POST-параметрам внутри сценария: body.paramname, body.email, ...

Синхронный запрос

Процессы запущенные синхронно (по умолчанию) возвращают ответ запрашивающей системе в том же соединении. Таймаут на исполнение синхронных процессов 60 секунд.

$status: 200
$headers = {
    "Content-type": "text/html;"
}
$body: {
    // JSON or binary data
}
  • $headers(объект) — коллекция HTTP-заголовков ответа на запрос. Ключи объекта — названия заголовков.

  • $body(объект/строка) — тело возвращаемого ответа.

Асинхронный запрос

Процессы запущенные асинхронно (с GET-параметром async=true) не ожидают результат.

Кроссдоменные запросы (CORS)

Если вы запускаете процесс AJAX-запросом с сайта, то браузер заблокирует такой запрос по политике безопасности кросс-доменных запросов (CORS). Чтобы решить эту проблему, процесс должен вернуть HTTP-заголовок «Access-Control-Allow-Origin».

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

$headers = {
    "Access-Control-Allow-Origin": "http://www.example.com"
}

Пример для разрешения принимать запросы со всех сайтов:

$headers = {
    "Access-Control-Allow-Origin": "*"
}

PreviousИзменение данныхNextСценарии

Last updated 2 years ago

Чтобы вернуть значения как результат процесса, нужно задать переменные в сценарии до компонента «Конец процесса», например с помощью компонента «». Бипиум ожидает возврата от сценария следующих переменных:

$status(число) — код . Например, 200 — успех.

🤖
Назначение переменных
http-ответа