Настройка интеграции вебхуков

Средний
PDF

Вебхуки — инструмент для получения данных от сторонних сервисов. Как администратор BPMSoft, вы можете настроить автоматическое реагирование на запросы для мгновенного запуска бизнес-процессов и действий над объектами.

Алгоритм настройки

Конфигурация пользовательских вебхуков в BPMSoft осуществляется с помощью инструментов low-code, что значительно упрощает настройку и использование.

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

  • Дизайнер системы → блок «Импорт и интеграции» → раздел «Настройка вебхуков»;
  • Дизайнер системы → блок «Конфигурирование разработчиком» → Управление конфигурацией → перейти в пользовательский пакет → добавить элемент «Вебхук».

Общая процедура настройки вебхука включает следующие шаги:

  1. Создание и настройка вебхука.
  2. Настройка аутентификации.
  3. Добавление и настройка параметров метода вебхука.
  4. Настройка действия, которое выполняется при получении вебхука.

Создание и настройка вебхука

Для создания нового вебхука выполните следующие действия:

  1. В разделе «Вебхуки» нажмите на кнопку «Добавить вебхук».
  2. Заполните свойства вебхука, описанные в таблице ниже.

Таблица 1 — Свойства вебхука

Свойство Описание
Название Отображаемый заголовок вебхука
Код Используется в BPMSoft для взаимодействия с вебхуком
Описание Информация о вебхуке
Пакет Пакет конфигурации BPMSoft, в котором хранится вебхук
Проверять URL клиента Если данный признак = Да, то будут разрешены вызовы вебхука только с адреса, указанного в поле URL клиента
URL клиента Адрес, с которого будет разрешен вызов вебхука, если признак «Проверять URL клиента» = Да .   Будет выполняться проверка только корневого домена. Например, если адрес «https://site.bpmsoft.ru/path1/», то проверяться будет только по адресу «https://site.bpmsoft.ru»
Базовый URL-адрес Заполняется автоматически значением, которое состоит из URL вида {hostUrl}/{webhook}/{schemaUId} и настроек, указанных на странице настройки метода. Недоступно для редактирования

Рисунок 1 — Свойства вебхука

Рисунок 1 — Свойства вебхука

Настройка аутентификации

Для выполнения методов вебхука существует три способа аутентификации:

  1. Анонимная аутентификация.
  2. Forms-аутентификация.
  3. JWT-аутентификация.

Анонимная аутентификация

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

BPMSoft поддерживает способ анонимной аутентификации, когда для доступа к методам вебхуков не требуется никаких пользовательских данных. Анонимные вебхуки не требуют авторизации для доступа к методам.

По умолчанию анонимная аутентификация отключена.

Для включения анонимной аутентификации необходимо выполнить следующие действия:

  1. В конфигурационном файле внесите следующие изменения:
  • Для .NET Framework — в файле WebApp/Web.config у параметра с ключом UseWebhookAnonymousAuth измените значение value на true;
  • Для .NET 8 — в файле BPMSoft.WebHost.dll.config у параметра с ключом UseWebhookAnonymousAuth измените значение value на true.
  1. Перезапустите приложение.
  2. На странице вебхука перейдите во вкладку «Аутентификация» и в поле «Тип аутентификация» выберите значение «Не требуется».
  3. Нажмите кнопку «Сохранить».

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

Включение анонимной аутентификации доступно только при развертывании on-site.

Forms-аутентификация

Для того чтобы методы вебхука были доступны для вызова через forms-аутентификацию, выполните следующие действия:

  1. На странице вебхука перейдите во вкладку «Аутентификация» и в поле «Тип аутентификация» выберите значение «Cookie».
  2. Выберите пользователя в поле «Пользователь для авторизации», через которого будет выполняться forms-аутентификация для доступа к методам вебхука.

Примечание. При выполнении операций над объектами система проверяет права пользователя на эти действия.

  1. Нажмите кнопку «Сохранить».

После сохранения методы вебхука станут доступны для вызова при передаче специального cookie в заголовках последующих запросов. Подробнее: Forms-аутентификация.

JWT-аутентификация

Для того чтобы методы вебхука были доступны для вызова с помощью передачи JWT-токенов, выполните следующие шаги:

  1. В конфигурационном файле внесите следующие изменения:
    • Для .NET Framework — в файле WebApp/Web.config у параметра с ключом WebhookSecretKey в качестве значения value внесите секретный ключ для генерации JWT-токена;
    • Для .NET 8 — в файле BPMSoft.WebHost.dll.config у параметра с ключом WebhookSecretKey в качестве значения value внесите секретный ключ для генерации JWT-токена.

