Блок "API" подключает ваш воркфлоу к внешним сервисам через HTTP-запросы. Поддерживает методы GET, POST, PUT, DELETE и PATCH для взаимодействия с REST API.

Параметры конфигурации
URL
URL конечной точки для API-запроса. Это может быть:
- Статический URL, введенный непосредственно в блоке
- Динамический URL, подключенный из выходных данных другого блока
- URL с параметрами пути
Метод
Выберите HTTP-метод для вашего запроса:
- GET: Получение данных с сервера
- POST: Отправка данных на сервер для создания ресурса
- PUT: Обновление существующего ресурса на сервере
- DELETE: Удаление ресурса с сервера
- PATCH: Частичное обновление существующего ресурса
Параметры запроса
Определите пары ключ-значение, которые будут добавлены к URL как параметры запроса. Например:
Key: apiKey
Value: your_api_key_here
Key: limit
Value: 10Они будут добавлены к URL как ?apiKey=your_api_key_here&limit=10.
Заголовки
Настройте HTTP-заголовки для вашего запроса. Распространенные заголовки включают:
Key: Content-Type
Value: application/json
Key: Authorization
Value: Bearer your_token_hereТело запроса
Для методов, которые поддерживают тело запроса (POST, PUT, PATCH), вы можете определить данные для отправки. Тело может быть:
- JSON-данные, введенные непосредственно в блоке
- Данные, подключенные из выходных данных другого блока
- Динамически сгенерированные во время выполнения воркфлоу
Доступ к результатам
После завершения API-запроса вы можете получить доступ к его выходным данным:
<api.data>: Данные тела ответа от API<api.status>: HTTP-код состояния (200, 404, 500 и т.д.)<api.headers>: Заголовки ответа от сервера
Расширенные возможности
Динамическое построение URL
Создавайте URL динамически, используя переменные из предыдущих блоков:
// В блоке "Функция" перед API
const userId = <start.userId>;
const apiUrl = `https://api.example.com/users/${userId}/profile`;Повторные попытки запроса
Блок "API" поддерживает настраиваемые повторные попытки (см. Расширенные настройки блока):
- Повторные попытки: Количество попыток повторения (дополнительные попытки после первого запроса)
- Задержка повторной попытки (мс): Начальная задержка перед повторной попыткой (использует экспоненциальную отсрочку)
- Максимальная задержка повторной попытки (мс): Максимальная задержка между повторными попытками
- Повторять неидемпотентные методы: Разрешить повторные попытки для POST/PATCH (может создавать дублирующиеся запросы)
Повторные попытки предпринимаются для:
- Сбоев сети/соединения и таймаутов (с экспоненциальной отсрочкой)
- Ограничений скорости (429) и ошибок сервера (5xx)
Валидация ответа
Проверяйте API-ответы перед обработкой:
// В блоке "Функция" после API
if (<api.status> === 200) {
const data = <api.data>;
// Обработка успешного ответа
} else {
// Обработка ответа об ошибке
console.error(`API Error: ${<api.status>}`);
}Выходные данные
<api.data>: Данные тела ответа от API<api.status>: HTTP-код состояния<api.headers>: Заголовки ответа
Примеры использования
Получение данных профиля пользователя — Получение информации о пользователе из внешнего сервиса
Function (Build ID) → API (GET /users/{id}) → Function (Format) → ResponseОбработка платежей — Обработка платежа через Stripe API
Function (Validate) → API (Stripe) → Condition (Success) → Supabase (Update)Рекомендации
- Используйте переменные окружения для конфиденциальных данных: Не хардкодите API-ключи или учетные данные
- Обрабатывайте ошибки корректно: Подключайте логику обработки ошибок для неудачных запросов
- Проверяйте ответы: Проверяйте коды состояния и форматы ответов перед обработкой данных
- Соблюдайте лимиты скорости: Учитывайте лимиты скорости API и реализуйте соответствующее регулирование

