Pular para o conteúdo principal
O bloco API permite conectar seu fluxo de trabalho a serviços externos através de endpoints API utilizando requisições HTTP. Suporta vários métodos como GET, POST, PUT, DELETE e PATCH, permitindo interagir com praticamente qualquer endpoint API.
API

Visão geral

O bloco API permite:
1
Conectar com serviços externos: Realizar requisições HTTP a APIs REST e serviços web
2
Enviar e receber dados: Processar respostas e transformar dados de fontes externas
3
Integrar plataformas de terceiros: Conectar com serviços como Stripe, Slack ou APIs personalizadas
4
Gerenciar a autenticação: Suportar vários métodos de autenticação, incluindo tokens Bearer e chaves API

Como funciona

O bloco API processa as requisições HTTP através de uma abordagem estruturada:
  1. Configurar requisição - Estabelecer URL, método, cabeçalhos e parâmetros do corpo
  2. Executar requisição - Enviar requisição HTTP ao endpoint especificado
  3. Processar resposta - Gerenciar dados de resposta, códigos de status e cabeçalhos
  4. Gerenciamento de erros - Administrar tempos de espera, tentativas e condições de erro

Opções de configuração

URL

A URL do endpoint para a requisição API. Pode ser:
  • Uma URL estática inserida diretamente no bloco
  • Uma URL dinâmica conectada da saída de outro bloco
  • Uma URL com parâmetros de rota

Método

Selecione o método HTTP para sua requisição:
  • GET: Recuperar dados do servidor
  • POST: Enviar dados ao servidor para criar um recurso
  • PUT: Atualizar um recurso existente no servidor
  • DELETE: Excluir um recurso do servidor
  • PATCH: Atualizar parcialmente um recurso existente

Parâmetros de consulta

Defina pares chave-valor que serão adicionados à URL como parâmetros de consulta. Por exemplo:
Key: apiKey
Value: your_api_key_here

Key: limit
Value: 10
Estes seriam adicionados à URL como ?apiKey=your_api_key_here&limit=10.

Cabeçalhos

Configure os cabeçalhos HTTP para sua solicitação. Os cabeçalhos comuns incluem:
Key: Content-Type
Value: application/json

Key: Authorization
Value: Bearer your_token_here

Corpo da solicitação

Para métodos que suportam um corpo de solicitação (POST, PUT, PATCH), você pode definir os dados a enviar. O corpo pode ser:
  • Dados JSON inseridos diretamente no bloco
  • Dados conectados da saída de outro bloco
  • Gerados dinamicamente durante a execução do fluxo de trabalho

Acesso aos resultados

Depois de completar uma solicitação API, você pode acessar suas saídas:
  • <api.data>: Os dados do corpo de resposta da API
  • <api.status>: Código de status HTTP (200, 404, 500, etc.)
  • <api.headers>: Cabeçalhos de resposta do servidor
  • <api.error>: Detalhes do erro se a solicitação falhou

Funcionalidades avançadas

Construção dinâmica de URL

Construa URLs dinamicamente usando variáveis de blocos anteriores:
// In a Function block before the API
const userId = <start.userId>;
const apiUrl = `https://api.example.com/users/${userId}/profile`;

Tentativas de solicitação

O bloco API gerencia automaticamente:
  • Tempos de espera de rede com backoff exponencial
  • Respostas de limite de taxa (códigos de status 429)
  • Erros do servidor (códigos de status 5xx) com lógica de tentativa
  • Falhas de conexão com tentativas de reconexão

Validação de resposta

Valide as respostas da API antes de processá-las:
// In a Function block after the API
if (<api.status> === 200) {
  const data = <api.data>;
  // Process successful response
} else {
  // Handle error response
  console.error(`API Error: ${<api.status>}`);
}

Entradas e saídas

  • Tab Title
  • Tab Title
  • Tab Title
  • URL: O endpoint para o qual enviar a solicitação
  • Method: Método HTTP (GET, POST, PUT, DELETE, PATCH)
  • Query Parameters: Pares chave-valor para parâmetros de URL
  • Headers: Cabeçalhos HTTP para autenticação e tipo de conteúdo
  • Body: Carga de solicitação para métodos POST/PUT/PATCH

Exemplos de casos de uso

Obter dados de perfil de usuário

Cenário: Recuperar informações de usuário de um serviço externo

  1. O bloco de função constrói o ID de usuário da entrada
  2. O bloco API chama o endpoint GET /users/{id}
  3. O bloco de função processa e formata os dados do usuário
  4. O bloco de resposta retorna o perfil formatado

Processamento de pagamentos

Cenário: Processar pagamento através da API do Stripe

  1. O bloco de função valida os dados de pagamento
  2. O bloco API cria a intenção de pagamento através do Stripe
  3. O bloco de condição gerencia o sucesso/falha do pagamento
  4. O bloco Supabase atualiza o status do pedido no banco de dados

Melhores práticas

  • Use variáveis de ambiente para dados sensíveis: Não codifique diretamente chaves API ou credenciais
  • Lide com erros elegantemente: Conecte lógica de tratamento de erros para solicitações falhadas
  • Valide as respostas: Verifique os códigos de status e formatos de resposta antes de processar dados
  • Respeite os limites de taxa: Considere os limites de taxa da API e implemente a limitação apropriada