Примечание. Правила создания секретного ключа для генерации JWT-токена:

  • Используйте ключ длиной не менее 32 символов, который включает буквы в верхнем и нижнем регистре, цифры и специальные символы;
  • В качестве ключа подойдут GUID, случайная последовательность символов или данные, сгенерированные специализированными инструментами для создания секретных ключей.

  1. Перезапустите приложение.
  2. На странице вебхука перейдите во вкладку «Аутентификация» и в поле «Тип аутентификация» выберите значение «JWT».
  3. Выберите пользователя в поле «для авторизации», через которого будет выполняться аутентификация с помощью JWT-токена для доступа к методам вебхука.

Примечание. При выполнении операций над объектами система проверяет права пользователя на эти действия.

  1. В поле «Действителен до» укажите срок действия токена.
  2. Если требуется, то заполните поле «Заголовок запроса для токена». Если заголовок запроса для токена не заполнен, то его значение будет равно «Authorization».
  3. Нажмите кнопку «Сохранить».

Рисунок 2 — Тип аутентификации «JWT»

Рисунок 2 — Тип аутентификации JWT

После сохранения вебхука кнопка «Сгенерировать токен» станет активной. Для генерации токена:

  1. Нажмите на кнопку «Сгенерировать токен».
  2. Откроется модальное окно, где в текстовом поле будет расположен сгенерированный JWT-токен.
  3. Нажмите кнопку «Скопировать токен».

Рисунок 3 — Модальное окно генерации JWT-токена

Рисунок 3 — Модальное окно генерации JWT-токена

Скопируйте значение токена, так как после закрытия этого окна повторно посмотреть его будет невозможно.

  1. Нажмите кнопку «Закрыть», чтобы скрыть модальное окно.

При необходимости можно вернуться в вебхук и создать новый токен, нажав на кнопку «Перегенерировать».

После сохранения методы вебхука станут доступны для вызова при передаче JWT-токена в заголовках последующих запросов.

Методы вебхука

Для создания метода вебхука выполните следующие шаги:

  1. Откройте вебхук.
  2. Во вкладке «Методы вебхука» нажмите на кнопку +.
  3. Заполните свойства метода вебхука, описанные в таблице ниже.

Таблица 2 — Свойства метода вебхука

Свойство Описание
Название Отображаемый заголовок метода
Код Используется в BPMSoft для взаимодействия с конкретным методом вебхука
Endpoint Этот endpoint добавляется к «Базовому URL вебхука» и формирует «Полный адрес» метода вебхука
Полный адрес Адрес, который можно использовать в сторонней системе для вызова метода (поле доступно только для чтения и значение генерируется автоматически)
Тип запроса Тип HTTP-запроса. Возможные значения: GET и POST
Тип содержимого По умолчанию — JSON (поле доступно только для чтения)
Ждать ответа Если признак = Да, то BPMSoft ответит на вызов метода вебхука только после завершения всех назначенных действий со всеми настроенными параметрами ответа. Если признак = Нет, то BPMSoft стандартный ответ об успешности запроса.   Запрос считается успешным, если его параметры соответствуют входным параметрам вебхука и аутентификация прошла успешно
Опубликован Если признак = Да, то метод опубликован и доступен для вызова до первого сохранения)

Рисунок 4 — Пример заполнения метода вебхука

Рисунок 4 — Пример заполнения метода вебхука

  1. Добавьте параметры метода.
  2. Добавьте действия при получении вебхука.
  3. Нажмите на кнопку «Готово».
  4. Сохраните вебхук, нажав на кнопку «Сохранить».
  5. В детали «Методы вебхука» выберите добавленный метод и нажмите на кнопку «Опубликовать».
  6. Повторно сохраните вебхук, нажав на кнопку «Сохранить».

Рисунок 5 — Деталь «Методы вебхука»

Рисунок 5 — Деталь «Методы вебхука»

После публикации метод станет доступен для вызова из внешней системы.

Параметры метода

В метод вебхука можно добавить следующие виды параметров:

  • Параметры запроса;
  • Параметры ответа.

Параметры запроса

Параметры запроса принимаются на вход вебхуком при его вызове из внешней системы.

Для добавления параметра запроса выполните следующие шаги:

  1. Откройте метод вебхука.
  2. Перейдите во вкладку «Параметры запроса».
  3. Нажмите на кнопку «Добавить параметр».
  4. Заполните свойства параметра запроса.

Таблица 3 — Свойства параметра запроса

