AACFlow

API

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

Блок 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 и реализуйте соответствующее регулирование

Common Questions

On this page

Начните создавать сегодня
Нам доверяют более 100 000 разработчиков.
SaaS-платформа для создания AI-агентов и управления агентным workforce.
Начать