Прием внешних запросов

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

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

  • В разделе «Управление» в каталоге «Внешние запросы» добавьте новую запись (точку приему запросов, по которой будет запускаться процесс).
  • Укажите название. Например, ту задачу, которую выполняет процесс.
  • Укажите уникальный «URL-идентификатор». Он определяет адрес приема запросов. Полный адрес, по которому Бипиум будет слушать запросы, формируется из этого идентификатора по правилу: {Адрес сервера Bpium}/api/webrequests/{URL-идентификатор}
  • В поле «Выполнить» выберите или создайте новый сценарий.

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

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

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

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


Входные параметры

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

Входные переменные:

  • method(строка) — HTTP-метод запроса, например: GET, POST, PATCH, PUT, HEAD.
  • query(объект) — коллекция GET-параметров запросы (параметры, переданные в URL после знака «?»). Ключи объекта — названия параметров. Пример для запросы {адрес приема внешнего запроса}?sort=id&limit=10:
    query: {
        "sort": "id",
        "limit": "10"
    }
    
  • headers(объект) — коллекция HTTP-заголовков запроса. Ключи объекта — названия заголовков. Пример:

    headers: {
        "Content-type": "text/html;",
        "Host": "youdomain.bpium.ru"
    }
    
  • cockie(объект) — коллекция куков запроса. Ключи объекта — идентификаторы куки-переменных. Пример:

    cockie: {
        "Content-type": "text/html;",
        "Host": "youdomain.bpium.ru"
    }
    
  • body(строка) — содержимое тела запроса, например POST-параметры.


Выходные параметры

Названия всех служебных выходные переменных начинается с знака доллара ($).

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

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

  • $status(строка) — код http-ответа. Например, 200 — успех.

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

    $headers: {
        "Content-type": "application/json"
    }
    
  • $body(строка) — тело возвращаемого ответа

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

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

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


results matching ""

    No results matching ""