Skip to main content
Esta página es parte de una habilidad de agente de codificación con IA y está escrita para agentes, no para humanos. Para la documentación de Base44 legible por humanos, consulta la documentación para desarrolladores.

Crear funciones

Las funciones de Base44 son funciones de backend sin servidor que se ejecutan en Deno. Se definen localmente en tu proyecto y se despliegan al backend de Base44.

Directorio de funciones

Todas las definiciones de funciones deben colocarse en la carpeta base44/functions/ en tu proyecto. La función más simple es una carpeta con un archivo entry.ts o entry.js dentro. Estructura de ejemplo:

Cómo crear una función

  1. Crea un nuevo directorio en base44/functions/ con el nombre de tu función (usa kebab-case)
  2. Crea entry.ts (o entry.js) en ese directorio
  3. Despliega la función usando la CLI

Descubrimiento de funciones

La CLI descubre funciones desde los archivos entry.ts o entry.js. Una carpeta que contiene uno de esos archivos es una función:
El nombre de la función es la ruta desde la raíz de funciones hasta esa carpeta. Por ejemplo: Reglas:
  • entry.ts o entry.js deben estar dentro de una subcarpeta con nombre, no directamente en base44/functions/
  • todos los archivos *.js, *.ts y *.json bajo la carpeta de función se incluyen al desplegar
  • las rutas de función con un punto en cualquier segmento de ruta se ignoran

Archivo de punto de entrada

Las funciones se ejecutan en Deno y deben exportar usando Deno.serve(). Usa el prefijo npm: para paquetes npm.

Objeto Request

La función recibe un objeto Request estándar de Deno:
  • req.json() - Analiza el cuerpo JSON
  • req.text() - Obtiene el cuerpo de texto sin procesar
  • req.headers - Accede a las cabeceras de la solicitud
  • req.method - Método HTTP

Objeto Response

Devuelve usando Response.json() para respuestas JSON:

Ejemplo completo

Estructura de directorios

entry.ts

Usar acceso de rol de servicio

Para operaciones de nivel administrador, usa asServiceRole:

Usar secretos

Accede a las variables de entorno configuradas en el panel de la app:

Convenciones de nomenclatura

  • Nombre del directorio: Usa kebab-case (por ejemplo, process-order, send-notification)
  • Nombre de función: Proviene de la ruta del directorio bajo base44/functions/
    • Válido: process-order, orders/process, send_notification, myFunction
    • Inválido: process.order, send.notification.v2
  • Archivo de entrada: Usa entry.ts o entry.js

Desplegar funciones

Después de crear tu función, despliégala a Base44:
Para más detalles sobre el despliegue, consulta functions-deploy.md.

Notas

  • Las funciones se ejecutan en el runtime de Deno, no en Node.js
  • Usa el prefijo npm: para paquetes npm (por ejemplo, npm:@base44/sdk)
  • Usa createClientFromRequest(req) para obtener un cliente que hereda el contexto de autenticación del llamante
  • Configura secretos mediante el panel de la app para claves API
  • Asegúrate de manejar errores con elegancia y devolver códigos de estado HTTP apropiados

Errores comunes

Esta página fue traducida usando IA. Para obtener la información más precisa y actualizada, consulta la versión en inglés.