Эта документация была автоматически переведена ИИ.
Интеграция HTTP-запросов в рабочие процессы
С помощью узла HTTP-запроса рабочие процессы NocoBase могут активно отправлять запросы в любые HTTP-сервисы, обеспечивая обмен данными и интеграцию бизнес-процессов с внешними системами.
Обзор
Узел HTTP-запроса — это основной компонент интеграции в рабочих процессах, который позволяет вам вызывать сторонние API, внутренние сервисные интерфейсы или другие веб-сервисы во время выполнения рабочего процесса для получения данных или запуска внешних операций.
Типичные сценарии использования
Получение данных
- Запросы к сторонним данным: Получение данных в реальном времени из API погоды, курсов валют и т.д.
- Разрешение адресов: Вызов API картографических сервисов для парсинга адресов и геокодирования.
- Синхронизация корпоративных данных: Получение данных о клиентах, заказах и т.д. из систем CRM и ERP.
Запуск бизнес-операций
- Отправка уведомлений: Использование сервисов SMS, электронной почты, WeCom для отправки уведомлений.
- Платежные запросы: Инициирование платежей, возвратов средств через платежные шлюзы.
- Обработка заказов: Отправка накладных и запрос статуса доставки в логистических системах.
Интеграция систем
- Вызовы микросервисов: Вызов API других сервисов в микросервисной архитектуре.
- Отчетность по данным: Отправка бизнес-данных на платформы аналитики и в системы мониторинга.
- Сторонние сервисы: Интеграция сервисов ИИ, распознавания текста (OCR), син теза речи и т.д.
Автоматизация
- Запланированные задачи: Периодический вызов внешних API для синхронизации данных.
- Реагирование на события: Автоматический вызов внешних API при изменении данных для уведомления соответствующих систем.
- Рабочие процессы согласования: Отправка запросов на согласование через API систем согласования.
Возможности
Полная поддержка HTTP
- Поддерживает все HTTP-методы: GET, POST, PUT, PATCH, DELETE.
- Поддержка пользовательских заголовков запроса (Headers).
- Поддержка различных форматов данных: JSON, данные формы, XML и т.д.
- Различные способы передачи параметров: параметры URL, параметры пути, тело запроса и т.д.
Гибкая обработка данных
- Ссылки на переменные: Динамическое формирование запросов с использованием переменных рабочего процесса.
- Парсинг ответов: Автоматический парсинг JSON-ответов и извлечение необходимых данных.
- Преобразование данных: Преобразование форматов данных запросов и ответов.
- Обработка ошибок: Настройка стратегий повторных попыток, параметров таймаута, логики обработки ошибок.
Безопасная аутентификация
- Basic Auth: Базовая HTTP-аутентификация.
- Bearer Token: Аутентификация по токену.
- API Key: Аутентификация по пользовательскому API-ключу.
- Пользовательские заголовки: Поддержка любого метода аутентификации.
Шаги использования
1. Убедитесь, что плагин включен
Узел HTTP-запроса является встроенной функцией плагина Рабочий процесс. Убедитесь, что этот плагин включен.
2. Добавьте узел HTTP-запроса в рабочий процесс
- Создайте или отредактируйте рабочий процесс.
- Добавьте узел HTTP-запрос в нужное место.

- Настройте параметры запроса.
3. Настройте параметры запроса

Основные настройки
-
URL запроса: Адрес целевого API, поддерживает использование переменных.
-
Метод запроса: Выберите GET, POST, PUT, DELETE и т.д.
-
Заголовки запроса: Настройте HTTP-заголовки.
-
Параметры запроса:
- Параметры запроса (Query): Параметры запроса URL.
- Параметры тела (Body): Данные тела запроса (POST/PUT).
Дополнительные настройки
- Таймаут: Установите таймаут запроса (по умолчанию 30 секунд).
- Повторная попытка при сбое: Настройте количество и интервал повторных попыток.
- Игнорировать сбой: Рабочий процесс продолжит выполнение, даже если запрос завершится неудачно.
- Настройки прокси: Настройте HTTP-прокси (при необходимости).
4. Использование данных ответа
После выполнения узла HTTP-запроса данные ответа можно использовать в последующих узлах:
{{$node.data.status}}: Код состояния HTTP.{{$node.data.headers}}: Заголовки ответа.{{$node.data.data}}: Данные тела ответа.{{$node.data.error}}: Сообщение об ошибке (если запрос завершился неудачно).

Примеры сценариев
Пример 1: Получение информации о погоде
Пример 2: Отправка сообщения в WeCom
Пример 3: Запрос статуса платежа
Пример 4: Синхронизация данных с CRM
Настройка методов аутентификации
Базовая аутентификация
Bearer Token
API-ключ
OAuth 2.0
Сначала получите access_token, затем используйте его:
Обработка ошибок и отладка
Распространенные ошибки
- Таймаут соединения: Проверьте сетевое соединение, увеличьте время ожидания.
- 401 Неавторизовано: Убедитесь, что учетные данные для аутентификации верны.
- 404 Не найдено: Проверьте правильность URL.
- 500 Ошибка сервера: Проверьте статус сервиса поставщика API.
Советы по отладке
-
Используйте узлы логирования: Добавляйте узлы логирования до и после HTTP-запросов для записи данных запроса и ответа.
-
Проверяйте журналы выполнения: Журналы выполнения рабочего процесса содержат подробную информацию о запросах и ответах.
-
Инструменты тестирования: Сначала протестируйте API с помощью таких инструментов, как Postman, cURL и т.д.
-
Обработка ошибок: Добавьте условную логику для обработки различных статусов ответа.
Рекомендации по оптимизации производительности
1. Используйте асинхронную обработку
Для запросов, которые не требуют немедленного получения результатов, рассмотрите возможность использования асинхронных рабочих процессов.
2. Настройте разумные таймауты
Установите таймауты в соответствии с фактическим временем ответа API, чтобы избежать чрезмерного ожидания.
3. Внедрите стратегии кэширования
Для редко изменяющихся данных (например, конфигураций, словарей) рассмотрите возможность кэширования результатов ответов.
4. Пакетная обработка
Если вам нужно многократно вызывать один и тот же API, рассмотрите возможность использования пакетных интерфейсов API (если они поддерживаются).
5. Повторные попытки при ошибках
Настройте разумные стратегии повторных попыток, но избегайте чрезмерных повторных попыток, которые могут привести к ограничению скорости API.
Лучшие практики безопасности
1. Защищайте конфиденциальную информацию
- Не раскрывайте конфиденциальную информацию в URL-адресах.
- Используйте HTTPS для зашифрованной передачи данных.
- Храните API-ключи и другие конфиденциальные данные в переменных окружения или системах управления конфигурацией.
2. Проверяйте данные ответа
3. Ограничивайте частоту запросов
Соблюдайте ограничения скорости сторонних API, чтобы избежать блокировки.
4. Обезличивание журналов
При ведении журналов будьте внимательны к обезличиванию конфиденциальной информации (паролей, ключей и т.д.).
Сравнение с Webhook
Эти две функции дополняют друг друга, создавая комплексное решение для системной интеграции.