Свойство Описание
Название Отображаемый заголовок параметра запроса
Путь к элементу (JSONPath) Ключ в JSON-файле, используемый при передаче значений в теле запроса.   Можно выполнять операции чтения и записи во вложенные объекты. Для этого используется точка, которая указывает на вложенность. Например, Contact.Name
Код в BPMSoft Используется в BPMSoft для взаимодействия с конкретным параметром запроса
Тип данных Тип данных параметра запроса
Формат передачи пустых значений Определяет каким образом передается пустое значение параметра.   Возможны следующие варианты значений:
  • По умолчанию: передается стандартное значение по умолчанию для выбранного типа данных. Например, для логического типа передается false, а для строкового — пустая строка (""). Подробнее: Значения типов C# по умолчанию;
  • Не передавать: если параметр пуст, он не включается в передачу;
  • Пустая строка: передается пустая строка ("");
  • NULL: пустое значение параметра передается как NULL.
  Если значение окажется пустым ("" или NULL), параметр не будет участвовать в методе вебхука
Значение по умолчанию Предоставляет значение, которое будет использоваться в случае, если для данного параметра запроса не будет предоставлено явное значение при вызове метода вебхука

Рисунок 6 — Пример заполнения параметра запроса

Рисунок 6 — Пример заполнения параметра запроса

  1. Сохраните параметр запроса, нажав на кнопку «Готово».
  2. Сохраните метод вебхука, нажав на кнопку «Готово».
  3. Сохраните вебхук, нажав на кнопку «Сохранить».

Примечание. В BPMSoft существует возможность автоматического создания параметров запроса. Подробнее: Быстрая настройка.

Параметры ответа

Параметры ответа возвращаются вебхуком после успешного выполнения запроса из внешней системы.

Для добавления параметра ответа выполните следующие шаги:

  1. Откройте метод вебхука.
  2. Перейдите во вкладку «Параметры ответа».
  3. Нажмите на кнопку «Добавить параметр».
  4. Заполните свойства параметра ответа.

Таблица 4 — Свойства параметра ответа

Свойство Описание
Название Отображаемый заголовок параметра ответа
Путь к элементу (JSONPath) Ключ в JSON-файле, используемый при возвращении значений в теле ответа.   Можно выполнять операции чтения и записи во вложенные объекты. Для этого используется точка, которая указывает на вложенность. Например, Contact.Name
Код в BPMSoft Используется в BPMSoft для взаимодействия с конкретным параметром ответа
Тип данных Тип данных параметра ответа
Формат передачи пустых значений Определяет каким образом будет получен ответ.   Возможны следующие варианты значений:
  • По умолчанию: передается стандартное значение по умолчанию для выбранного типа данных. Например, для логического типа передается false, а для строкового — пустая строка (""). Подробнее: Значения типов C# по умолчанию;
  • Не передавать: если он пустой, то параметр будет отсутствовать в ответе;
  • Пустая строка: если он пустой, то вернется пустая строка ("");
  • NULL: если он пустой, то вернется NULL
Значение по умолчанию Предоставляет значение, которое будет использоваться в случае, если для данного параметра ответа не будет предоставлено явное значение при вызове метода вебхука
  1. Сохраните параметр ответа, нажав на кнопку «Готово».
  2. Сохраните метод вебхука, нажав на кнопку «Готово».
  3. Сохраните вебхук, нажав на кнопку «Сохранить».

Примечание. В BPMSoft существует возможность автоматического создания параметров запроса. Подробнее: Быстрая настройка.

Быстрая настройка

Для автоматического добавления параметров запроса или ответа выполните следующие шаги:

  1. Перейдите в метод вебхука.
  2. Перейдите во вкладку «Параметры запроса» или «Параметры ответа» — в зависимости от ваших потребностей.
  3. Нажмите на кнопку «Быстрая настройка».
  4. Введите JSON-код примера объекта запроса или ответа.

Например:

Пример JSON-кода
{
	"name": "testName",
	"age": 18
}
  1. Нажмите кнопку «Далее».

После выполнения быстрой настройки в выбранной вкладке будут добавлены параметры. По вышеприведенному примеру добавится два параметра:

Таблица 5 — Параметры, добавленные быстрой настройкой

Название Путь к элементу (JSONPath) Код в BPMSoft Тип данных
Name $.name Name Текст
Age $.age Age Целое число

Действия при получении вебхука

Для добавления действий, которые будут выполнены при вызове вебхука, выполните следующие шаги:

  1. Перейдите в метод вебхука.
  2. Перейдите во вкладку «Действия при получении вебхука».
  3. Нажмите на кнопку «Добавить действие при получении вебхука».
  4. Заполните свойства действия при получении вебхука.

