Skip to main content
Esta página faz parte de uma habilidade de agente de código IA e é escrita para agentes, não para humanos. Para a documentação legível por humanos da Base44, veja a documentação para desenvolvedores.

Criando Funções

As funções Base44 são funções de backend serverless que rodam no Deno. Elas são definidas localmente no seu projeto e implantadas no backend Base44.

Diretório de funções

Todas as definições de função devem ser colocadas na pasta base44/functions/ no seu projeto. A função mais simples é uma pasta com um arquivo entry.ts ou entry.js dentro dela. Estrutura de exemplo:

Como criar uma função

  1. Crie um novo diretório em base44/functions/ com o nome da sua função (use kebab-case)
  2. Crie entry.ts (ou entry.js) nesse diretório
  3. Implante a função usando a CLI

Descoberta de funções

A CLI descobre funções a partir de arquivos entry.ts ou entry.js. Uma pasta que contém um desses arquivos é uma função:
O nome da função é o caminho da raiz de funções até essa pasta. Por exemplo: Regras:
  • entry.ts ou entry.js deve estar dentro de uma subpasta nomeada, não diretamente em base44/functions/
  • todos os arquivos *.js, *.ts e *.json sob a pasta da função são incluídos ao implantar
  • caminhos de função com um ponto em qualquer segmento de caminho são ignorados

Arquivo de ponto de entrada

As funções rodam no Deno e devem exportar usando Deno.serve(). Use o prefixo npm: para pacotes npm.

Objeto Request

A função recebe um objeto Request padrão do Deno:
  • req.json() - Analisa o corpo JSON
  • req.text() - Obtém o corpo de texto bruto
  • req.headers - Acessa cabeçalhos da solicitação
  • req.method - Método HTTP

Objeto Response

Retorne usando Response.json() para respostas JSON:

Exemplo completo

Estrutura de diretórios

entry.ts

Usando acesso Service Role

Para operações em nível de administrador, use asServiceRole:

Usando segredos

Acesse variáveis de ambiente configuradas no painel do aplicativo:

Convenções de nomenclatura

  • Nome do diretório: Use kebab-case (por exemplo, process-order, send-notification)
  • Nome da função: Vem do caminho do diretório em base44/functions/
    • Válido: process-order, orders/process, send_notification, myFunction
    • Inválido: process.order, send.notification.v2
  • Arquivo de entrada: Use entry.ts ou entry.js

Implantando funções

Depois de criar sua função, implante-a na Base44:
Para mais detalhes sobre implantação, veja functions-deploy.md.

Notas

  • As funções rodam no runtime Deno, não no Node.js
  • Use o prefixo npm: para pacotes npm (por exemplo, npm:@base44/sdk)
  • Use createClientFromRequest(req) para obter um cliente que herda o contexto de autenticação do chamador
  • Configure segredos pelo painel do aplicativo para chaves de API
  • Certifique-se de tratar erros graciosamente e retornar códigos de status HTTP apropriados

Erros comuns

Esta página foi traduzida usando IA. Para informações mais precisas e atualizadas, consulte a versão em inglês.