Таблица 6 — Свойства действия при получении вебхука

Свойство Описание
Название Отображаемый заголовок действия
Тип действия Действие, которое сработает при получении вебхука. Возможные значения:
  • Выполнить БП — запуск бизнес-процесса.
  • Изменить данные — обновление записи.
  • Добавить данные — добавление новой записи.
Код BPMSoft Используется в BPMSoft для взаимодействия с действием метода вебхука
  1. В зависимости от выбора в поле «Тип действия»:
    1. Если выбран «Тип действия» = «Выполнить БП»:
      • В поле «Название БП» выберите бизнес-процесс, который будет выполняться при вызове метода вебхука;
      • В блоке «Параметры бизнес процесса» рядом с параметром нажмите на поле, чтобы выбрать параметр запроса, значение которого необходимо передать в качестве входящего параметра выбранного бизнес-процесса;
      • В блоке «Параметры БП для ответа» рядом с параметром нажмите на поле, чтобы выбрать параметр ответа, в который необходимо сохранить исходящий параметр бизнес-процесса.
    2. Если выбран «Тип действия» = «Изменить данные»:
      • В поле «Название объекта» выберите объект, у записей которого необходимо изменить значения колонок;
      • В поле «Результат изменения данных» выберите параметр ответа, в который будет записываться массив с Id измененных записей;
      • В блоке «Колонки для обновления объекта» рядом с названием колонки нажмите на поле, чтобы выбрать параметр запроса, значение которого необходимо использовать в качестве нового значения выбранной колонки объекта;
      • В блоке «Колонки для поиска объекта» рядом с названием колонки нажмите на поле, чтобы выбрать параметр запроса, значение которого необходимо использовать в качестве фильтра для поиска.
    3. Если выбран «Тип действия» = «Добавить данные»:
      • В поле «Название объекта» выберите объект, в который нужно добавить запись;
      • В блоке «Колонки для добавления объекта» рядом с названием колонки нажмите на поле, чтобы выбрать параметр запроса, значение которого необходимо использовать в качестве значения выбранной колонки объекта;
      • В блоке «Колонки объекта для ответа» рядом с названием колонки нажмите на поле, чтобы выбрать параметр ответа, в который необходимо сохранить значение выбранной колонки созданной записи.
  1. Сохраните действие при получении ответа, нажав на кнопку «Готово».
  2. Сохраните метод вебхука, нажав на кнопку «Готово».
  3. Сохраните вебхук, нажав на кнопку «Сохранить».

Рисунок 7 — Действие при получении вебхука

Рисунок 7 — Действие при получении вебхука

Рекомендуем изучить

Возможности интеграции
Выполнить запрос в Postman с авторизацией вручную

Материал был полезен для вас?
Приглашаем на вебинар 30 июля
Лиды, клиенты и клиентский сервис в современном мире. Как b2b и b2c повышают конверсию и совершают повторные продажи. Об этом поговорим на совместном вебинаре BPMSoft и Edna.
Регистрация на мероприятие
Оставить заявку
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Демонстрационная версия BPMSoft
Заполните заявку для получения бесплатного доступа к демонстрационному стенду на 14 дней.
Типовое внедрение
Внедрите BPMSoft CRM в свою компанию всего за 8 рабочих дней по фиксированной цене! Заполните заявку для уточнения условий.
Заказать презентацию
Наш менеджер свяжется с Вами в ближайшее время.
Рассчитать стоимость
Стоимость одной лицензии BPMSoft Конструктор начинается от 15 400 руб. без НДС. Для корректного расчета заполните форму
Задать вопрос
Запрос исследования
Заполните форму и мы отправим исследование на E-mail
Присоединяйтесь к партнерской сети BPMSoft
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время
Тип партнерства*
Управление полным жизненным циклом клиента: от генерации лидов и продаж до внедрения, поддержки и продления подписки.
Разработка собственного Приложения – производного программного обеспечения, созданного на платформе BPMSoft (Базовое ПО).
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Стать Вузом-партнером
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Заявка на консультацию
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Спасибо!
Ваша заявка принята.
Наш сотрудник свяжется с вами в течение 1-2 рабочих дней.
Внимание!
Обнаружена ошибка.
Вы подписаны на новости BPMSoft
Пожалуйста, подтвердите свой электронный адрес, пройдя по ссылке в письме.
Telegram Подписаться
Уважаемые клиенты! Предупреждаем о случаях недобросовестной конкуренции и мошенничестве в сети Интернет.
Подробнее